SMTP Auth aktiv aber Wordpress Mails ohne Auth

Status
Für weitere Antworten geschlossen.

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Hallo,

ich nutze die aktuellste Version der DSM inkl. den Mailserver und Wordpress. Das EHLO auf den Port 25 antwortet wie folgt.

250-PIPELINING
250-SIZE 10485760
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Die Zeilen "250-AUTH PLAIN LOGIN" und "250-AUTH=PLAIN LOGIN" vermitteln mir nach den von mir gelesenen Anleitungen, dass eine Authentifizierung per Benutzername und Login notwendig ist. Das ist doch korrekt?

Nun habe ich im Wordpress unter Settings SMTP meinen Mailserver angegeben. SMTP Host ist die externe Adresse, SMTP Port 465 inkl. SSL und KEIN SMTPAuth. Dennoch wird die Testmail erfolgreich verschickt? Wieso? Wie kann ich nun sicher sein, dass die Authentifizierung Pflicht ist? Oder gibt es unterschiede zwischen dem verschlüsselten Zugang auf 465/SSL und nicht verschlüsselt 25?

Danke für eure Hilfe,
mexx
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Die Verwendung von Port 465 ist heutzutage (genauer gesagt seit Spezifikation von STARTTLS) eher ungewöhnlich.
Um eine sichere Authentifikation zu erzwingen, kannst Du bspw. in der Mailserver-Konfiguration (also der main.template) am Ende ergänzen

Rich (BBCode):
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes

EDIT
Zu Port 25: dieser sollte für Client-Server-Kommunikation gar nicht verwendet werden, sondern nur zwischen den Mailservern. Die Clients sollten eigentlich Port 587 zur Einlieferung nutzen, Port 465 (SSL) ist dagegen eher veraltet.
 
Zuletzt bearbeitet:

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Das habe ich. Hier die main.template

mailbox_size_limit = 0
broken_sasl_auth_clients = yes
disable_vrfy_command = yes
cyrus_sasl_config_path = /var/packages/MailServer/target/etc
smtpd_sasl_authenticated_header = yes
smtpd_tls_cert_file = /usr/syno/etc/ssl/ssl.crt/server.crt
smtpd_tls_key_file = /usr/syno/etc/ssl/ssl.key/server.key
smtpd_tls_security_level = may
smtp_tls_security_level=may
sender_bcc_maps = hash:/var/packages/MailServer/target/etc/bcc/sender_bcc
recipient_bcc_maps = hash:/var/packages/MailServer/target/etc/bcc/recipient_bcc
smtpd_client_restrictions = check_client_access hash:/var/packages/MailServer/target/etc/access/client_access, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_tls_auth_only = yes

Es bleibt dabei. Ich kann von Wordpress als auch von meiner Fritzbox aus ohne Auth senden. Versuche ich es aber per iPhone oder Thunderbird, funktioniert es nicht.
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Wie sieht Deine master.template aus?
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Danke, dass Du mir hilfst. Hier das master.template. Ich hätte vielleicht noch erwähnen sollen, dass ich zusätzlich zarafa verwende. Zarafa macht ja aber nicht den Versandt der Mails, weshalb ich das nicht erwähnt habe.

#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
#smtp inet n - n - - smtpd
zarafa unix - n n - 10 pipe
flags= user=vmail argv=/usr/local/zarafa/bin/zarafa-dagent $(user)
#submission inet n - n - - smtpd
# -o smtpd_tls_security_level=encrypt
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - n - - smtp
-o smtp_fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
#maildrop unix - n n - - pipe
# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
#old-cyrus unix - n n - - pipe
# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus unix - n n - - pipe
# user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
#uucp unix - n n - - pipe
# flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# ====================================================================
#
# Other external delivery methods.
#
#ifmail unix - n n - - pipe
# flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
#
#bsmtp unix - n n - - pipe
# flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
#
#scalemail-backend unix - n n - 2 pipe
# flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
# ${nexthop} ${user} ${extension}
#
#mailman unix - n n - - pipe
# flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
# ${nexthop} ${user}
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Wie ich oben schon schrieb, ist Port 465 für SMTPS (SMTP über SSL/TLS) eher veraltet. Hier wird die Verwendung der Sicherungsschicht gar nicht mehr ausgehandelt.
Das musst Du allerdings explizit aktivieren im Postfix, dafür dienen die Zeilen

Rich (BBCode):
smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
bei denen Du also die Auskommentierung entfernen müsstest.

Empfehlenswert wäre aber doch eher die Verwendung von Port 587 zur Einlieferung (SMTP Submission). Hier läuft verschlüsselt und unverschlüsselt über denselben Port. Details findest Du hier.
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Hallo Frogman,

ich habe die master.template wie folgt angepasst.

Rich (BBCode):
smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING

Die erwartete Zwangsauthentifizierung auf Port 465 ist dabei nicht erreicht wurden. Der Versandt aus Wordpress Testmail ist nach wie vor auch ohne Zugangsdaten möglich.
Ich habe mir den Link durchgelesen und submission aktiviert.

Rich (BBCode):
submission inet n       -       n       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

Ich habe die Firewall konfiguriert und in den iptables überprüft ob das korrekt übernommen wurde. Mit netstat habe ich überprüft, ob der Port nun offen ist.

Rich (BBCode):
MeinHost> netstat -an |grep 465
tcp        0      0 0.0.0.0:465                  0.0.0.0:*                    LISTEN
tcp        0      0 ::%134910348:465        ::%134910348:*          LISTEN
MeinHost> netstat -an |grep 587
tcp        0      0 0.0.0.0:587                     0.0.0.0:*                    LISTEN
tcp        0      0 ::%134910348:587       ::%134910348:*          LISTEN

Ist er!

Dennoch kann ich den Port nicht verwenden. :( Weder per Thunderbird noch per Wordpress Testmail senden. Ein Check per tcpdump -i bond0 port 587 auf den Port zeigt mir aber, dass eine Kommunikation statt findet. Aber nicht viel. Es taucht nur eine Zeile auf.

Damit bleibt mein Problem bestehen.

Gruß,
mexx

PS: Wie mache ich Code
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Fehlermeldung im Thunderbird-Log?

PS: In Testszenarien sollte man besser ohne Firewall arbeiten...
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Ein kleiner Fehlerteufel hat sich eingeschlichen. Port 587 war nicht in der Portweiterleitung. Jetzt schon, was ich auch am vermehrten tcpdump Traffic sehe, aber es funktioniert noch nicht. Wenn Du ein telnet auf dein port 587 machst, bekommst du da eine Antwort?
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Ja, siehe Anhang. Ich erzwinge in meiner Konfig eine Verschlüsselung und danach die Authentifizierung. Ein Versuch, ohne verschlüsselte Authentifizierung zu starten, führt zu einer Aufforderung und - bei Nichtbefolgung - zu einem Abbruch.

smtp-connect.jpg
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Okay, ich muss mich entschuldigen. Tippfehler in iptables. Jetzt antwortet der Port 587 per Telnet, action im tcpdump und Maillog. In Thunderbird sieht die Konfiguration wie folgt aus.

Unbenannt.JPG

Im Maillog und als Fehlermeldung im Thunderbird bekomme ich diesen Text:

Rich (BBCode):
Aug 20 11:08:39 MeinHost postfix/smtpd[24749]: NOQUEUE: reject: RCPT from unknown[xxx.xxx.xxx.xxx]: 553 5.7.1 <kontakt@MeinHost.de>: Sender address rejected: not owned by user kontakt; from=<kontakt@MeinHost.de> to=<HalloWelt@Welt.de> proto=ESMTP helo=<[xxx.xxx.xxx.xxx]>

Die Meldung ist jedoch schlicht falsch. Der User Kontakt wurde in der grafischen Oberfläche der DSM angelegt und zusätzlich als Alias kontakt@MeinHost.de mit dem User Kontakt verknüpft. Wieso behauptet Postfix, der User Kontakt hätte keine Rechte auf die Adresse?
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Mmh, keine Ahnung, ob Dir hier die Groß-/Kleinschreibung vom User "Kontakt" ein Strich durch die Rechnung macht (hier hab ich auf die Schnelle mal was gelesen)... ich würde konsequent alles klein schreiben, den User also auch als "kontakt" einrichten.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat