[Postfixbuch-users] do not list domain ... in BOTHvirtual_mailbox_domains and relay_domains, nachtrag

Oskar Eyb oskar-postfix at eyb.de
Fr Jan 4 09:21:36 CET 2008


Guten Morgen!


Uwe Driessen schrieb am 04.01.2008 00:23:
> Oskar Eyb schrieb: 
>>
>> Uwe Driessen schrieb am 03.01.2008 09:45:
>>
>>> Bring deine Restriktionen in Ordnung
>> Ich habe mir deine E-Mail dazu nochmals durchgelesen und verstehe nicht,
>> was gemeint ist. Kann mich jetzt nicht damit beschäftigen, 
> 
> sehr schlecht man sollte schon ein bisschen Zeit in ein funktionierendes System
> investieren. 

Sehe ich genau so, nur ist nicht in jeder Situation am Tage auch genau 
dafür Zeit. :)



>> habe die
>> vormals gemachten Kommentare wieder entfernt. Dann wirds halt 4x
>> abgearbeitet, aber immerhin korrekt. Da liegt der Fehler ja nicht.
> 
> Macht aber die Fehlersuche und Lesbarkeit der Konfig schwerer. Unter umständen schleichen
> sich da auch in Zukunft Fehler ein wenn in einer Rubrik was reingenommen wird und in einer
> anderen vergessen was dann dazu führt das gewünschte Mails abgewiesen und unerwünschte
> angenommen werden. Bei den recipient_restriktionen sind alle Info zusammen um zu
> entscheiden ob eine Mail angenommen wird oder nicht.
> 
> Prüfung auf gültige Adresssyntax der Mailadresse und auf Vorhandensein derselbigen.
> Diese Prüfung müssen auch eigene User über sich ergehen lassen.
> (reject_unknown_sender_domain, reject_non_fqdn_sender,)


Jup, so sollte es sein, bei selbstständiger Durchsicher meiner Konfig 
ist mir aufgefallen,dass permit_mynetworks bzw 
permit_sasl_authentificated VOR diesen checks kam. Das ist natürlich 
Humbug, auch meine Clients müssen sich an gewisse Standards halten.



> Ist es kein eigener User dann wird weiter geprüft 
> z.B. ist das Helo FQND, gibt es den Server, hält sich der Sender an die RFC's steht er in
> irgendwelchen RBL's (weniger ist hier oft mehr bzw. policyd weight einsetzen)   
> reject_invalid_hostname, 
> reject_non_fqdn_hostname,
> reject_rbl_client dnsbl.sorbs.net, 
> reject_rbl_client sbl-xbl.spamhaus.org, 
> reject_rbl_client list.dsbl.org,
> 
> hat er das vorhergehende Überstanden dann muß sich ein fremder noch den
> smtpd_data_restrictions = reject_unauth_pipelining  unterwerfen
> 
> deine ganzen permit am ende jeder restriktion kannte streichen wer die Prüfungen nicht mit
> einem reject quittiert bekommt wird sowieso angenommen.

Jup. Aber der Selbstdokumentation wegen kann mans auch drinlassen, steht 
afaik auch so im Postfix-Buch.



> Ich hoffe mal ich habe keiner deiner Restriktionen vergessen dann kannste das fast so
> abschreiben (Konfigschreibweise beachten, entweder in eine Zeile oder eingerückter
> Zeilenanfang als Fortsetzung)
> 
> Deine Konfig ist copy und paste, so was ist tödlich da du die Qualität des geposteten zu
> dem Zeitpunkt nicht beurteilen kannst.

Das habe ich auch bemerkt. Erfolg hatte ich immer, wenn ich mich selbst 
damit beschäftigt habe, wie z.B. mit der 
SMTP-AUTH/SASL-Authentifikation. Jedes Wiki und HOWTO hat da so seine 
eigene Dogmatik, die meistens nur auf Funktionalität auf genau einem 
System (nämlich dem des Verfassers) und nicht einer weitergefassten 
"Dogmatik" folgt oder gar zum Ziel hat, dass der "Abschreiber" versteht, 
was er da tut, geschweige denn in die Lage für spätere, eigene 
Anpassungen versetzt wird. Da ist die Intention der Bücher-Autoren eine 
ganz andere. Ist dafür dann auch etwas mehr zu lesen ;-)



> Kauf dich lieber Buch von Peer Heinlein oder von Ralf Hildebrandt und Patrik Ben Koetter
> (ich nenn die mal einfach so ohne dass die Nennung auf eine Gewichtung schließen soll. Man
> kommt mit beiden Büchern zu einer schlanken absolut sicheren und funktionierenden
> Konfiguration).

Letzteres liegt vor mir und hat mich auch schon weitergebracht!



> Bei einem solchen vorgehen findet man schneller Fehler und auch die Optimierung geht
> leichter (keine Ahnung was der Admin mit seiner Konfig für einen Einsatzzweck angestrebt
> hat, aber mach dir nichts draus ich habe auch mal so angefangen) 

Ich starte jetzt gerne gleich mit einem Sack voll von Checks und 
Restriktionen, denn genau das habe ich bei qmail(-ldap) vermisst. Was 
ich da beim Betrachten des Logfiles an Spam reinkommen sehe, eine 
normale mail war die Ausnahme. Das soll sich jetzt ändern.

Aber bevor ich postfix auf die production-domains loslasse, sollen keine 
  unbekannten Fehler mehr wie dieser hier im Betreff auftreten :).

Und dann wird sich zeigen, wie schnell ich DSPAM über amavisd-new 
einbauen muss.



>> Jan  3 19:35:38 beastie postfix/trivial-rewrite[82295]: warning: do not
>> list domain srv2.eyb.de in BOTH virtual_mailbox_domains and relay_domains
>> Jan  3 19:35:38 beastie postfix/smtpd[81738]: private/rewrite socket:
>> wanted attribute: flags
> 
> Das war auch schon mal in der Liste dieser Fehler ich weiß aber nicht mehr wie die Lösung
> war. Evtl. wirft da noch mal ein anderer einen Blick drauf.

Du meinst "private/rewrite socket: wanted attribute: flags" ?

> Ich meine das da irgendwas mit den Mailadressen bzw. der Rubrik unter der die geführt
> wurden nicht stimmte.

Rubrik?



> 
> Ich lass mal die Konfig dran hängen 
>  
>> broken_sasl_auth_clients = yes
>> command_directory = /usr/local/sbin
>> config_directory = /usr/local/etc/postfix
>> daemon_directory = /usr/local/libexec/postfix
>> debug_peer_level = 2
>> header_checks = pcre:/usr/local/etc/postfix/header_checks.pcre
>> html_directory = no
>> inet_interfaces = 172.16.0.2
>> mail_owner = postfix
>> mailq_path = /usr/local/bin/mailq
>> manpage_directory = /usr/local/man
>> mydestination = beastie.eyb.de
> 
> Auskommentieren (meine Domains sind alle virtual und wenn ich das bei dir richtig sehe
> deine auch)
> 
> mydestination (default: $myhostname, localhost.$mydomain, localhost)

Jap, alles virtual.
Nun entspricht das auch dem default:

$ postconf mydestination
mydestination = $myhostname, localhost.$mydomain, localhost




$ postconf myorigin
myorigin = $myhostname


$ postconf myhostname
myhostname = beastie.eyb.de



Was genau bewirken die "Überschriften"
( smtpd_client_restrictions  = , smtpd_helo_restrictions  = , 
smtpd_sender_restrictions  = , ) ?
Nur zur Lesbarkeit sind die nicht da.

Andererseits sehe ich ein, dass es genügt, wenn an einer Stelle 
reject_non_fqdn_sender geprüft wird.
Im falle des fqdn_senders wohl am besten innerhalb der 
smtpd_sender_restriction. Was haben sich da die HOWTO-Schreiber dabei 
gedacht??


smtpd_client_restrictions  =
     permit_mynetworks,
     permit_sasl_authenticated,
     permit
smtpd_helo_restrictions  =
     reject_invalid_hostname,
     reject_non_fqdn_hostname,
     permit_mynetworks,
     permit_sasl_authenticated,
     check_helo_access pcre:/etc/postfix/helo_checks
     permit
smtpd_sender_restrictions  =
     reject_unknown_sender_domain,
     reject_non_fqdn_sender,
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_rhsbl_sender rhsbl.sorbs.net,
     reject_rhsbl_sender dsn.rfc-ignorant.org,
     permit
smtpd_recipient_restrictions  =
     reject_unknown_sender_domain,
     reject_unknown_recipient_domain,
     reject_non_fqdn_recipient,
     reject_non_fqdn_sender,
     reject_non_fqdn_hostname,
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_unauth_destination,
     #check_policy_service inet:172.16.0.2:10023,
     #check_policy_service inet:172.16.0.2:12525,
     permit




Ich habe das mal ein wenig umgebaut:


smtpd_client_restrictions  =
     permit_mynetworks,
     permit_sasl_authenticated,
     permit

smtpd_helo_restrictions  =
     reject_invalid_hostname,
     reject_non_fqdn_hostname,
     permit_mynetworks,
     permit_sasl_authenticated,
     check_helo_access pcre:/etc/postfix/helo_checks
     permit

smtpd_sender_restrictions  =
     reject_unknown_sender_domain,
     reject_non_fqdn_sender,
     reject_non_fqdn_hostname,
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_rhsbl_sender rhsbl.sorbs.net,
     reject_rhsbl_sender dsn.rfc-ignorant.org,
     permit

smtpd_recipient_restrictions  =
     reject_unknown_recipient_domain,
     reject_non_fqdn_recipient,



     permit_mynetworks,
     permit_sasl_authenticated,
     reject_unauth_destination,
     #check_policy_service inet:172.16.0.2:10023,
     #check_policy_service inet:172.16.0.2:12525,
     permit


smtpd_data_restrictions  =
     permit_mynetworks,
     reject_unauth_pipelining,
     reject_multi_recipient_bounce,
     permit



BTW,

check_helo_access pcre:/etc/postfix/helo_checks

scheint nicht zu greifen:


cat /etc/postfix/helo_checks
/^beastie\.eyb\.de$/            550 Don't use my hostname
/^85\.214\.103\.56$/            550 Don't use my IP address
/^\[85\.214\.103\.56\]$/        550 Don't use my IP address
/^[0-9.]+$/                     550 Your client is not RFC 2821 compilant



von zu Hause aus:

$ telnet beastie.eyb.de smtp
Trying 85.214.103.56...
Connected to beastie.eyb.de.
Escape character is '^]'.
220 beastie.eyb.de ESMTP (bln-mx1)
ehlo beastie.eyb.de

250-beastie.eyb.de
250-PIPELINING
250-SIZE 10240000
250-VRFY
....




Gruß,
Oskar







Mehr Informationen über die Mailingliste Postfixbuch-users