Publié le: 2013-08-06

Liste noire (domaine/adresse)

Postfix permet de faire énormément de vérifications sur l’émetteur et le récepteur. Nous allons voir ici comment blacklister proprement une adresse mail en utilisant une map postfix.

Créez un fichier /etc/postfix/sender_access et insérez le contenu suivant:

spam@beautifulhorses.co.uk REJECT
spammonster.fr REJECT
unix-experience.fr OK

La syntaxe de ce fichier est la suivante:

<adresse|domaine> <action>

Dans le cas présent nous rejetons la première adresse ainsi que le domaine spammonster.fr. En revanche le domaine unix-experience.fr est autorisé.

Compilez ensuite la map:

postmap /etc/postfix/sender_access

Appliquons maintenant notre map. Elle sera ici appliquée sur notre relai de mails et donc sur le processus smtp de postfix. Ouvrez le fichier /etc/postfix/master.cf et éditez la ligne associée au processus smtp:

smtp      inet  n       -       -       -       -       smtpd
  -o smtpd_sender_restrictions=check_sender_access,hash:/etc/postfix/sender_access

Redémarrez ensuite le service postfix.

Lorsque le domaine sera bloqué vous devriez voir le message suivant dans vos logs:

Sender address rejected: Access denied

Si aucun domaine ne correspond à la map générée, postfix passera le mail au filtre suivant. Dans l’exemple ci-dessus il n’y en a pas, les mails seront donc acceptés.

Conclusion

Vous savez désormais comment bloquer un nom de domaine ou une adresse précise sur vos relais SMTP. Cette configuration est à prendre avec des pincettes car elle n’exclut pas de potentiels faux positifs mais elle offre une méthode rapide et efficace afin de rejeter rapidement un comportement indésirable.

N’hésitez pas à utiliser un antispam de type spamassassin couplé à cette solution ainsi que du greylisting afin de pouvoir contrer le SPAM.