[Postfixbuch-users] UPS/DHL Spam

Urban Loesch bind at enas.net
Fr Mär 6 09:24:05 CET 2015


>>
>> Mail wird dajer rejected und kommt gar nicht zum Viren/Spamscanner.
>>
>>
> Kannst Du Infos zur Konfiguration posten?
> Habe noch nichts mit DMARC gemacht.
> 
> Geht das auch easy mit Amavis/Spamassassin oder nur über einen anderen milter?
> 
> 

Ganz so einfach geht es nicht. Amavis/Spamassassin unterstützen soweit ich weiß kein DMARC.
Oder besser gesagt, ich habe nicht wirklich was brauchbares dazu mit Google gefunden.

Daher habe ich mich entschieden es mit dem opendmarc-milter zu versuchen. Etwas Arbeit und Tests
waren da schon dabei :-)

DMARC baut auf SPF und DKIM auf und wertet eigentlich nur die im Mailheader enthaltenen
Zeilen diesbezüglich aus und entscheidet was mit der eingehenden Mail je nach Policy des Absenders
passieren soll.

D.h.:
1) Mail auf SPF prüfen und Resultat im Header einfügen
2) Mail auf DKIM prüfen und REsultat im Header einfügen
3) Mail mit den eingefügten Headern dem DMARC Milter übergeben zur weiteren Verarbeitung

Die Konfiguration sieht bei mir folgendermaßen aus (hoffe ich habe nichts vergessen):

Relevante installierete Pakete und Reihenfolge der Checks
- postfix-policyd-spf-python
- opendkim als Milter nur im Verify-Modus
- opendmarc als Milter
- clamav-milter
- amavis-milter mit spamassassin


Konfiguration:
POSTFIX main.cf
...
smtpd_data_restrictions =      check_sender_access regexp:/etc/postfix/add_header_to_all.regexp,
				# setzt leeren Pseudo Header, da sonst opendmarc den SPF Header nicht uebertragen bekommt. Details:
                               # https://groups.google.com/forum/#!topic/mailing.postfix.users/FyFdakjwZ-s -> mit Postfix 3.0 behoben.
                               # Besser in smtpd_data_restrictions, so wird der Header bei mehreren gleichzeitigen Recipients nur 1x gesetzt
                               # SPF Policyserver der A+R Header einfuegt.
                               check_policy_service unix:private/policyd-spf


milter_default_action = accept
milter_protocol = 6
# SPF Header werden mit postfix-policyd-spf gesetzt
# inet:localhost:8891 = OpenDKIM - ersetzt Amavis Verification
# inet:localhost:8892 = OpenDMARC - braucht SPF + DKIM Results im Header für Auswertung
smtpd_milters = inet:IPMILTER-SERVER:8891,inet:IPMILTER-SERVER:8892,ANDRE MILTER MAXIMAL 4
...


#  cat etc/postfix/add_header_to_all.regexp
/.\@./ PREPEND X-PSEUDO: Auth-Res


POLICYD-SPF:
#  cat /etc/postfix-policyd-spf-python/policyd-spf.conf

#  For a fully commented sample config file see policyd-spf.conf.commented
debugLevel = 0
defaultSeedOnly = 1
Mail_From_reject = False
HELO_reject = False
PermError_reject = False
TempError_Defer = False
No_Mail = False
Header_Type = AR
Authserv_Id = mein.mx.com
skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0//104,::1//128
...

OPENDKIM:
# cat /etc/opendkim.conf |grep -v ^#

Syslog          yes
SyslogSuccess   yes
LogWhy          yes
LogResults      yes
UMask			000
ExemptDomains  /etc/opendkim_whitelist.txt
TemporaryDirectory /var/tmp
Mode			v
DNSTimeout      5
AlwaysAddARHeader yes
AddAllSignatureResults	yes
AutoRestart     yes
SoftwareHeader	yes
DisableADSP yes
MaximumHeaders  131072
PeerList        /etc/postfix/opendmarc-ignore.lst
Statistics      /var/run/opendkim/opendkim.db
TrustAnchorFile /etc/opendkim_trusted_anchor.txt
On-Default a
On-KeyNotFound r

...

OPENDMARC:
# cat /etc/opendmarc.conf

HistoryFile /var/tmp/dmarc.dat
IgnoreHosts /etc/postfix/opendmarc-ignore.lst
RejectFailures true
SoftwareHeader true
Syslog true
UMask 0111
Socket inet:8892
SPFSelfValidate false
SPFIgnoreResults false
...

Der Postfix und der Milterserver sind 2 getrennte virtuelle Server auf dem selben Host.
Als OS nutze ich Debian Wheezy für Postfix und Debian Testing für den Milterserver. Ich weiß, ich weiß "Testing"....
Ich hatte aber seit 6 Monaten nie Probleme damit und es läuft zu meiner Zufriedenheit.

Ich hoffe ich habe nichts vergessen.

Schöne Grüße
Urban






Mehr Informationen über die Mailingliste Postfixbuch-users