[Postfixbuch-users] Probleme mit policyd_weight, greylisted und mail delivery

Sandy Drobic postfixbuch-users at japantest.homelinux.com
Mo Mai 26 10:26:50 CEST 2008


Dirk Hardt wrote:
> 
> 
> Hallo Herr Felber, hallo Liste.
> 
>  
> 
> Erst einmal ein Dankeschön.
> 
>  
> 
> Nun, ich habe mal angefangen aufzurauemen:
> 
>  
> 
> alias_maps = hash:/etc/aliases
> 
> append_dot_mydomain = no

Dein Mailclient sendet HTML und leere Zeilen. Setze ihn besser auf "Plaintext".

> 
> smtpd_recipient_restrictions = permit_sasl_authenticated,       
> permit_mynetworks,      check_relay_domains,    
> reject_unauth_destination,    check_policy_service 
> unix:private/policy        check_policy_service inet: 127 . 0.0.1 : 
> 10031        check_policy_service inet: 127 . 0.0.1 : 60000      
> check_policy_service inet: 127 . 0.0.1 : 12525        
> check_client_access hash:/etc/postfix/use_whitelists  check_policyd_weight
> 
> smtpd_sasl_auth_enable = yes
> 
> smtpd_sasl_path = smtpd
> 
> smtpd_sasl_security_options = noanonymous
> 
> smtpd_sasl_type = cyrus
> 
> smtpd_sender_restrictions = reject_rbl_client    dnsbl.sorbs.net,        
> reject_rbl_client    combined.njabl.org,        reject_rbl_client    
> list.dsbl.org,        reject_rbl_client    cbl.abuseat.org,     
> reject_rbl_client    relays.ordb.org,        reject_rbl_client    
> sbl.spamhaus.org,        reject_rbl_client    bl.spamcop.net,        
> reject_rbl_client    opm.blitzed.org,        reject_rbl_client    
> dnsbl.net.au,        reject_rbl_client    dul.dnsbl.sorbs.net

Du kannst jeden Check unter smtpd_recipient_restrictions setzen:
- client-Checks
- sender-Checks
- HELO-Checks
- recipient-Checks

check_relay_domains erfüllte (in der Dinosaurierzeit von Postfix 1.x) die 
gleiche Funktion wie reject_unauth_destination, ist also völlig überflüssig.

Deine Blacklists scheinen aus der gleichen Epoche zu kommen. Mehrere davon 
gibt es gar nicht mehr, andere sind in einer anderen Liste verschmolzen.

In ganz klaren Worten: der Einsatz einer Blacklist bedeutet, dass die 
Entscheidung, welche Mails abgewiesen werden, auf einen unbekannten Dritten 
verlagert werden, mit dem du keinen Vertrag hast, der dich vor 
Fehlentscheidungen schützt. Das mindeste für einen verantwortlichen Postmaster 
ist, dass du dir vor dem Einsatz der Liste die Nutzungsbedingungen, den 
Einsatzzweck, die Policy durchliest und den Ruf der Liste in relevanten 
Mailinglisten recherchierst.


Hier noch eine Empfehlung für die Reihenfolge der Checks:

Logische Reihenfolge bei Checks:

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 zen.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