Installer postgrey pour postfix

Pour faire à [l’installation d’un serveur de messagerie|/post/2010/10/07/Installer-un-serveur-de-mail-complet], je vous propose d’installer un outil antispam performant : postgrey.

Comment marche postgrey ?

Fonctionnement

Le fonctionnement est assez simple. Chaque fois que votre serveur reçoit un mail, il en extrait le triplon adresse ip de l’expéditeur/adresse mail de l’expéditeur/adresse mail du destinataire. Si ce triplon n’a jamais été rencontré auparavant, on le stocke dans une base de données, et on rejette temporairement ce mail (code erreur 451), pendant X minutes. Du coup, le serveur qui l’a envoyé reçoit le message d’erreur, comprend (normalement) que c’est une erreur temporaire, et tente de délivrer de nouveau le message quelques minutes plus tard.
Si en revanche le triplon a déjà été rencontré auparavant, le mail est tout simplement délivré immédiatement.

Mais en quoi est-ce important pour le spam ?

La plupart des serveurs qui envoient du spam ne gèrent pas les codes retours. Ils envoient tellement de mails qu’ils ne peuvent pas gérer ce genre d’erreurs. Par conséquent, ils reçoivent (peut être) l’erreur 451, mais ne tenteront jamais de renvoyer le message. Du coup, ce message part simplement aux oubliettes…

Y a-t-il des inconvénients ou dangers ?

L’inconvénient majeur de cette solution, c’est quand quelqu’un vous envoie un mail pour la première fois, il peut mettre plusieurs minutes à arriver. Cela est très frustrant quand on attend une information urgente.
Un autre danger, mais rarissime, est que le serveur qui vous envoie des mails soit mal configuré, et ne gère pas les erreurs temporaires. C’est très rare et cela ne devrait pas arriver. Si c’était le cas… les mails seraient perdus.

Peut-on paramétrer des "white lists" ?

Une whitelist est une liste (d’expéditeurs ou de destinataires) qui ne sont pas filtrés par postgrey. Cela permet d’éviter un délai d’attente ou des erreurs. Par défaut, il existe deux fichiers : /etc/postgrey/whitelist_clients dans lequel on va mettre les expéditeurs/domaines que l’on ne veut pas filtrer, et /etc/postgres/whitelist_recipients qui va contenir les destinataires pour lesquels on ne veut aucun filtrage. Ces deux fichiers sont remplis par défaut lors de l’installation, mais vous pouvez bien sur les modifier à la demande

Justement, parlons en de l’installation ?

Sous un système ubuntu/debian, cela se fait en quelques étapes :

sudo apt-get install postgrey

Puis, il faut éditer le fichier /etc/postfix/main.cf pour dire à postfix d’utiliser postgrey, en rajoutant ces lignes


smtpd_recipient_restrictions = permit_mynetworks,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:10023

(le port par défaut de postgrey est défini dans le fichier /etc/default/postgrey) Vous pouvez ensuite redémarrer postfix et postgrey

sudo /etc/init.d/postgrey start
sudo postfix stop
sudo postfix start

That's all folks ! Vous avez maintenant une première barrière anti spam très efficace, et si vous avez mis en place spamassassin comme indiqué dans le billet précédent, votre niveau de spam reçu devrait avoisiner le zéro...

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.