[Postfixbuch-users] Standard-Verhalten von $relay_domains unklar

Mathias Jeschke postfixbuch-users at gmj.cjb.net
Sa Jan 26 01:19:39 CET 2008


Hallo Postfix-Gurus,

beim Neuaufsetzen meines Postfix-Mailservers ist mir (beim Testen)
ein Umstand aufgefallen, der mich etwas beunruhigt hat.

Definiert man testweise eine (triviale) main.cf, wie folgt:

-----< schnipp >-----
$ cat /etc/postfix/main.cf
myhostname = mail.meinedomain.test
-----< schnapp >-----

So erhält man unter Debian (sarge und etch) folgenden Standardwert
für die "$relay_domains":

-----< schnipp >-----
$ /usr/sbin/postconf | grep "^relay_domains "
relay_domains = $mydestination
$ /usr/sbin/postconf | grep "^mydestination "
mydestination = $myhostname, localhost.$mydomain
-----< schnapp >-----

Versucht man nun eine Mail an einen beliebigen, nicht existierenden
Nutzer zu schicken, erhält man richtiger Weise:

-----< schnipp >-----
$ netcat 192.168.0.1 25 <<EOF
> ehlo localhost
> mail from:<foo at eine.andere.ungueltige.domain.test>
> rcpt to:<ungueltiger.nutzer at mail.meinedomain.test>
> quit
> EOF
220 mail.meinedomain.test ESMTP Postfix
250-mail.meinedomain.test
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
250 2.1.0 Ok
550 5.1.1 <ungueltiger.nutzer at mail.meinedomain.test>: Recipient address rejected: User unknown in local recipient table
221 2.0.0 Bye
-----< schnapp >-----

Versucht man das gleiche Spiel mit einer (fiktiven) Subdomain vor dem
Wert von $mydestination, also im folgenden mit
"subdomain.mail.meinedomain.test", würde Postfix die Mail aus einem mir
nicht bekannten Grund annehmen:

-----< schnipp >-----
$ netcat 192.168.0.1 25 <<EOF
> ehlo localhost
> mail from:<foo at eine.andere.ungueltige.domain.test>
> rcpt to:<ungueltiger.nutzer at subdomain.mail.meinedomain.test>
> quit
> EOF
220 mail.meinedomain.test ESMTP Postfix
250-mail.meinedomain.test
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
250 2.1.0 Ok
250 2.1.5 Ok
221 2.0.0 Bye
-----< schnapp >-----

Ich vermute, dass irgendeine implizite Regel besagt, dass
"$relay_domains" auch alle Subdomains beinhaltet und daher akzeptiert
werden. Da die (ungültige) Subdomain nicht in $mydestination enthalten
ist, wird auch nicht geprüft, ob der Nutzer lokal existiert.

Hätte ich die Mail jetzt (mit "DATA") erstellt und einen gültigen
Absender benutzt, hätte Postfix sicherlich einen "falschen Bounce"
an diesen erstellt, oder!?

Man kann das Verhalten übrigens durch eine "leere" $relay_domains
abstellen - ich weiß aber nicht, was danach nicht mehr korrekt
funktioniert.

Etwas ratlos, wünscht Euch ein schönes Wochenende der
Mathias



Mehr Informationen über die Mailingliste Postfixbuch-users