Et vous, comment vous bloquez le spam « propre » ?

spamContre le spam, j’utilise tout l’arsenal de greylisting, quelques listes RBL, les outils tels spamassassin agrémenté de filtre plus avancés (je regrette feu l’outil SARE qu’il ne faut plus utiliser maintenant).
Côté RBL, je ne trouve pas mon bonheur complet, soit trop violent dans le blocage, soit pas assez.

Bilan, ceux que j’appelle les spammeurs propres continuent de me polluer (pas beaucoup, mais un peu quand même), surtout sur des adresses visibles que j’héberge et qu’on peut retrouver par exemple sur les pages jaunes. C’est bien du spam puisque le destinataire n’a rien demandé.

Ces spammeurs sont « propres » en ce sens où ce sont des sociétés bien définies, dont le métier est de faire chier par e-mail et de ramasser le pognon en promettant aux clients des campagnes ultra-larges, avec des batteries parfois impressionnantes de serveurs.
Ca ruse à tout va pour éviter d’être blacklisté :

  • avoir des plages d’IP disparates
  • utiliser des noms des serveurs plus ou moins variables

Tout ça à mon avis pour qu’on évite de blacklister trop facilement des noms ou des plages d’IP.
Contre ça, j’en suis venu à simplement me semi-automatiser des traitements pour récupérer au maximum toutes les IP de ces rigolos.

Alors on trouve :

  • parfois du srvXX.grosspammeurpropre.com, avec XX allant de 1 à 1000,
  • on a ceux qui ont préféré noyer le poisson en ayant des domaines (et pas sous-domaines) différents : abc1.com, abc2.com etc
  • les gros porcs louant à l’arrache un serveur bon marché (merci OVH, vous etes forts mais vous acceptez vraiment trop n’importe qui, résultat votre turn-over de location vous coince. Bon maintenant je vous ai quitté du coup… dommage
  • Et des gens raisonnables qui utilisent des noms type srv1.supermailer.com srv2.supermailer.com

J’en suis venu, lorsque je reçois un mail d’un serveur propre (admettons toto.com, dont l’IP est a.b.c.d), à tenter tout ça :

  • tester toute la plage d’IP où il traîne : for i in `seq 254`; do host a.b.c.$i ; done ; suivant ce qu’on y voit, je bloque tout ou partie de la plage. Sans hésitation lorsque c’est une plage chinoise, polonaise etc (sans racisme aucun, sauf informatique), ou plus finement si je vois qu’il peut y avoir des expéditeurs légitimes pas loin, qui pourraient avoir à me contacter (j’ai vu comme ça certaines grosses boîtes louer un serveur pourri à une « société de spam propre » pour déléguer leur spam… bravo les admins en carton
  • Contre ceux qui ont des noms qui se suivent, on tentera de tous les choper avec une boucle genre for i in `seq 1 50`; do host srv${i}.supermail.com`; done puis de voir comment bloquer leurs IP
  • Et récemment, je viens de penser à contrôler l’enregistrement SPF du serveur (lorsque son nom est fixe), car on y trouve quelques fois avec bonheur l’intégralité des IP utilisées, justement puisqu’ils sont « propres » et donc font tout pour être le moins vu comme spammeur. Quoique de mieux qu’un champ ipv4:a.b.c.d/27 qui te dit exactement qui bloquer 😀
    Pour ce faire un bon host -t TXT toto.com

Bon, pourquoi je vous raconte ça ? Bah, la liste obtenue et mise à jour régulièrement est téléchargeable ici, si ça vous branche : http://michauko.org/blacklist
Reste à faire un wget et un reload de shorewall, par exemple – une fois par jour ou par semaine, ce sera laaargement suffisant.
Attention, ce qu’elle contient ne vient que de mes propres réflexions, je bloque peut-être à tord du monde. Il m’arrive d’en enlever parfois (enfin c’est rare). J’ai commenté en général d’où ça sort.
Le début du fichier contient parfois un tas d’IP unitaires, c’était avant que je ne pense à trouver les plages d’IP grâce aux enregistrement SPF ; j’arrangerai au fil du temps, certainement.

edit 2013-10-14 :
J’oublias, un truc pour repérer les gros lourds dans les logs de connexion mail, à faire tourner une fois par semaine :
grep "LOGIN FAILED" /var/log/mail.info.1 | awk -F ':' '{print $7}' | tr -d ']' | uniq -c | mutt -s "login failed mail a controler" mon@email.fr

Et aussi :
grep "SASL LOGIN authentication failed" /var/log/mail.info.1 | awk -F '[' '{print $3}' | awk -F ']' '{print $1'} | uniq -c | mutt -s "sasl auth. failed a controler" mon@email.fr
Et vous obtiendrez un rapide décompte des gens les plus bourrins à tester des dictionnaires. Je me poste ça via crontab le lundi matin et je vire les plages des gens qui dépassent les quelques unités de tentatives ratées.
C’est bricolé, j’en conviens, un fail2ban serait plus intéressant sûrement

tcho

Cet article Et vous, comment vous bloquez le spam « propre » ? est apparu en premier sur Le blog de Michauko.

Vus : 2403
Publié par Michauko : 64