Le blogouille de Caro et Nico

Entre famille, sport et aventures !

Postfix : reject specific source domains

Edit the postfix main.cf configuration file to add a rejection on sender source :

smtpd_sender_restrictions = pcre:/etc/postfix/rejected_domains

Create the rejected_domains file, enter proper filtering like :

/facture.info$/ PERMIT specific sender from @facture.info
/\.info$/   REJECT All info other info domains are rejected

Compile the file into a database with postmap command :

postmap rejected_domains

This will update/create the postmap rejected_domains.db

Reload the postfix configuration

service postfix reload

Mise en place du DKIM

DKIM (DomainKeys Identified Mail) permet de protéger le nom de domaine au niveau des mails pour éviter qu’une autre personne en usurpe l’identité. Il faut plusieurs composants pour que cela fonctionne :

Installer opendkim et le configurer avec postfix. Attention sur le package debian il y a une certaine confusion sur le port de socket d’écoute entre 8891 et8892 dans les fichiers de config. Tout doit pointer vers le 8891.

Vérifier le tout dans un email de trafic de test de base que postfix arrive bien à communiquer avec opendkim et que tout circule. Bonus : les emails entrants bénéficient maintenant de vérification DKIM à leur tour.

Générer la clef de sécurité DKIM et l’intégrer aux records DNS domaine. Attention la clef étant assez grande (2048 bits) certaines interfaces de contrôle des DNS ont du mal à accepter une telle chaine. On peut passer en TXT / mode brut et éditer, sinon maintenant l’interface de OVH gère correctement l’insertion de de la chaine DKIM.

Ensuite on peut tester immédiatement avec un outils comme https://dkimvalidator.com/ si cela fonctionne. L’outils ne met pas en cache le DNS, donc dès que la modification est faîte on peut envoyer un mail signé. L’outils fournit pas mal de renseignements, en particulier si le mail est bien signé, si la signature publique est bien lisible dans le DNS (et quelle signature/record il tente de chercher) et enfin si la signature match. Bonus : on peut voir une analyse SpamAssassin de cet email et voir si des ajustements sont nécessaires.

Ensuite il faut ajuster le record DNS progressivement, en vérifiant bien l’impact sur le trafic de mails, ainsi que les reports DMARC des principales plateforme. Il y a plusieurs outils de tests sympa pour vérifier le handshake end-to-end, en envoyant un test de mail qui passe toute la chaîne de sécurité, avec vérification antispam complète, SPF, DKIM et spamassassin. Faire monter progressivement le niveau de policy du DKIM, de test vers prod, puis renforcer la policy vers QUARANTAINE, puis quelques jours plus tard vers REJECT.

En surveillant les rapports DMARC j’ai pu noter que le nombre de tentatives de spoofing a baissé, voir passé à zéro sous quelques semaines. Rudement efficace la policy reject !

Aliases pour Postfix

Pour créer des alias pour postfix (liste de distribution)

Editer le fichier

/etc/aliases

Ajouter les alias sous le format :

nomalias:abcdef@ereoeri.com, defgrer@erer.com, ererieri@ererr

(le dernier email ne contient pas de virgule de séparation, possibilité aussi de les mettres sur plusieurs lignes)

Et ensuite compiler la base aliases.db avec la commande (root) :

newaliases