Publié le: 2013-08-06

Blacklist domain/address

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.