[Postfixbuch-users] habe ich da was falsch gemacht ?
Sandy Drobic
postfixbuch-users at japantest.homelinux.com
Fr Jan 19 23:58:06 CET 2007
Uwe Driessen wrote:
> Ich denke ich hab da was gefunden aber warum das so ist entzieht sich meiner
> Kenntnis
>
> Ich habe in der Zwischenzeit auch
> mxpool19.ebay.com[66.135.197.25]
> bay0-omc3-s25.bay0.hotmail.com[65.54.246.225]
> aps74.muc.ec-messenger.com
>
> zu allen diesen Servern stimmt die IP der MX Record's welche auf die
> Hauptdomain eingetragen ist nicht mit der Sender IP überein.
> Es wird also keinerlei Kommunikation zwischen den Servern aufgebaut.
Zeige besser mal Logauszüge, wo das Problem auftritt. Im Augenblick weiss
ich wirklich nicht, was du sagen willst. (^-^)
> Nur warum er gerade diesen Servern keine Antwort bzw. keine Aufforderung zum
> Identifizieren und sonstigem sendet verstehe ich nun mal nicht.
Ha?!?
> Bin ich zu hart mit meinen Restrictions ? nur Server mit MX record sind doch
> eigentlich als Mailserver registriert ?
Nein. Ein rein sendender Server muss, besser gesagt, DARF keinen
MX-Eintrag haben, aber er sollte auf jeden Fall einen statische IP und
einen passenden reverse DNS Eintrag haben. Wenn SPF verwendet wird, muss
er noch dort aufgeführt werden als erlaubter Mailversender.
Wenn für eine Domain kein MX-Eintrag existiert, MUSS nach dem A-Eintrag
für die Domain zugestellt werden. Ich hatte lange Zeit keinen MX-Eintrag
für japantest.homelinux.com, und in dieser Zeit haben nur zwei Hosts sich
geweigert, Mails zuzustellen (gegen die Bestimmungen des RFCs).
Ein MX-Eintrag ist nur für Server empfohlen, welche Mails für eine Domain
annehmen sollen.
> Anbei Postconf -n evtl. sieht da jemand anderes etwas was gegen RFC verstößt
> oder auch evtl. fragwürdig ist oder bin ich gerade über die Grenze zum
> B.O.F.H. *gg
Deine "postconf -n" ist überflüssig kompliziert. Tu dir selber den
Gefallen und prüfe für jeden gesetzten Wert, ob es der Default-Wert ist.
Wenn ja, dann lösche den Eintrag raus.
Wenn es nicht der Default-Wert ist, dann solltest du überlegen, ob die
Abweichung wirklich sinnvoll ist und welchen Zweck sie erfüllen soll.
Einige Wert sind völlig korrekt manuell gesetzt, aber bei manchen habe ich
meine Zweifel. (^-^)
Bei einer so langen Konfiguration siehst du den Wald vor lauter Bäumen
nicht mehr.
> access_map_reject_code = 550
> alias_database = hash:/etc/postfix/vhcs2/aliases hash:/etc/postfix/aliases
> alias_maps = hash:/etc/postfix/vhcs2/aliases hash:/etc/postfix/aliases
> anvil_rate_time_unit = 60s
> append_at_myorigin = yes
> append_dot_mydomain = no
> biff = no
> broken_sasl_auth_clients = yes
> command_directory = /usr/sbin
> config_directory = /etc/postfix
> content_filter = smtp-amavis:[127.0.0.1]:10024
> daemon_directory = /usr/lib/postfix
> default_destination_concurrency_limit = 30
> disable_vrfy_command = yes
> inet_protocols = all
> invalid_hostname_reject_code = 550
> local_destination_concurrency_limit = 20
> local_destination_recipient_limit = 30
> local_recipient_maps = unix:passwd.byname $alias_maps $alias_database
> local_transport = local
> mail_spool_directory = /var/spool/mail
> mailbox_command = procmail -a $EXTENSION
> mailbox_size_limit = 2000000000
> maps_rbl_reject_code = 550
> message_size_limit = 30000000
> mydestination = $myhostname, $mydomain, localhost.$mydomain
> mydomain = s1.fblan.de
> myhostname = mail.fblan.de
> mynetworks = XXX.XXX.XXX.XXX/32 127.0.0.1/32
> mynetworks_style = host
> myorigin = fblan.de
> non_fqdn_reject_code = 550
> queue_minfree = 100000000
> recipient_delimiter = +
> reject_code = 550
> relay_domains_reject_code = 550
> setgid_group = postdrop
> smtp_connect_timeout = 60s
> smtp_host_lookup = dns
> smtp_line_length_limit = 990
> smtpd_banner = $myhostname
> smtpd_client_connection_rate_limit = 10
> smtpd_client_event_limit_exceptions = hash:/etc/postfix/vhcs2/aliases
> smtpd_client_message_rate_limit = 5
> smtpd_client_restrictions = reject_invalid_hostname
> smtpd_delay_reject = yes
> smtpd_discard_ehlo_keyword_address_maps =
> cidr:/etc/postfix/ehlo_keyword_address_maps
> smtpd_error_sleep_time = 60
> smtpd_hard_error_limit = 1
> smtpd_helo_required = yes
> smtpd_helo_restrictions = permit_mynetworks, check_sender_mx_access
> cidr:/etc/postfix/maps/bogus_mx, permit_sasl_authenticated,
> permit_tls_clientcerts, check_helo_access pcre:/etc/postfix/helo_checks
> hash:/etc/postfix/maps/helo_check, reject_invalid_hostname,
> reject_non_fqdn_hostname, reject_unauth_pipelining,
> reject_unauth_destination, reject_non_fqdn_sender,
> reject_non_fqdn_recipient, reject_unknown_recipient_domain,
> reject_unknown_client_hostname check_policy_service inet:127.0.0.1:60000
> smtpd_recipient_restrictions = permit_mynetworks,
> reject_unauthenticated_sender_login_mismatch,
> reject_sender_login_mismatch, permit_sasl_authenticated,
> reject_non_fqdn_sender, reject_non_fqdn_recipient,
> reject_unknown_sender_domain, reject_unknown_recipient_domain,
> reject_unknown_client_hostname, check_helo_access
> pcre:/etc/postfix/helo_checks, reject_unauth_destination,
> reject_multi_recipient_bounce, reject_unauth_pipelining,
> reject_invalid_hostname, reject_non_fqdn_hostname,
> reject_unknown_client_hostname check_recipient_access
> hash:/etc/postfix/roleaccount check_sender_mx_access
> cidr:/etc/postfix/maps/bogus_mx check_policy_service inet:127.0.0.1:60000
> reject_rbl_client combined.njabl.org, reject_rbl_client
> dialup.blacklist.jippg.org, reject_rbl_client zen.spamhaus.org,
> reject_rbl_client sbl-xbl.spamhaus.org, reject_rbl_client list.dsbl.org,
> reject_rbl_client blackholes.easynet.nl, reject_rbl_client
> unconfirmed.dsbl.org, reject_rhsbl_sender dsn.rfc-ignorant.org
> reject_rbl_client psbl.surriel.com reject_rbl_client
> dnsbl-2.uceprotect.net reject_rbl_client no-more-funn.moensted.dk
> reject_rhsbl_client rhsbl.sorbs.net, reject_rbl_client multihop.dsbl.org,
> reject_rhsbl_sender rhsbl.sorbs.net, reject_rbl_client
> proxies.blackholes.wirehub.net reject_rbl_client ix.dnsbl.manitu.net,
> reject_rbl_client dynablock.njabl.org, permit
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_local_domain = vhcs.net
> smtpd_sasl_security_options = noanonymous
> smtpd_sasl_type = cyrus
> smtpd_sender_login_maps = hash:/etc/postfix/vhcs2/aliases
> smtpd_sender_restrictions = permit_mynetworks,
> reject_unauthenticated_sender_login_mismatch,
> reject_sender_login_mismatch, permit_sasl_authenticated,
> permit_tls_clientcerts, check_sender_access pcre:/etc/postfix/apostroph,
> check_sender_mx_access cidr:/etc/postfix/maps/bogus_mx,
> reject_non_fqdn_recipient, reject_non_fqdn_sender,
> reject_unknown_client_hostname, reject_unknown_recipient_domain,
> reject_unknown_sender_domain, reject_unauth_pipelining,
> reject_unauthenticated_sender_login_mismatch, reject_unauth_destination,
> check_policy_service inet:127.0.0.1:60000,
Deine restrictions sind wirklich gruselig aufgebaut. Viele Checks sind
doppelt und dreifach aufgeführt, was keinen Sinn ergibt. Ich setze sie mal
zu einer einzigen Liste zusammen, dann kannst du selbst entscheiden, ob du
das nicht transparenter findest:
Bisher:
smtpd_helo_restrictions =
permit_mynetworks,
check_sender_mx_access cidr:/etc/postfix/maps/bogus_mx,
permit_sasl_authenticated,
permit_tls_clientcerts,
check_helo_access pcre:/etc/postfix/helo_checks
hash:/etc/postfix/maps/helo_check,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_unauth_pipelining,
reject_unauth_destination,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unknown_client_hostname
check_policy_service inet:127.0.0.1:60000
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauthenticated_sender_login_mismatch,
reject_sender_login_mismatch,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unknown_client_hostname,
check_helo_access pcre:/etc/postfix/helo_checks,
reject_unauth_destination,
reject_multi_recipient_bounce,
reject_unauth_pipelining,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_unknown_client_hostname
check_recipient_access hash:/etc/postfix/roleaccount
check_sender_mx_access cidr:/etc/postfix/maps/bogus_mx
check_policy_service inet:127.0.0.1:60000
reject_rbl_client combined.njabl.org,
reject_rbl_client dialup.blacklist.jippg.org,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client blackholes.easynet.nl,
reject_rbl_client unconfirmed.dsbl.org,
reject_rhsbl_sender dsn.rfc-ignorant.org
reject_rbl_client psbl.surriel.com
reject_rbl_client dnsbl-2.uceprotect.net
reject_rbl_client no-more-funn.moensted.dk
reject_rhsbl_client rhsbl.sorbs.net,
reject_rbl_client multihop.dsbl.org,
reject_rhsbl_sender rhsbl.sorbs.net,
reject_rbl_client proxies.blackholes.wirehub.net
reject_rbl_client ix.dnsbl.manitu.net,
reject_rbl_client dynablock.njabl.org,
permit
smtpd_sender_restrictions =
permit_mynetworks,
reject_unauthenticated_sender_login_mismatch,
reject_sender_login_mismatch,
permit_sasl_authenticated,
permit_tls_clientcerts,
check_sender_access pcre:/etc/postfix/apostroph,
check_sender_mx_access cidr:/etc/postfix/maps/bogus_mx,
reject_non_fqdn_recipient,
reject_non_fqdn_sender,
reject_unknown_client_hostname,
reject_unknown_recipient_domain,
reject_unknown_sender_domain,
reject_unauth_pipelining,
reject_unauthenticated_sender_login_mismatch,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:60000,
Hier die entschlackte Version:
smtpd_recipient_restrictions =
permit_mynetworks,
permit_tls_clientcerts,
reject_unauthenticated_sender_login_mismatch,
reject_sender_login_mismatch,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
# reject_unknown_client_hostname,
check_helo_access pcre:/etc/postfix/helo_checks,
check_helo_access hash:/etc/postfix/maps/helo_check,
reject_unauth_destination,
reject_multi_recipient_bounce,
reject_unauth_pipelining,
reject_invalid_hostname,
reject_non_fqdn_hostname,
check_recipient_access hash:/etc/postfix/roleaccount
check_sender_mx_access cidr:/etc/postfix/maps/bogus_mx
check_policy_service inet:127.0.0.1:60000
reject_rbl_client combined.njabl.org,
reject_rbl_client dialup.blacklist.jippg.org,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client blackholes.easynet.nl,
reject_rbl_client unconfirmed.dsbl.org,
reject_rhsbl_sender dsn.rfc-ignorant.org
reject_rbl_client psbl.surriel.com
reject_rbl_client dnsbl-2.uceprotect.net
reject_rbl_client no-more-funn.moensted.dk
reject_rhsbl_client rhsbl.sorbs.net,
reject_rbl_client multihop.dsbl.org,
reject_rhsbl_sender rhsbl.sorbs.net,
reject_rbl_client proxies.blackholes.wirehub.net
reject_rbl_client ix.dnsbl.manitu.net,
Der Rest ist nur doppelt aufgeführt oder in den vorhandenen Checks enthalten.
sbl-xbl.spamhaus.org ist enthalten in zen.spamhaus.org,
dynablock.njabl.org ist enthalten in combined.njabl.org,
Den Policyserver postgrey über den RBLs einzusetzen macht ohne Abänderung
keinen Sinn. Wenn ich das Script richtig gelesen habe, ist die
Default-Action von Postgrey "defer_if_permit". Er klappert also ohnehin
alle RBLs ab und meldet nur dann einen Tempfehler, wenn die RBLs NICHT
zuschlagen. Wenn du schlanker laufen willst und nur die RBLs für jene
Clients abfragen willst, die durch das Greylisting kommen, dann musst du
den Default auf "defer" setzen. Ansonsten kannst du den Policyserver auch
hinter den RBLs aufrufen.
Ein Wort noch zu den RBLs: generell gilt, dass man einen Mailserver
aufsetzt, weil man sich von der eigenen Verwaltung Vorteile verspricht,
diese eigene Verwaltung wird aber sehr aufgeweicht, wenn die Entscheidung
über die Mailannahme an eine lange Liste von RBLs abgewälzt wird.
Deshalb solltest du nur jene RBLs einsetzen, deren Policy du genau
studiert hast und die mit deiner eigenen Policy für die Annahme von Mails
übereinstimmt.
So ganz nehme ich dir das nicht ab, dass du diese lange Liste von RBLs
gründlich abgeklopft hast auf Kompatibilität.
Ich würde auf jeden Fall auch die Wirksamkeit der RBLs anhand des Logs
prüfen. Listen mit hohen Reject-Raten nach vorne sortieren, Listen mit
niedrigen Reject-Raten nach hinten. Wenn eine Liste über einen
mehrwöchigen Zeitraum weniger als 1% der Rejects ausmacht, würde ich sie
rauswerfen.
Du kannst mit ein paar Zeilen Script dir eine Statistik erstellen, welche
RBLs wieviele Mails geblockt haben.
Zwischenzeitlich hatte ich auch sender_address_verification im Test, habe
es aber wieder abgeschaltet, da es auf der einen Seite als letzter Check
(weil aufwendig) wenige Spams abwehrte und andererseits einige erwünschte
Mails von fehlkonfigurierten Servern abwies. Lieber einige wenige Spams
mehr durchlassen und dafür eine robuste Konfiguration, die ich mit gutem
Gewissen auch selbstständig arbeiten lassen kann, ohne dass Kollegen mich
verzweifelt im Urlaub anrufen und fragen, wie sie diese oder jene
erwünschte Mail doch empfangen können.
Ob einige andere Checks wie etwa "reject_unknown_client_hostname" Sinn
machen, kannst nur du beurteilen, aber ich kann dir versichern, dass
dieser selbst auf unserem Firmenserver nicht einsetzbar ist, obwohl wir
keine allgemeinen Dienstleistungen anbieten und keinen Vertrieb haben.
Und trotzdem hatte ein QSC-Techniker mir heute morgen sofort voller Frust
zugestimmt, dass er als ISP bei weitem nicht die Restriktionen einsetzen
kann, die ich als Firmenadmin verwende.
Ein kleines Beispiel, warum eine schlichte Konfiguration eine gute
Konfiguration ist:
heute morgen war ich auf der Jagd nach der Ursache für Timeouts bei einem
unserer Dominoserver. Diese traten nur auf einem Server auf, und nur, wenn
eine Email in unserem internen Netz zwischen zwei Servern
weitergeleitet/empfangen werden sollte. Nach langer Zeit sah ich dann
zufällig in der Konfigurationshistory die verwendeten Blacklists und
bemerkte dort relays.ordb.org. Prompt verschwanden die Timeouts, als ich
die tote RBL rausgenommen hatte. Selbst bei hohem Loglevel konnte ich das
nicht im Dominolog sehen, und die Konfiguration von Domino ist wunderbar
verschachtelt, man sieht einfach nicht, was sich auf anderen Teilen der
Konfiguration abspielt, wenn man nicht aktiv danach sucht. Kein "postconf
-n" verfügbar. :-((
Warum dies nur intern auftrat und nicht bei Internet-Verbindungen, werde
ich vermutlich nicht herausfinden können.
Diese Mail ist jetzt ziemlich lang geworden, aber vielleicht hilft sie dir
doch etwas bei der Positionsbestimmung, welche Policy du für deinen Server
verwirklichen willst.
Persönlich ist meine Meinung, dass die wichtigste Aufgabe des Mailserver
ist, robust und zuverlässig die erwünschten Mails zu empfangen und zu
verschicken und dann in zweiter Priorität soviel Spam/Viren wie möglich
ablehnen sollte. Deine Policy kann durchaus anders sein, auf der
englischen Liste hatte einer sogar verkündet, dass sein Chef nichts
dagegen hatte, wenn er 2 Prozent der eigentlich erwünschten Mails ablehnt,
solange er wirksam gegen Spam angeht. Mein Chef hätte einige erlesene
Worte parat, wenn ich das tun würde.
Sandy
--
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Mehr Informationen über die Mailingliste Postfixbuch-users