• # Solution

    Posté par . En réponse au message Postfix : limiter le nombre d'adresse mail source par adresse IP. Évalué à 0.

    Au cas où quelqu'un passerait dans le coin et trouverait cette entrée du forum, voici la solution que j'ai finalement retenue.

    Comme je n'ai pas trouvé de mécanisme dans postfix pour limiter le nombre de connexions par IP, j'ai regardé du côté de Netfilter et c'est là que j'ai trouvé mon bonheur, à savoir le module ipt_recent.

    Ce module me permet de compter le nombre d'établissement de session dans la table conntrack, et d'activer une règle si une même adresse IP la déclenche un certain nombre de fois dans un intervalle donné.

    Voici donc l'ensemble de règles que j'ai appliquées :

    iptables -t nat -A PREROUTING -p tcp -d \! 1.2.3.4 --dport 25 -m state --state NEW -m recent --name spammer --update --seconds 10 --hitcount 3 -j DROP
    iptables -t nat -A PREROUTING -p tcp -d \! 1.2.3.4 --dport 25 -m state --state NEW -m recent --name spammer --set
    iptables -t nat -A PREROUTING -p tcp -d \! 1.2.3.4 --dport 25 -j REDIRECT
    

    Traduction : - je jette tous les paquets initiant une connexion vers le port 25 d'une machine autre que mon serveur, si l'adresse source a initié plus de 3 connexions en 10 secondes (compteur "spammer") - toutes les nouvelles connexions vers le port 25 à destination d'une IP autre que le serveur incrémentent le compteur "spammer" - les paquets vers le port 25 sont redirigés vers le Postfix en local, qui appliquera maintenant tranquillement le filtre anti-spam sans être surchargé.

    Merci à tous pour les suggestions.