Jump to content

SMTP-Relay mit TLS (selbst signiert)


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

Hallo zusammen,

 

wir haben einen Exchange Server, der über ein SMTP-Relay seine Mails versendet. Primär geschieht dies über den unseres Telekommunikationsanbieters. Als Backup haben wir einen vServer. Bei diesem sollen eingehende Mails auf Port 587 mit TLS eintreffen. Der Server hat hierfür ein selbst signiertes Zertifikat. Exchange verwirft Mails über diesen Sendeconnector, da es dem Zertifikat nicht traut. Ich lasse daher mit einigen Kniffen die Mails über Port 25 zustellen, würde es aber gerne auf TLS umändern. Gibt es eine Möglichkeit dem Exchange dieses Zertifikat schmackhaft zu machen? In die Stammzertifizierungsstelle des Exchange habe ich es schon mit aufgenommen.

 

Danke und beste Grüße,

Johannes

 

Edit: Die Genaue Meldung: "454 4.7.5 certificate validation failure"

Edited by basstscho
Link to post

Tls geht auch per default auf Port 25. wer soll dir denn auf Port 587 Mails senden? So ganz klar ist mir dein Konstrukt noch nicht? Das Relay ist als smarthost bei dir im sendeconnector eingetragen oder wie? Wie treffen eingehende Mails bei dir ein? Erklär bitte etwas ausführlicher deine Konfiguration.

 

Bye

Norbert

Link to post

Hallo Norbert,

 

entschuldige die nicht eindeutig beschriebene Problemstellung. Im Grunde ist es ganz einfach:

 

Nachfolgend die Betrachtung für ausgehende Mails:

[Outlook-Client] --> [Exchange] --> [Relay] --> [Mailserver des Empfängers]

Als Relay für ausgehende Mails verwende ich normalerweise das unseres ISP. Leider ist dieses (sehr selten, aber dennoch) ab und an offline oder steht auf dnsbl-Listen und kann daher nicht zum Mailversand verwendet werden. Auf einem anderen Server habe ich eine weitere Maillösung (Postfix), die ich in diesem Fall als Relay verwende. Dieses nimmt unverschlüsselte Mails von authentifizierten Benutzern grundsätzlich über Port 25 oder 587 an. Gerne würde ich den Versand aber nun mittels eines selbstsignierten Zertifikats über TLS auf Port 587 übermitteln (was mit Mailclients auch problemlos funktioniert). Dies scheitert aber mit der o.g. Fehlermeldung beim Exchange-Server: "454 4.7.5 certificate validation failure". Das Zertifikat wird also von Exchange abgelehnt. Kann ich dieses als Gültiges hinzufügen? In der Stammzertifizierungsstelle habe ich es bereits importiert. Der Exchange-Server ist auch nicht über einen Proxy ans Internet angebunden. Gültigkeit als auch der Hostname im Zertifikat passen.

 

Grüße,

Johannes

Edited by basstscho
Link to post

Wenn dein Provider regelmäßig nicht verfügbar ist, warum sendest du dann überhaupt über ihn? Was hast du bei Exchange denn konfiguriert, und warum soll Exchange tls verschlüsselt senden? Was hast du bei Exchange dort konfiguriert? Wo steht das Relay?

 

Bye

Norbert

Link to post
  • 2 months later...

Hallo basstscho,

 

hast Du bereits eine Lösung gefunden? Ich stehe nämlich vor genau demselben Problem: Unser Kunde wollte seine Linux-Infrastruktur gegen Windows tauschen, kann aber wegen seiner wechselnden IP-Adresse (DynDNS) nicht auf den Smarthost verzichten.

 

Auf dem Smarthost läuft ein Postfix, der als Anmeldemethode verschlüsseltes SMTP-Auth (STARTTLS) erwartet und mit dem alten Zarafa-Mailserver tadellos funktioniert. Nur Exchange weigert sich beharrlich, sich am Relay anzumelden und gibt stattdessen die Meldung aus: >>Primary target IP address responded with: "454 4.7.5 Certificate validation failure." (...)<<

 

Ich bin auf einen Kommentar im Netz gestoßen, der darauf hindeutet, dass Exchange 2013 für die SMTP-Authentifizierung keine selbstsignierten Zertifikate akzeptiert. Kann das jemand bestätigen?

 

Insbesondere zertifikatseitig habe ich schon einiges probiert: Ich habe im DC die Zertifikatsdienste installiert und dem Relay ein Zertifikat mitgegeben, das von der Root-CA der Domäne signiert wurde, hat aber nichts geholfen: Das Problem blieb.

 

Kann es wirklich sein, dass nur für die STARTTLS-Authentifizierung ein Zertifikat gekauft werden muss?


P.S.:

 

Für den Sendekonnektor des Exchange Servers habe ich unter Zustellung folgendes eingestellt:

  • E-Mail über Smarthosts weiterleiten aktiviert,
  • Unter SMARTHOST den Smarthost eingegeben,
  • Standardauthentifizierung gewählt und Standardauthentifizierung erst nach dem Start von TLS anbieten aktiviert,
  • Benutzername und Kennwort sind korrekt.

Hier die relevanten Teile der Postfix-Konfiguration:

# (...)

mynetworks = 127.0.0.0/8
relay_domains = xxxxxxxxxxxxxxxxxx.de, yyyyyyyyyyyyyyyyyy.de
parent_domain_matches_subdomains = debug_peer_list, smtpd_access_maps
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
transport_maps = hash:/etc/postfix/transport

# (...)

smtpd_sasl_local_domain = $myhostname
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

# (...)

smtpd_tls_auth_only = yes
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_cert_file=/etc/ssl/certs/xxxxxxxxxxxxxxxxxx.pem
smtpd_tls_key_file=/etc/ssl/private/xxxxxxxxxxxxxxxxxx.key
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache


und hier die smtpd.conf:

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux

Edited by Martin.U
Link to post

Oha, ich glaube, wir kommen dem Problem näher:

  • Microsoft Exchange konnte ein Zertifikat nicht finden, das den Domänennamen "xxxxxxxxxxxxxxxxxx.de" im persönlichen Informationsspeicher auf dem lokalen Computer enthält. Daher kann die STARTTLS-SMTP-Aktionsart für den Connector "xxxxxxxxxxxxxxxxxx.de" mit einem FQDN-Parameter von "xxxxxxxxxxxxxxxxxx.de" nicht unterstützt werden. Überprüfen Sie die Connectorkonfiguration sowie die installierten Zertifikate, damit sichergestellt wird, dass ein Zertifikat mit einem Domänennamen für jeden Connector-FQDN vorhanden ist. Wenn das Zertifikat vorhanden ist, führen Sie "Enable-ExchangeCertificate -Services SMTP" aus, damit sichergestellt ist, dass der Microsoft Exchange-Transportdienst auf den Zertifikatschlüssel zugreifen kann.
  • Das TLS-Zertifikat (Transport Layer Security) des Smarthosts für den Connector 'xxxxxxxxxxxxxxxxxx.de' konnte nicht überprüft werden. Der Zertifikatüberprüfungsfehler für das Zertifikat ist SubjectMismatch. Wenn das Problem weiterhin besteht, wenden Sie sich an den Administrator des Smarthosts, um das Problem zu beheben.

Ich werde mir nochmal genau die Zertifikate ansehen, die vom Relay, vom Mailserver (Computer) und vom Exchange verwendet werden und sicherstellen, dass alle Zertifikate den FQDN enthalten. Mal sehen, ob es dann klappt.

Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...