vendredi, novembre 08, 2024
Nom d'utilisateur : Mot de passe :
Home > Dossiers > Administration système > Protéger son serveur Postfix de bots
[NEWS]
Envoyé par unreal
Cela faisait longtemps, mais force de constater que les bots chercheurs d'open relay sont de retour. Voici ce que je découvre dans mes logs ce matin :

# grep "Relay access denied" /var/log/maillog | wc -l
24708


Il va falloir donc faire quelque chose.

Paramétrage du firewall

Heureusement pour moi, Packet Filter dispose d'options utiles pour se protéger contre ce genre de bots. Nous allons le configurer pour bannir les IP faisant trop de connexions au serveur SMTP :

pf.conf
# SMTP open relay bots
block drop in quick on $ethif0 from <smtp-bruteforce>
pass in on $ethif0 proto tcp from any to any port smtp flags S/SA keep state (max-src-conn-rate 3/60, overload <smtp-bruteforce> flush global)


PF va donc surveiller le port 25, et si trois nouvelles connexions sont détectées en moins de 60 secondes, l'IP sera ajoutée dans la table smtp-bruteforce.

Pour éviter que les IP restent bloquées jusqu'au redémarrage de PF, on rajoute un crontab. Ici, la durée de ban est fixée à 12h.

Versions récentes de PF (FreeBSD >= 7.0) :
*/5 * * * *             /sbin/pfctl -t smtp-bruteforce -T expire 43200 2>/dev/null


Versions plus anciennes de PF (il faut installer expiretable) :
*/5 * * * *             /usr/local/sbin/expiretable -t 43200 smtp-bruteforce



Configuration Postfix

Postfix est trop clément avec les spammeurs et autres réseaux de bots dans sa configuration par défaut. Il est donc intéressant de modifier smtpd_hard_error_limit pour améliorer la détection par PF. En effet, beaucoup de bots n'ouvrent qu'une seule connexion TCP et exploitent la clémence de Postfix pour faire un grand nombre d'essais. Réduire la limite du nombre d'échecs par connexion va forcer les bots à ouvrir plusieurs connexions, et ainsi déclencher le blocage au niveau du firewall.

# antibots
smtpd_hard_error_limit = 5


Posté le 14/05/10 à 12:22