hereiam
Goto Top

Exchange 2010 - externe Verbindung via IMAP TLS 1.2 durch DrittanbieterSoftware

Hallo Gemeinschaft,

wir nutzen einen Exchange 2010 und haben das IMAP Protokoll des Servers aktiviert, sowie die TLS Verschlüsselung.

Bis vor ca. 1-2 Wochen ging der Abruf noch reibungslos, jetzt verbindet sich die Drittanbietersoftware (hier ZOHO CRM) nicht mehr mit unserem Server.

Leider gibt der Anbieter keine Logfiles heraus.

Unsere Einsellungen lauten wie folgt:

Server: unser.server.de
Port: 993
Sichere Verbindung: TLS
Benutzername: Domäne\Benutzer
Passwort entsprechend

Intern funktioniert unser Mailing reibungslos, leider die Verbindung von außerhalb nicht.

Als Firewall nutzen wir eine Watchguard, haben dort die Verbindung bereits geprüft, diese wird zugelassen und an die entsprechende IP geroutet (Exchange Server).

Unser Zertifikat

Nun habe ich von extern bereits die Verbindung mittels OpenSSL geteset. Leider werde ich aus dem Response nicht schlau... (siehe Anbei)

Im Eventlog des Servers steht leider auch kein Fehler.

Server haben wir neugestartet, IMAP Dienst neugestartet... hilft leider nicht.

Exchange Zertifikate sind noch bis 2020 gültig.

Ich danke bereits jetzt für eure Hilfe.
openssl

Content-Key: 485476

Url: https://administrator.de/contentid/485476

Printed on: April 26, 2024 at 12:04 o'clock

Member: LordGurke
LordGurke Aug 15, 2019 updated at 18:39:26 (UTC)
Goto Top
Die OpenSSL-Ausgabe sagt dir, dass auf der Verbindung kein Zertifikat vom Server gezeigt wurde.
Das ist auf jeden Fall ein Fehler und erklärt, warum keine sichere Verbindung zustande kommt.

Versuche noch einmel eine Verbindung aufzubauen, setze aber zusätzlich einmal den Parameter
-servername "fqdn.auf.dem.zertifikat"  
um mittels SNI zu signalisieren, welches Zertifikat du erwartest.
Wenn dann eine Verbindung zustande kommt, solltest du auf jeden Fall dort, wo jetzt "no peer certificate available" steht, das Zertifikat eures Servers sehen.

Falls es mit SNI funktioniert, ohne Angabe des Servernamens nicht, müsste der Exchange entsprechend konfiguriert werden, dass er auch ohne SNI funktioniert - denn das ist zumindest für IMAPS kein Standard.

Zusätzlich kannst du auch einmal gegen IMAP mit STARTTLS testen (falls das auf dem Server aktiviert ist):
openssl s_client -connect "euer.server:imap" -starttls imap  
Member: HereIAm
HereIAm Aug 16, 2019 at 08:19:38 (UTC)
Goto Top
Hallo LordGurke,

vielen Dank für deine nützlichen Hinweise.

Ich konnte nun feststellen, dass bei dem Protokoll TLS1 die Meldung IMAP4 service is ready kommt und das Zertifikat wird angezeigt.

Stelle ich das Protokoll auf TLS1_2 um, bekomme ich die Meldung von dem oberen Screenshot (Kein Zertifikat wird angezeigt).

Jetzt stellt sich mir die Frage, ob ein Zertifikat Protokoll/Versions-abhängig ist, oder welche Einstellungen wir noch vergessen haben könnten.


Danke für eure Mithilfe.
Member: Dani
Dani Aug 16, 2019 at 16:57:54 (UTC)
Goto Top
Moin,
  • Ist TLS 1.2 auf dem Client, von wo aus du Openssl aufrufst, aktiviert?
  • Ist TLS 1.2 auf dem Exchange-Server aktiviert?

Stelle ich das Protokoll auf TLS1_2 um, bekomme ich die Meldung von dem oberen Screenshot (Kein Zertifikat wird angezeigt).
Wo stellst du das Protokoll um?


Gruß,
Dani
Member: HereIAm
HereIAm Aug 19, 2019 updated at 06:04:47 (UTC)
Goto Top
Moin Dani,

ich arbeite mit OpenSSL, dort gebe ich das Protokoll im Befehl an.

Wie kann ich prüfen ob TLS 1.2 auf dem Exchange aktiviert ist. Ich dachte das kann ich mittels OpenSSL machen?

Der Drittanbieter hat TLS 1.0 seit Anfang des Monats deaktiviert. Seitdem funktioniert die Verbindung zu unserem Exchange nicht mehr.

Edit (ssllabs.com) Log:
Protocols
TLS 1.3 No
TLS 1.2 Yes
TLS 1.1 Yes
TLS 1.0 Yes
SSL 3 INSECURE Yes
SSL 2 No

Edit (checktls.com) Log:

seconds test stage and result
[000.094] Connected to server
[000.199] <-- 220 mail.meinserver.de Service ready
[000.199] We are allowed to connect
[000.199] --> EHLO www6.CheckTLS.com
[000.295] <-- 250-Requested mail action okay, completed
250-8BITMIME
250-SIZE 50000000
250-STARTTLS
250 OK
[000.295] We can use this server
[000.295] TLS is an option on this server
[000.295] --> STARTTLS
[000.391] <-- 220 Ready to start TLS
[000.391] STARTTLS command works on this server
[000.606] Connection converted to SSL
SSLVersion in use: TLSv1_2
Cipher in use: ECDHE-RSA-AES256-GCM-SHA384
Certificate 1 of 2 in chain: Cert VALIDATION ERROR(S): unsupported certificate purpose
So email is encrypted but the recipient domain is not verified
Cert Hostname DOES NOT VERIFY (mail.meinserver.de != https.proxy.nul)
So email is encrypted but the host is not verified
Not Valid Before: Jun 16 10:02:52 2018 GMT
Not Valid After: Jul 13 10:02:52 2028 GMT
subject= /O=WatchGuard_Technologies/OU=Fireware/CN=https.proxy.nul
issuer= /O=WatchGuard_Technologies/OU=Fireware/CN=Fireware HTTPS Proxy (SN 801402C63BFFC 2018-07-16 10:02:52 UTC) CA
Certificate 2 of 2 in chain: Cert VALIDATION ERROR(S): self signed certificate in certificate chain; unsupported certificate purpose
So email is encrypted but the recipient domain is not verified
Not Valid Before: Jun 16 10:02:52 2018 GMT
Not Valid After: Jul 13 10:02:52 2028 GMT
subject= /O=WatchGuard_Technologies/OU=Fireware/CN=Fireware HTTPS Proxy (SN 801402C63BFFC 2018-07-16 10:02:52 UTC) CA
issuer= /O=WatchGuard_Technologies/OU=Fireware/CN=Fireware HTTPS Proxy (SN 801402C63BFFC 2018-07-16 10:02:52 UTC) CA
[000.608] ~~> EHLO www6.CheckTLS.com
[000.702] <~~ 250-Requested mail action okay, completed
250-8BITMIME
250-SIZE 50000000
250 OK
[000.702] TLS successfully started on this server
[000.702] ~~> MAIL FROM:<test@checktls.com>
[000.798] <~~ 250 Requested mail action okay, completed
[000.798] Sender is OK
[000.798] ~~> QUIT
[000.894] <~~ 221 Service closing transmission channel


Grüße HereIAm
Member: Dani
Dani Aug 21, 2019 at 14:37:16 (UTC)
Goto Top
Moin,
wir nutzen einen Exchange 2010 und haben das IMAP Protokoll des Servers aktiviert, sowie die TLS Verschlüsselung.
Has du eigentlich die neusten SPs und RUs für Exchange Server 2010 installiert?

ich arbeite mit OpenSSL, dort gebe ich das Protokoll im Befehl an.
Greift OpenSSL auf die Windows API zurück, um die TLS Protokolle zu testen? Ich bin mir nicht sicher. Aber mein Bauch sagt eher nein.

Wie kann ich prüfen ob TLS 1.2 auf dem Exchange aktiviert ist. Ich dachte das kann ich mittels OpenSSL machen?
Ja und Nein. Nachstehend zwei Code Schnipsel für einen kl. Test:
https://www.thecodeasylum.com/testing-ssl-and-tls-with-powershell/
https://www.sysadmins.lv/blog-en/test-web-server-ssltls-protocol-support ...

Edit (checktls.com) Log:
...
Achtung , bei der Prüfung aus dem Internet wird keine direkte Verbindung zwischen chechtls.com und einem Exchange-Server aufgebaut. Die Verbindung wird zwischen checktls.com und Watchguard und danach Watchguard zu Exchange Server aufgebaut. D.h. es ist theoretisch sogar möglich, dass zwischen letzeren Verbindung gar kein TLS benutzt wird. Das kann man aus der Ferne aber nicht berurteilen, weil es da um Details geht.

Der Drittanbieter hat TLS 1.0 seit Anfang des Monats deaktiviert. Seitdem funktioniert die Verbindung zu unserem Exchange nicht mehr.
Wo läuft denn die 3rd Party App - Cloud, OnPremise auf dem Exchange Server oder eine separate VM? Welches OS? etc..


Gruß,
Dani
Member: HereIAm
HereIAm Aug 22, 2019 updated at 05:50:21 (UTC)
Goto Top
Zitat von @Dani:

Moin,
wir nutzen einen Exchange 2010 und haben das IMAP Protokoll des Servers aktiviert, sowie die TLS Verschlüsselung.
Has du eigentlich die neusten SPs und RUs für Exchange Server 2010 installiert?

Ja sind auf dem aktuellsten Stand.
ich arbeite mit OpenSSL, dort gebe ich das Protokoll im Befehl an.
Greift OpenSSL auf die Windows API zurück, um die TLS Protokolle zu testen? Ich bin mir nicht sicher. Aber mein Bauch sagt eher nein.

Ich bin mir leider auch nicht sicher.
Wie kann ich prüfen ob TLS 1.2 auf dem Exchange aktiviert ist. Ich dachte das kann ich mittels OpenSSL machen?
Ja und Nein. Nachstehend zwei Code Schnipsel für einen kl. Test:
https://www.thecodeasylum.com/testing-ssl-and-tls-with-powershell/
https://www.sysadmins.lv/blog-en/test-web-server-ssltls-protocol-support ...

Port 443
Bei Port 443 ist die korrekte TLSv aktiv, stelle ich es auf Port 993, ist nur TLSv1_0 aktiv. Scheint hier der Fehler zu liegen?
HashAlgorithm : Sha384
KeyExhange    : 44550
TLSv1_1       : True
SSLv3         : True
Host          : meinserver.domain.de
SSLv2         : False
Port          : 443
TLSv1_0       : True
TLSv1_2       : True

From 192.168.1.235 to meinserver.domain.de 192.168.1.235:443
CanRead: True
CanSeek: False
CanTimeout: True
CanWrite: True
CheckCertRevocationStatus: False
CipherAlgorithm: Aes256
CipherStrength: 256
HashAlgorithm: Sha384
HashStrength: 384
IsAuthenticated: True
IsEncrypted: True
IsMutuallyAuthenticated: False
IsServer: False
IsSigned: True
KeyExchangeAlgorithm: 44550
KeyExchangeStrength: 256
LeaveInnerStreamOpen: False
Length: 
LocalCertificate: 
Position: 
ReadTimeout: 15000
RemoteCertificate: System.Security.Cryptography.X509Certificates.X509Certificate
SslProtocol: Tls12
TransportContext: System.Net.SslStreamContext
WriteTimeout: 15000
Port 993
HashAlgorithm : Sha1
KeyExhange    : 44550
TLSv1_1       : False
SSLv3         : True
Host          : meinserver.domain.de
SSLv2         : False
Port          : 993
TLSv1_0       : True
TLSv1_2       : False

From 192.168.1.235 to meinserver.domain.de 192.168.1.235:993
CanRead: False
CanSeek: False
CanTimeout: True
CanWrite: False
CheckCertRevocationStatus: False
CipherAlgorithm: 
CipherStrength: 
HashAlgorithm: 
HashStrength: 
IsAuthenticated: False
IsEncrypted: False
IsMutuallyAuthenticated: False
IsServer: False
IsSigned: False
KeyExchangeAlgorithm: 
KeyExchangeStrength: 
LeaveInnerStreamOpen: False
Length: 
LocalCertificate: 
Position: 
ReadTimeout: 15000
RemoteCertificate: 
SslProtocol: 
TransportContext: System.Net.SslStreamContext
WriteTimeout: 15000
Edit (checktls.com) Log:
...
Achtung , bei der Prüfung aus dem Internet wird keine direkte Verbindung zwischen chechtls.com und einem Exchange-Server aufgebaut. Die Verbindung wird zwischen checktls.com und Watchguard und danach Watchguard zu Exchange Server aufgebaut. D.h. es ist theoretisch sogar möglich, dass zwischen letzeren Verbindung gar kein TLS benutzt wird. Das kann man aus der Ferne aber nicht berurteilen, weil es da um Details geht.

Ok, danke für den Hinweis.
Der Drittanbieter hat TLS 1.0 seit Anfang des Monats deaktiviert. Seitdem funktioniert die Verbindung zu unserem Exchange nicht mehr.
Wo läuft denn die 3rd Party App - Cloud, OnPremise auf dem Exchange Server oder eine separate VM? Welches OS? etc..

Die 3rd Party läuft in der Cloud - Es handelt sich um ein CRM System

Gruß,
Dani

EDIT
Ich habe mir nochmal die Exchange Imap Einstellungen anzeigen lassen:
[PS] C:\Windows\system32>Get-ImapSettings | Format-List *ConnectionSettings,*Bindings,X509CertificateName

InternalConnectionSettings : {meinserver.domain.de:993:SSL, meinserver.domain.de:143:TLS}
ExternalConnectionSettings : {mail.contoso.com:993:TLS}
UnencryptedOrTLSBindings   : {0.0.0.0:143, :::143}
SSLBindings                : {:::993, 0.0.0.0:993}
X509CertificateName        : mein.zertifikat.de

Grüße,
HereIAm
Member: Dani
Dani Aug 22, 2019 at 17:23:23 (UTC)
Goto Top
Member: HereIAm
HereIAm Sep 03, 2019 at 06:38:19 (UTC)
Goto Top
Moin Dani,

wir werden unsere Infrastruktur aktualisieren face-wink und alles auf Exchange 2016 auslegen.

Werde berichten, ob es dann funktioniert.

Grüße