• # Regexp

    Posté par . En réponse au message Spam sur @free.fr. Évalué à 4.

    Je suis en auto-hébergement donc c'est certainement plus facile à configurer dans ce cadre mais il doit certainement être possible de faire ce genre de choses coté client avec des extensions du client mail ou d'autres utilitaires, si d'autres ont des outils à mettre en avant je suis également très intéressé par vos retours.

    Grosso modo voilà ma méthode :

    Un spamassassin bien configuré, quelques RBLs et surtout une analyse du domaine utilisé par le serveur pour se présenter :
    - Si il n'en fournit pas (simple adresse IP) -> Rejet
    - Si l'enregistrement DNS ne correspond pas -> Rejet
    - Vérification des champs SPF, DKIM -> sinon rejet (aussi si ils manquent car on est en 2024 ça ne fait vraiment pas sérieux)
    - Si il passe tous ces filtres j'ai ma petite liste supplémentaire avec une expression régulière sous la forme

    /^Received:.*from.*(\.xyz|\.abc|...)/
    

    où je stocke tous les noms qui ont pu franchir les autres filtres.

    Ça peut paraître une mauvaise idée de base, un peu comme essayer de vider l'océan à la petite cuillère mais cela oblige le pourrielleur à se payer un nouveau nom de domaine pour recontacter le serveur.
    Je ne me prive pas de bloquer quelques TLDs très problématiques du type .top .shop .email et ce genre de conneries, jamais ceux d'un pays bien entendu, là je me limite aux sous domaines.

    Au final ce système est en place depuis près de 20 ans, j'ai toujours un spam qui passe le filtre de temps en temps, à une fréquence de 1 tous les X mois maintenant. Quand c'est le cas, le domaine vient compléter l'expression régulière.
    Elle compte actuellement 68 "|" et 889 caractères, ça tient sur 5 lignes dans mon vim donc rien de dingue pour quelque chose qui est alimenté depuis si longtemps.