Postgrey est un outil open source qui permet de filtrer les courriers indésirables en utilisant une méthode appelée greylisting. Cette méthode repose sur le principe que les serveurs de courrier légitimes réessayeront d’envoyer leur courrier après un certain temps, alors que les serveurs de spam ne le feront pas. En retardant les connexions initiales de courrier électronique, Postgrey peut aider à réduire le nombre de courriers indésirables qui arrivent dans votre boîte de réception.
Cependant, le filtrage basé sur le greylisting seul ne peut pas garantir une protection complète contre les courriers indésirables. Les spammeurs peuvent utiliser des techniques sophistiquées pour contourner ce filtre et envoyer leur courrier indésirable. C’est pourquoi l’utilisation d’autres techniques de filtrage telles que les listes noires de serveurs DNS (DNSBL) est recommandée pour renforcer la sécurité du courrier électronique.
Dans cet article, nous allons expliquer comment installer Postgrey sur Debian et le configurer avec Postfix pour un filtrage efficace des courriers indésirables en utilisant également les listes noires DNS.
Installation de Postgrey
La première étape consiste à installer Postgrey sur votre système Debian. Vous pouvez le faire en utilisant la commande apt-get suivante :
sudo apt-get update
sudo apt-get install postgrey
Configuration de Postfix pour utiliser Postgrey et les DNSBL
Une fois que vous avez installé Postgrey, vous devez le configurer avec Postfix pour qu’il puisse être utilisé pour filtrer les courriers indésirables, en ajoutant également la vérification des DNSBL. Pour ce faire, vous devez modifier le fichier de configuration de Postfix.
sudo nano /etc/postfix/main.cf
Ajoutez les lignes suivantes à la fin du fichier :
smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10023, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client dnsbl.sorbs.net
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, permit
La première ligne indique à Postfix d’utiliser Postgrey et de vérifier les DNSBL pour le filtrage des courriers indésirables. Les listes noires de serveurs DNS utilisées ici sont Spamhaus, SpamCop et SORBS. La deuxième ligne ajoute une pause supplémentaire lors du rejet des connexions de courrier électronique, ce qui est important pour permettre à Postgrey de fonctionner efficacement. Les deux dernières lignes spécifient les restrictions de HELO pour les connexions de courrier entrantes.
Sauvegardez et fermez le fichier de configuration en utilisant les touches CTRL+X, Y, puis Entrée.
Configuration de Postgrey
La configuration de Postgrey est stockée dans le fichier /etc/default/postgrey. Ouvrez ce fichier en utilisant la commande suivante :
sudo nano /etc/default/postgrey
Trouvez la ligne suivante :
POSTGREY_OPTS="--inet=127.0.0.1:10023"
Commentez cette ligne en ajoutant un # au début, puis ajoutez la ligne suivante en dessous :
POSTGREY_OPTS="--inet=127.0.0.1:10023 --delay=300 --max-age=35d"
Cela spécifie que Postgrey doit écouter sur l’adresse IP locale 127.0.0.1 et le port 10023. La pause de 300 secondes est ajoutée pour s’assurer que les serveurs de courrier légitimes ont le temps de réessayer. La valeur 35d pour max-age spécifie la durée maximale pendant laquelle les entrées de liste blanche sont conservées.
Sauvegardez et fermez le fichier de configuration en utilisant les touches CTRL+X, Y, puis Entrée.
Configuration des listes noires DNSBL
Les listes noires de serveurs DNSBL utilisées dans ce guide sont Spamhaus, SpamCop et SORBS. Vous pouvez également utiliser d’autres listes noires en fonction de vos besoins.
Pour configurer les listes noires, vous devez modifier le fichier de configuration de Postfix.
sudo nano /etc/postfix/main.cf
Trouvez la ligne suivante :
smtpd_client_restrictions = permit_mynetworks, reject_unauth_destination
Ajoutez les lignes suivantes sous cette ligne :
smtpd_helo_restrictions = reject_invalid_helo_hostname
smtpd_sender_restrictions = reject_unknown_sender_domain
Ces lignes spécifient les restrictions de HELO et d’expéditeur pour les connexions de courrier électronique entrantes.
Sauvegardez et fermez le fichier de configuration en utilisant les touches CTRL+X, Y, puis Entrée.
Redémarrage des services
Après avoir modifié les fichiers de configuration, vous devez redémarrer les services pour que les modifications prennent effet. Vous pouvez le faire en utilisant les commandes suivantes :
sudo systemctl restart postfix
sudo systemctl restart postgrey
Cela redémarrera les services Postfix et Postgrey pour appliquer les modifications que vous avez apportées.
Test du fonctionnement de Postgrey et des DNSBL
Pour vérifier que Postgrey et les DNSBL fonctionnent correctement, vous pouvez envoyer un courrier électronique à partir d’une adresse qui est sur l’une des listes noires DNSBL utilisées. Vous devriez voir dans les logs de Postfix que le courrier est rejeté.
Pour afficher les logs de Postfix, utilisez la commande suivante :
sudo tail -f /var/log/mail.log | grep postfix
Cela affichera les entrées de journalisation de Postfix dans la console.
Conclusion
Dans cet article, nous avons expliqué comment installer et configurer Postgrey sur Debian avec Postfix pour un filtrage efficace des courriers indésirables en utilisant également les listes noires de serveurs DNS (DNSBL). L’utilisation de DNSBL en combinaison avec Postgrey permet de renforcer la sécurité du courrier électronique et de réduire considérablement le nombre de courriers indésirables qui arrivent dans votre boîte de réception. En suivant les étapes décrites ici, vous pouvez mettre en place un système de filtrage de courrier électronique robuste et sécurisé.