[Postfixbuch-users] Überprüfung ob from<> to eigenem User vom eigenen Server stammt

Sandy Drobic postfixbuch-users at japantest.homelinux.com
Sa Jun 16 13:46:55 CEST 2007


Uwe Driessen wrote:
> Hallo Liste 
> 
> Ich habe da ein kleines Problem 
> Ich habe die Header und bodychecks für backscatter eingebaut.
> 
> Header_checks
> 
> if /^Received:/
> /^Received: +from +(mail\.fblan\.de) +/  reject this mail is not from this server check
> your Configuration forged client name in Received: header: $1
> /^Received: +from +[^ ]+ +\(([^ ]+ +[he]+lo=|[he]+lo +)(mail\.fblan\.de)\)/  reject this
> mail is not from this server check your Configuration forged client name in Received:s
> header: $2
> /^Received:.* +by +(mail\.fblan\.de)\b/  reject this mail is not from this server check
> your Configuration forged mail server name in Received: header: $1
> endif
> /^Message-ID:.* <!&!/ DUNNO
> /^Message-ID:.*@(mail\.fblan\.de)/  reject this mail is not from this server check your
> Configuration forged domain name in Message-ID: header: $1
> 
> Body_checks
> 
> if /^[> ]*Received:/
> /^[> ]*Received: +from +(fblan\.de) /
>         reject forged client name in Received: header: $1
> /^[> ]*Received: +from +[^ ]+ +\(([^ ]+ +[he]+lo=|[he]+lo +)(fblan\.de)\)/
>         reject forged client name in Received: header: $2
> /^[> ]*Received:.* +by +(fblan\.de)\b/
>         reject forged mail server name in Received: header: $1
> endif
> /^[> ]*Message-ID:.* <!&!/ DUNNO
> /^[> ]*Message-ID:.*@(fblan\.de)/
>         reject forged domain name in Message-ID: header: $1
> 
> eingebunden in der main.cf mit 
> 
> header_checks = pcre:/etc/postfix/checks/header_checks
> body_checks = pcre:/etc/postfix/checks/body_checks
> 
> in der master.cf 
> 
> 193.158.37.130:smtp     inet    n       -       -       0       5      smtpd
>         -o smtpd_proxy_filter=localhost:10024
>         -o smtp_data_done_timeout=1200
>         -o smtp_send_xforward_command=yes
>         -o disable_dns_lookups=yes
>         -o max_use=20
> 
> 193.158.37.130:submission inet n      -       -       -       -       smtpd
>         -o smtpd_sasl_auth_enable=yes
>         -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
>         -o smtpd_proxy_filter=
>         -o receive_override_option=no_header_body_checks
> 
> 127.0.0.1:smtp  inet n      -       -       -       -       smtpd
>         -o smtpd_proxy_filter=
>         -o receive_override_option=no_header_body_checks
> 
> Also sollten eigentlich die local eingelieferten Mails auch nicht durch den Filter laufen 
> 
> Werden jetzt über die Webformulare und/oder Forumsupport automatisiert mails versendet mit
> dem folgenden Header werden diese rejected und ich stehe im Moment auf dem schlauch warum.
> 1. diese Mails sollen überhaupt nicht durch den Filter 
> 2. der Filter soll nur auf from: <> und nur wenn von extern über port 25 eingeliefeet 
>    angewendet werden 
> 3. der Servername mail.fblan.de steht drin  

header/body_checks werden grundsätzlich auf alle Mails angewandt, dies ist
nicht pro Mail konfigurierbar. Wenn du Bedingungen verknüpfen willst wie
Absenderadresse und Einlieferport, dann musst du spezifische Filter schaffen.

Du könntest dir behelfen, indem du auf den gewünschten smtpd in der
master.cf einen check_sender_access verwendest und darin auf "<>"
abprüfst. Dann kannst du mit der Aktion "FILTER" die Mail in einen
speziellen content_filter schieben. Dieser content_filter kann ein Bash-
oder Perlscript sein, welches die Mail dann untersucht.

Bitte beachte, dass die auf der Postfix-Seite angeführten
Header/Body-Checks nur Beispiele sind und genau geprüft werden muss, ob
sie für die eigene Situation wirklich passen. Wenn einer dieser Checks
Mail ablehnt, die auf deinem eigenen Server erzeugt wurden, dann kannst du
 den Check nicht verwenden. Offensichtlich passt er nicht auf deine Situation.


-- 
Sandy

Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com




Mehr Informationen über die Mailingliste Postfixbuch-users