Optimale Parameter für Postfix "smtpd_recipient_restrictions" eingestellt

8

Wir haben das DNS von einem anderen ISP geerbt und jetzt wird unser Mailserver von ungefähr 1000 E-Mails pro Minute bombardiert. 99,99% dieser E-Mails sind nur Spam. Wir versuchen, das Filtern / Zurückweisen des Spam ohne viel Glück zu optimieren.

Wofür wäre Ihrer Meinung nach das optimale Set smtpd_recipient_restrictions?

Die Systemkonfiguration: Ubuntu + Amavis + Postfix + MySQL + Fail2Ban-Postfix

Jeder Rat ist willkommen!

UDPATE, 08.08.2012

Bei Änderung der Posftix-Konfiguration wie folgt und Konfiguration des Potrgey-Dienstes sank der Spam-Level zehnmal

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

Geben Sie hier die Bildbeschreibung ein

Igor
quelle
1
Ich möchte diese Domain kaufen! Bitte machen Sie ein Angebot.
Mailq
Was versuchst du zu lösen? Was ist dein Problem? Sie sagen nur, dass Sie Spam ablehnen. Das ist aber kein Problem. Dies ist eine Lösung.
Mailq
@mailq: Auf keinen Fall tut es mir leid
Igor
@mailq: Die Idee ist, Spam effektiver abzulehnen, die Systemlasten zu reduzieren
Igor

Antworten:

6

Ihre Reihenfolge der Regeln ist sehr schlecht. Wenn Sie alle behalten und nichts hinzufügen möchten, muss die Reihenfolge wie folgt lauten:

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

Und wenn das immer noch nicht ausreicht, lesen Sie postscreenin http://www.postfix.org/POSTSCREEN_README.html nach .

mailq
quelle
Entschuldigung, aber spielt die Bestellung eine Rolle oder nicht? In gewisser Weise überprüft postfix zuerst "allow_mynetworks" und zuletzt "accept_non_fqdn_recipient".
Igor
1
Endgültig! Ordnung ist wichtig. Von links nach rechts (oder von oben nach unten). Wie in postfix.org/SMTPD_ACCESS_README.html beschrieben
mailq
5

Ich würde eine smtpd_recipient_restriction vorschlagen, die der folgenden ähnelt:

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

Detaillierte Informationen zu smtpd_recipient_restrictions finden Sie hier: http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions

Vielleicht möchten Sie auch Postgrey , Postscreen , Postfwd oder einen anderen Policy Daemon verwenden .

Überprüfen Sie außerdem, ob Sie Ihr amavisd-new im Pre-Queue-Modus verwenden.

Sebokopter
quelle
Das ist schlecht. Die zweite Zeile blockiert E-Mails für ausgehende Empfänger. Sie können also keine E-Mails von Ihrem Server an die Außenwelt senden. MySQL-Abfragen sind genauso teuer wie DNS-Abfragen. Sie sollten also auch MySQL-Abfragen nach unten verschieben.
Mailq