[Postfixbuch-users] postfix für unerlaubten optimieren
Sandy Drobic
postfixbuch-users at japantest.homelinux.com
Sa Feb 2 17:19:30 CET 2008
Oliver Strixner wrote:
> Hallo,
>
> erstmal danke an alle die bisher geholfen postfix besser kennenzulernen.
>
> die Probleme in den mails vom 1.2. und 2.2. sind (hoffentlich) gelöst.
>
> in meiner mail.log habe ich immer noch ein paar Knadidaten, für die ich noch die passende restriction suche.
>
> Vor allem für solche, die meinen Hostnamen verwenden, postmaster@ oder etwas anderes davor setzen und diesen dann als Absender deklarieren der dann spam versenden will.
> Wie fange ich denn solche Dinge ab??
Das erste, was du brauchst, ist eine sauber definierte Policy:
- welche Mails präzise dein Server abweisen
- welche er annehmen soll
- wie die Priorität bezüglich Spambekämpfung, Bounces, DSN geregelt ist
usw. usw.
Danach kannst du dich daran begeben, diese Policy umzusetzen in Regeln.
>
> Feb 2 16:14:20 y postfix/qmgr[25197]: 5BC8C6A4C55: skipped, still being delivered
> Feb 2 16:14:30 y postfix/smtp[25133]: connect to mx.expedient.z[209.166.161.227]: Connection timed out (port 25)
> Feb 2 16:15:00 y postfix/smtp[25133]: connect to vwww1.abs.z[207.114.2.2]: Connection timed out (port 25)
> Feb 2 16:15:00 y postfix/smtp[25133]: 5BC8C6A4C55: to=<hffverthnad at bordertown.com>, relay=none, delay=60, delays=0/0/60$
Dies scheint eine Mail zu sein, welche an eine gefälschte Empfängeradresse
geht. Bounce oder Spam?
> Feb 2 16:19:20 y postfix/smtpd[25204]: connect from fmmailgate03.web.de[217.72.192.234]
> Feb 2 16:19:21 y postfix/cleanup[25231]: A3A3A6A4C55: message-id=<20080202151921.A3A3A6A4C55 at y.x.z>
> Feb 2 16:19:21 y postfix/qmgr[25197]: A3A3A6A4C55: from=<postmaster at y.x.z>, size=278, nrcpt=1 (queue act$
> Feb 2 16:19:22 y postfix/smtp[25234]: A3A3A6A4C55: to=<jquagliano at quagseeg.com>, relay=mail.mxpath.z[208.74.58.33]:25$
> Feb 2 16:19:22 y postfix/qmgr[25197]: A3A3A6A4C55: removed
> Feb 2 16:19:24 y postfix/smtpd[25204]: NOQUEUE: reject: RCPT from fmmailgate03.web.de[217.72.192.234]: 450 4.1.7 <jquag$
> Feb 2 16:19:24 y postfix/smtpd[25204]: disconnect from fmmailgate03.web.de[217.72.192.234]
Meinst du das hier?
>
> postconf -n
>
> alias_database = hash:/etc/aliases
> alias_maps = hash:/etc/aliases
> append_dot_mydomain = no
> biff = no
> broken_sasl_auth_clients = yes
> config_directory = /etc/postfix
> inet_interfaces = all
> inet_protocols = all
> mailbox_size_limit = 0
> mydestination = y, y.x.z, localhost.x.z, localhost
> myhostname = y.x.z
> mynetworks = 127.0.0.0/8
> recipient_delimiter = +
> relayhost =
> smtp_sasl_security_options = noanonymous
> smtpd_banner = $myhostname ESMTP $mail_name
> smtpd_client_restrictions =
> permit_mynetworks,
> reject_unknown_client,
> check_client_access mysql:/etc/postfix/mysql-virtual_forwardings.cf mysql:/etc/postfix/mysql-virtual_email2email.cf,
Was du hier gebaut hast, ist ausgeschrieben:
permit_mynetworks,
reject_unknown_client,
check_client_access mysql:/etc/postfix/mysql-virtual_forwardings.cf
check_client_access mysql:/etc/postfix/mysql-virtual_email2email.cf,
Mehr dazu unten.
> permit
> smtpd_data_restrictions =
> reject_multi_recipient_bounce,
> permit
Hast du mal nachgeschaut, wieviele Mails durch diesen Check abgewiesen wurden?
> smtpd_helo_required = yes
> smtpd_helo_restrictions =
> reject_invalid_hostname,
> permit
> smtpd_recipient_restrictions =
> reject_non_fqdn_recipient,
> reject_non_fqdn_sender,
> reject_unknown_sender_domain,permit_mynetworks,
> permit_sasl_authenticated,
> reject_unauth_destination,
> check_policy_service inet:127.0.0.1:60000,
> check_recipient_access hash:/etc/postfix/dont_check_rbls,
> check_helo_access pcre:/etc/postfix/helo_checks,check_sender_mx_access cidr:/etc/postfix/bogus_mx,
> reject_rbl_client relay.ordb.org,
> reject_rbl_client dnsbl.sorbs.z,
> reject_rhsbl_sender dsn.rfc-ignorant.org,
> reject_unverified_sender,
> permit
> smtpd_reject_unlisted_sender = yes
> smtpd_sasl_auth_enable = yes
> smtpd_sender_restrictions =
> reject_unknown_address,
> permit
Im Augenblick halte ich deine Konfiguration für ein ziemliches Schlamassel.
Folgende Punkte (nicht notwendigerweise vollständig) solltest du dringend
untersuchen:
- Deine Konfig ist im Augenblick schwer in den Griff zu bekommen, da die
Checks über sämtliche Sparten verteilt sind. Damit ist ein einheitliches
Black-/Whitelisting fast nicht möglich.
- Du verwendest mindestens eine tote RBL (es hiess übrigens relayS.ordb.org),
und ich weiss nicht, was dnsbl.sorbs.z sein soll.
- Vor teuren Policy-Servern sollte der Check, ob der Empfänger überhaupt eine
gültige Adresse ist, bereits geschehen sein. Dies ist Teil von "Best Practises
für Mailserver", steht auch meistens in den entsprechenden README drin.
- Desgleichen sollte auch VOR der ersten Whitelist (einem Check, der Mails
direkt annimmt) geprüft werden, ob der Empfänger gültig ist. Ebenfalls Teil
von "Best Practises".
- ein globales Verify für alle Absender kann dich auf Blacklists befördern.
Dies ist etwa der Fall bei T-Online (mehr als 40 Rejects an einem Tag) und
allen Servern, die UCEPROTECT verwenden. Zusätzlich ist die False Positive
Rate relativ hoch.
> smtpd_tls_cert_file = /etc/postfix/smtpd.cert
> smtpd_tls_key_file = /etc/postfix/smtpd.key
> smtpd_use_tls = yes
> virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_forwardings.cf mysql:/etc/postfix/mysql-virtual_email2email.cf
Oben verwendest du /etc/postfix/mysql-virtual_forwardings.cf als Client-Check,
hier ist es eine Adressumschreibung. Diese beiden Abfragen sind grundsätzlich
inkompatibel, da das Ergebnis auf keinen Fall für beide Sinn ergibt.
In virtual_alias_maps erwartet Postfix als Ergebnis eine Emailadresse, bei
einem check_client_access eine Action (4xx,5xx, ok, reject...).
Ich würde dir dringend raten, die Konfig zu konsolidieren und genau zu
überlegen, wie die Reihenfolge sein muss.
Da virtual_alias_maps für alle Mails (eingehend und ausgehend) verwendet
werden, brauchst du sie nicht explizit in den smtpd_*_restrictions aufrufen,
damit die Adressen umgeschrieben werden.
Hier mal eine Konfig, die ich einem anderen geschickt hatte mit ein paar
Anmerkungen:
# leer bedeutet, dass sie nicht benutzt werden
smtpd_client_restrictions =
smtpd_helo_restrictions =
smtpd_sender_restrictions =
# alle checks hier einbauen
smtpd_recipient_restrictions =
# checks für alle Clients: keine Emailadressen akzeptieren, die nicht
vollständig sind.
reject_non_fqdn_sender
reject_non_fqdn_recipient
# Relayen erlaubt für Clients, deren IP in mynetworks steht.
permit_mynetworks
# Relayen erlaubt für Clients, die sich authentifizieren
permit_sasl_authenticated
# nach reject_unauth_destination nur noch Annahme von Mails für eigene Domains,
# also nur noch externe, nicht vertrauenswürdige Clients
reject_unauth_destination
# Sicherstellen, dass die Mails auch ausgeliefert werden können (Empfänger ist
gültig)
# dies setzt voraus, das Postfix auch eine Liste der gültigen Emailadresen hat
. Siehe oben unter Relay_domains!
reject_unlisted_recipient
# wenn keine relay_recipient_maps verwendet werden, kann
reject_unverified_recipient verwendet werden
# hier können falsch eingerichtete Clients aufgenommen werden, die von den
darunterstehenden Checks abgewiesen werden:
# wenn man dies in der Konfig angibt, muss die Datei existieren, und mit
"postmap hash:/etc/postfix/whitelist_clients" bei jeder Veränderung
# aktualisiert werden!
check_client_access hash:/etc/postfix/whitelist_clients
# HELO-checks:
# Bei Postfix 2.3 aufwärts (mail_version?) ist der Name eindeutiger:
# reject_invalid_helo_hostname
# reject_non_fqdn_helo_hostname
reject_invalid_hostname
reject_non_fqdn_hostname
# weise alle externen Clients ab, die die eigene IP als HELO angeben (100% nur
Spammer!):
check_helo_access hash:/etc/postfix/block_helo_own_ip
# diese Datei enthält IP-Adressen, die nicht öffentlich sind,
# wenn die Absender-Domain im DNS einen MX angibt, der nicht erreichbar ist,
dann die Mail abweisen.
#check_sender_mx_access cidr:/etc/postfix/sender_mx_blocked
# Blacklist spamhaus.org abfragen
# dies ist eine kombinierte Liste, welche dynamische IPs, Spam-Netze und
Rechner, die an Spamtrap-Adressen Mails senden, blockieren:
# sehr weit verbreitet, sehr effektiv, sehr wenige False Positives:
reject_rbl_client zen.spamhaus.org
# Weise Mails ab, deren Absenderadressen nicht im DNS auffindbar sind (diese
Mails können deshalb ohnehin nicht beantwortet werden):
# Hat manchmal false Positives, aber selten:
reject_unknown_sender_domain
/etc/postfix/sender_mx_blocked:
127.0.0.0/8 REJECT IP address of MX host is a loopback address
224.0.0.0/12 REJECT IP address of MX host is a multicast address
255.0.0.0/8 REJECT IP address of MX host is a bogus address
192.168.0.0/16 REJECT IP address of MX host is a IANA reserved
address
172.16.0.0/12 REJECT IP address of MX host is a IANA reserved
address
10.0.0.0/8 REJECT IP address of MX host is a IANA reserved
/etc/postfix/block_helo_own_ip:
mail.patorg.de 554 Do not use our own domain as HELO!
87.230.12.138 554 Do not use our own domain as HELO!
[87.230.12.138] 554 Do not use our own domain as HELO!
Hier noch einmal ohne Kommentare die Parameter, die hinzukommen, bzw. die
bestehenden ersetzen:
/etc/postfix/main.cf:
smtpd_hard_error_limit = 4
smtpd_helo_required = yes
smtpd_client_restrictions =
smtpd_helo_restrictions =
smtpd_sender_restrictions =
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_helo_access hash:/etc/postfix/block_helo_own_ip
check_sender_mx_access cidr:/etc/postfix/sender_mx_blocked
reject_rbl_client zen.spamhaus.org
reject_unknown_sender_domain
Du kannst diese Konfig erweitern nach deinen Bedürfnissen.
> virtual_gid_maps = static:5000
> virtual_mailbox_base = /home/vmail
> virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf
> virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
> virtual_uid_maps = static:5000
>
> Grüße
> Oliver
> _______________________________________
> GRATIS: Movie-FLAT. Jetzt freischalten!
> http://freemail.web.de/club/maxdome.htm
>
--
Sandy
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Mehr Informationen über die Mailingliste Postfixbuch-users