[Postfixbuch-users] Mails rejecten vor Postgrey
Sandy Drobic
postfixbuch-users at japantest.homelinux.com
Mo Jul 16 22:13:34 CEST 2007
Thomas Klein wrote:
> Tach zusammen,
>
> ich hätte da mal wieder 'ne Frage:
> So wie es den Anschein hat, werden Mails erstmal von Postgrey bearbeitet
> (also bei neuen Hosts erstmal rejected) und danach wird
> smtpd_recipient_restrictions abgearbeitet. Mir wäre es aber ehrlich
> gesagt lieber, daß Mails die schon gewisse Kriterien nicht erfüllen
> (dynamische IP oder auf einer Blacklist) eben schon mit einem 500er
> Fehler rejected werden bevor das Greylisting zuschlägt.
Bitte mal das Log posten, wo dies geschieht. Deiner Konfiguration nach
halte ich das für ein Gerücht.
Oder hast du in master.cf einige der Checks umdefiniert. Bitte überprüfen!
> Gibt es hierfür eine Möglichkeit?
>
> Hier die Ausgabe von postconf -n:
>
> postconf -n
> alias_database = hash:/etc/aliases
> alias_maps = hash:/etc/aliases
> biff = no
> config_directory = /etc/postfix
> content_filter = amavis:[127.0.0.1]:10024
> header_checks = pcre:/etc/postfix/header_checks
> local_recipient_maps = hash:/etc/postfix/local_recipients
> mailbox_command =
> mailbox_size_limit = 0
> mydestination = $mydomains, localhost.$mydomain
> myhostname = mail2.domain.de
> mynetworks = 127.0.0.0/8, 192.168.40.2
> myorigin = $mydomain
> recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
> recipient_delimiter = +
> smtpd_banner = $myhostname ESMTP
> smtpd_helo_required = yes
> smtpd_recipient_restrictions = reject_unauth_pipelining
> permit_mynetworks permit_sasl_authenticated
> reject_unauth_destination check_client_access
> hash:/etc/postfix/whitelist_clients check_sender_access
> hash:/etc/postfix/sender_access check_recipient_access
> hash:/etc/postfix/recipient_access check_client_access
> pcre:/etc/postfix/dynip reject_non_fqdn_sender
> reject_invalid_hostname reject_non_fqdn_hostname
> reject_unknown_recipient_domain reject_non_fqdn_recipient
> reject_unknown_sender_domain reject_rbl_client
> ix.dnsbl.manitu.net reject_rbl_client sbl-xbl.spamhaus.org
> check_policy_service inet:127.0.0.1:60000
Okay, hier der augenblickliche Stand:
smtpd_recipient_restrictions =
reject_unauth_pipelining
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
check_client_access hash:/etc/postfix/whitelist_clients
check_sender_access hash:/etc/postfix/sender_access
check_recipient_access hash:/etc/postfix/recipient_access
check_client_access pcre:/etc/postfix/dynip
reject_non_fqdn_sender
reject_invalid_hostname
reject_non_fqdn_hostname
reject_unknown_recipient_domain
reject_non_fqdn_recipient
reject_unknown_sender_domain
reject_rbl_client ix.dnsbl.manitu.net
reject_rbl_client sbl-xbl.spamhaus.org
check_policy_service inet:127.0.0.1:60000
Die Reihenfolge ist ziemlich wüst.
Hier die Reihenfolge, die sich ziemlich logisch ergibt:
smtpd_recipient_restrictions =
reject_non_fqdn_sender
reject_non_fqdn_recipient
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
reject_unlisted_recipient
check_client_access hash:/etc/postfix/whitelist_clients
reject_invalid_hostname
reject_non_fqdn_hostname
check_client_access pcre:/etc/postfix/dynip
reject_unknown_sender_domain
reject_rbl_client ix.dnsbl.manitu.net
reject_rbl_client sbl-xbl.spamhaus.org
check_policy_service inet:127.0.0.1:60000
Ich habe reject_unknown_recipient_domain herausgenommen. Hinter
reject_unauth_destination lehnt es nur noch deine eigenen Domains ab, was
keinen Sinn macht und vor der Erlaubnis zum Relayen könnte es normalen
Mailclients oder Mails-Applikationen in die Quere kommen, wenn ein
DNS-Fehler vorliegt. Deshalb lasse ich es aus Robustheitsgründen einfach weg.
Allgemein beschreiben lautet es:
- Erlaube nur vertrauenswürdigen Clients das Relayen
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
- Weise alle Mails an ungültige Empfänger deiner Domain ab:
reject_unlisted_recipient
Dieser Check sorgt dafür, dass die Empfängeradresse überprüft wird, ob sie
existiert. Ohne diese Anweisung geschieht dies am Ende der
smtpd_recipient_restrictions, was bei Greylisting und Blacklists etc.
keinen Sinn macht. Die meisten Greylisting-Manuals schreiben dies auch
explizit in ihrer Installationsanleitung.
- Alle Mails, die jetzt noch von extern angenommen werden, können
zugestellt werden. Damit werden keine Mails mehr nach extern gebounced.
Jetzt sollte das Fangnetz für die Trotteladmins bereitgestellt werden (AKA
Whitelist).
check_client_access hash:/etc/postfix/whitelist_clients
Danach folgen alle Checks, die nach unerwünschten Mails suchen. Die
Reihenfolge sollte ist üblicherweise meistens nach Kosten sortiert,
interne Checks zuerst, dann externe mit DNS-Abfragen und die langwierigen
zu allerletzt.
reject_invalid_hostname
reject_non_fqdn_hostname
check_client_access pcre:/etc/postfix/dynip
reject_unknown_sender_domain
reject_rbl_client ix.dnsbl.manitu.net
reject_rbl_client sbl-xbl.spamhaus.org
check_policy_service inet:127.0.0.1:60000
Der Rest der Konfig ist Verfeinerung, um die groben Ecken abzuschleifen:
reject_non_fqdn_sender
reject_non_fqdn_recipient
Wenn möglich, kannst du auch reject_unlisted_sender und
reject_unlisted_reicpient ganz oben ansetzen. Damit wird KEINEM Client
erlaubt, eine ungültige Absender- oder Empfängeradresse in deinen Domains
zu verwenden.
Die Grundreihenfolge bleibt jedoch immer:
- Erlaube nur vertrauenswürdigen Clients das Relayen
- Weise alle Mails an ungültige Empfänger deiner Domain ab
- Whitelist für Trotteladmins
- Checks für unerwünschte Mails
--
Sandy
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Mehr Informationen über die Mailingliste Postfixbuch-users