Paramètres optimaux définis pour Postfix «smtpd_recipient_restrictions»

8

nous avons hérité du DNS d'un autre FAI et maintenant notre serveur de messagerie est bombardé par environ 1000 e-mails par minute, 99,99% de ces e-mails ne sont que du spam. Nous essayons d'optimiser le filtrage / rejet du spam sans beaucoup de chance.

Quel serait selon vous l'ensemble optimal smtpd_recipient_restrictions?

La configuration du système: Ubuntu + Amavis + Postfix + MySQL + Fail2Ban-Postfix

Tout conseil est le bienvenu!

UDPATE, 2012-08-08

Lors de la modification de la configuration posftix en tant que suivis et de la configuration du service Potrgey, le niveau de spam a diminué 10 fois

smtpd_recipient_restrictions = 
permit_mynetworks, 
permit_sasl_authenticated, 
reject_non_fqdn_hostname, 
reject_invalid_hostname, 
reject_non_fqdn_sender, 
reject_unknown_sender_domain, 
reject_non_fqdn_recipient, 
reject_unknown_recipient_domain, 
check_policy_service inet:127.0.0.1:10023, 
reject_rbl_client zen.spamhaus.org, 
check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
reject_unauth_pipelining, 
reject_unauth_destination

entrez la description de l'image ici

Igor
la source
1
Je veux acheter ce domaine! Veuillez placer une offre.
mailq
Qu'essayez-vous de résoudre? Quel est votre problème? Vous dites seulement que vous rejetez le spam. Mais ce n'est pas un problème. Ceci est une solution.
mailq
@mailq: pas moyen je suis désolé
Igor
@mailq: l'idée est de rejeter le spam plus efficacement, de réduire les charges du système
Igor

Réponses:

6

Votre ordre de règles est très mauvais. Si vous souhaitez les conserver tous et ne rien ajouter d'autre, la commande doit être:

smtpd_recipient_restrictions = 
permit_mynetworks, 
permit_sasl_authenticated, 
reject_unauth_pipelining, 
reject_invalid_hostname, 
reject_non_fqdn_sender, 
reject_unknown_sender_domain, 
reject_unauth_destination, 
reject_unknown_recipient_domain, 
reject_rbl_client zen.spamhaus.org,
check_recipient_access proxy:mysql:/etc/postfix/mysql-virtual_recipient.cf, 
reject_non_fqdn_recipient

Et si cela ne suffit toujours pas, lisez-le postscreendans http://www.postfix.org/POSTSCREEN_README.html .

mailq
la source
désolé mais la commande est-elle importante ou non? dans un sens, postfix vérifie d'abord "permit_mynetworks" et enfin "rejette_non_fqdn_recipient".
Igor
1
Définitivement! L'ordre est important. De gauche à droite (ou de haut en bas). Comme décrit dans postfix.org/SMTPD_ACCESS_README.html
mailq
5

Je suggérerais une smtpd_recipient_restriction semblable à ce qui suit:

smtpd_recipient_restricdtions = 
# Whitelisting or blacklisting:
check_recipient_access proxy:mysql:/etc/postfix/mysql-virtual_recipient.cf,
# Everyone should play after rules:
reject_non_fqdn_recipient,
reject_non_fqdn_sender,
reject_unknown_recipient_domain,
reject_unknown_sender_domain,
reject_unauth_pipelining,
# Mails from your users:
permit_mynetworks,
permit_sasl_authenticated,
# This will block mails from domains with no reverse DNS record. Will affect both spam and ham mails, but mostly spam. 
reject_unknown_reverse_client_hostname,
# Instead of reject_unknown_reverse_client_hostname you can also use reject_unknown_client_hostname, which is an even harder rule. 
# Reject ugly HELO/EHLO-hostnames (could also affect regular mails):
reject_non_fqdn_hostname,
reject_invalid_helo_hostname,
# Reject everything you're not responsible for:
reject_unauth_destination,
# Only take mails for existing accounts:
reject_unverified_recipient,
# DNS lookups are "expensive", therefore should be at bottom
reject_rbl_client zen.spamhaus.org

Des informations détaillées sur smtpd_recipient_restrictions peuvent être trouvées ici: http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions

Peut-être que vous souhaitez également utiliser postgrey , postscreen , postfwd ou un autre démon de stratégie .

Et vérifiez également que vous utilisez votre amavisd-new en mode pré-file d'attente.

sebokopter
la source
C'est mauvais. La deuxième ligne bloque le courrier pour tout destinataire sortant. Vous n'êtes donc pas en mesure d'envoyer des e-mails de votre serveur vers le monde extérieur. Les requêtes MySQL sont tout aussi chères que les requêtes DNS. Vous devez donc également déplacer les requêtes MySQL vers le bas.
mailq