ueba3ba
Goto Top

Exchange - IMAP Abruf klappt nicht

Hallo liebes Forum,

ich hab mal wieder ein Problem.
Diesmal mit einem Exchange 2019 in meinem Test Labor.


Betriebssystem: Windows 2019 als Hyper-V VM
Exchange Version: 15.2 (Build 1118.7)
Standard-Testversion

Der Exchange Server ist als VM installiert.
Es existiert eine Demo AD Struktur.

Auch existieren 6 Windows 10 VM's von denen aus die Anmeldung am Exchange Server mit unterschiedlichen Benutzern
und Outlook 2019 einwandfrei funktioniert.

Auch die Anmeldung von meinem Heim-PC aus mit Outlook 2019 am Exchange Server, über das Internet und ActiveSync,
funktioniert einwandfrei.

Was leider nicht funktioniert ist die Anmledung am Exchange Server mit Outlook oder Thunderbird über IMAP.
Weder an einer lokalen Win10 VM noch über das Internet.

An der Firewall( Virtuelle Securepoint UTM) ist der Port für IMAP über SSL(993) freigegeben.

Der IMAPProxy ist auf activ gesetzt am Exchange Server

PS C:\Users\Administrator.meine-domain> Get-ServerComponentState -Identity srv-ex01

Server                      Component                  State
------                      ---------                  -----
SRV-EX01.meine-domain ServerWideOffline          Active
SRV-EX01.lmeine-domain.de HubTransport               Active
SRV-EX01.meine-domain.de FrontendTransport          Active
SRV-EX01.meine-domain.de Monitoring                 Active
SRV-EX01.meine-domain.de RecoveryActionsEnabled     Active
SRV-EX01.meine-domain.de AutoDiscoverProxy          Active
SRV-EX01.meine-domain.de ActiveSyncProxy            Active
SRV-EX01.meine-domain.de EcpProxy                   Active
SRV-EX01.meine-domainde EwsProxy                   Active
SRV-EX01.meine-domain ImapProxy                  Active
SRV-EX01.meine-domain.de OabProxy                   Active
SRV-EX01.meine-domain.de OwaProxy                   Active
SRV-EX01.meine-domain.de PopProxy                   Active
SRV-EX01.meine-domain.de PushNotificationsProxy     Active
SRV-EX01.meine-domain.de RpsProxy                   Active
SRV-EX01.meine-domain.de RwsProxy                   Active
SRV-EX01.meine-domain.de RpcProxy                   Active
SRV-EX01.meine-domain.de XropProxy                  Active
SRV-EX01.meine-domain.de HttpProxyAvailabilityGroup Active
SRV-EX01.meine-domain.de ForwardSyncDaemon          Inactive
SRV-EX01.meine-domain.de ProvisioningRps            Inactive
SRV-EX01.meine-domain.de MapiProxy                  Active
SRV-EX01.meine-domain.de EdgeTransport              Active
SRV-EX01meine-domain.de HighAvailability           Active
SRV-EX01meine-domain.de SharedCache                Active
SRV-EX01meine-domain.de MailboxDeliveryProxy       Active
SRV-EX01.meine-domain.de RoutingUpdates             Active
SRV-EX01.meine-domain.de RestProxy                  Active
SRV-EX01.meine-domain.de DefaultProxy               Active
SRV-EX01.meine-domain.de Lsass                      Active
SRV-EX01.meine-domain.de RoutingService             Active
SRV-EX01.meine-domain.de E4EProxy                   Active
SRV-EX01meine-domain.de CafeLAMv2                  Active
SRV-EX01.meine-domain.de LogExportProvider          Active

Mein mit Certifytheweb erstelltes LetsEncrypt Zertifikat ist meines Erachtens nach, korrekt eingerichtet.


PS C:\Users\Administrator.meine-domain> Get-ExchangeCertificate | ?{$_.Services} | fl *


EnhancedKeyUsageList : {Serverauthentifizierung (1.3.6.1.5.5.7.3.1), Clientauthentifizierung (1.3.6.1.5.5.7.3.2)}
DnsNameList          : {meine-domain.de}
SendAsTrustedIssuer  : False
AccessRules          : {System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule}
CertificateDomains   : {meine-domainde}
CertificateRequest   :
IisServices          : {IIS://SRV-EX01/W3SVC/1}
IsSelfSigned         : False
KeyIdentifier        : 02BC0E27A9B41BC08DCBF4F52726A048597458E2
RootCAType           : ThirdParty
Services             : IMAP, POP, IIS, SMTP
Status               : Valid
SubjectKeyIdentifier : 02BC0E27A9B41BC08DCBF4F52726A048597458E2
PrivateKeyExportable : True
PublicKeySize        : 2048
Identity             : SRV-EX01.meine-domain.de\5A65B7B86728CF866B5599062758B76E4D1A9EC0
ServicesStringForm   : IP.WS..
Archived             : False
Extensions           : {System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oid...}
FriendlyName         : srv-ex01.meine-domain.de [Certify] - 16.03.2023 17:59:13 to 14.06.2023 18:59:12
IssuerName           : System.Security.Cryptography.X509Certificates.X500DistinguishedName
NotAfter             : 14.06.2023 18:59:12
NotBefore            : 16.03.2023 17:59:13
HasPrivateKey        : True
PrivateKey           : System.Security.Cryptography.RSACryptoServiceProvider
PublicKey            : System.Security.Cryptography.X509Certificates.PublicKey
RawData              : {48, 130, 5, 59...}
SerialNumber         : 049F0D1581B19B83C7B76FC4FC1E39795CDC
SubjectName          : System.Security.Cryptography.X509Certificates.X500DistinguishedName
SignatureAlgorithm   : System.Security.Cryptography.Oid
Thumbprint           : 5A65B7B86728CF866B5599062758B76E4D1A9EC0
Version              : 3
Handle               : 1222554061584
Issuer               : CN=R3, O=Let's Encrypt, C=US  
Subject              : CN=srv-ex01.meine-domain.de

EnhancedKeyUsageList : {Serverauthentifizierung (1.3.6.1.5.5.7.3.1)}
DnsNameList          : {SRV-EX01, SRV-EX01.meine-domain.de}
SendAsTrustedIssuer  : False
AccessRules          : {System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule,
                       System.Security.AccessControl.CryptoKeyAccessRule}
CertificateDomains   : {SRV-EX01, SRV-EX01.meine-domain.de}
CertificateRequest   :
IisServices          : {IIS://SRV-EX01/W3SVC/2}
IsSelfSigned         : True
KeyIdentifier        : F7876D1DDEC4EC7C57918BB48D7EF9C3B7C34635
RootCAType           : Registry
Services             : IMAP, POP, IIS
Status               : Valid
SubjectKeyIdentifier :
PrivateKeyExportable : False
PublicKeySize        : 2048
Identity             : SRV-EX01.meine-domain.de\27CF424DF5FA1FD16FD326A38DDCC074719BC042
ServicesStringForm   : IP.W...
Archived             : False
Extensions           : {System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oid}
FriendlyName         : Microsoft Exchange
IssuerName           : System.Security.Cryptography.X509Certificates.X500DistinguishedName
NotAfter             : 20.12.2027 01:13:00
NotBefore            : 20.12.2022 01:13:00
HasPrivateKey        : True
PrivateKey           : System.Security.Cryptography.RSACryptoServiceProvider
PublicKey            : System.Security.Cryptography.X509Certificates.PublicKey
RawData              : {48, 130, 3, 23...}
SerialNumber         : 73167D1FD3E863AF42F97664DABCC338
SubjectName          : System.Security.Cryptography.X509Certificates.X500DistinguishedName
SignatureAlgorithm   : System.Security.Cryptography.Oid
Thumbprint           : 27CF424DF5FA1FD16FD326A38DDCC074719BC042
Version              : 3
Handle               : 1222554060048
Issuer               : CN=SRV-EX01
Subject              : CN=SRV-EX01

Am Exchange Server wurde das Log für IMAP aktiviert.

Hier mal das IMAP Log:


Alle Verbindungen von außen kommen über einen vServer.
Am vServer sind die Ports auch korrekt geforwarded.

@mx01:~# iptables -t nat -L -vn --line-numbers
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1     1253 58384 DNAT       tcp  --  ens192 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:25 to:172.16.0.101:25
2    43424 2213K DNAT       tcp  --  ens192 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443 to:192.168.175.100:443
3      570 24464 DNAT       tcp  --  ens192 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:993 to:192.168.175.100:993
4       41  1828 DNAT       tcp  --  ens192 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:143 to:192.168.175.100:143
5    13253  569K DNAT       tcp  --  ens192 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:192.168.175.100:80
6        0     0 DNAT       tcp  --  ens192 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:465 to:192.168.175.100:465

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1    62746 3282K MASQUERADE  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Ich hoffe genug Informationen geliefert zu haben. Sollte noch etwas fehlen, bitte schreiben.

Was habe ich eventuell falsch gemacht damit IMAP Abruf nicht funktioniert?

Content-Key: 6394145166

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

Printed on: April 27, 2024 at 17:04 o'clock

Member: Dani
Dani Mar 16, 2023 at 19:28:02 (UTC)
Goto Top
Moin,
Hier mal das IMAP Log:
ich sehe keine Einträge. Copy & Paste Fehler oder wird wirklich nichts protokolliert?

Da du nicht schreibst, ob du dich an die Doku gehalten hast, sicherheitshalber nochmals der Link:
Enable and configure IMAP4 on an Exchange server

Unabhängig schau auf dem Exchange Server nach, ob der Port offen ist:
netstat -na | find ":993"  

Wenn dem so ist, starte auf einem Client im LAN die Powershell und prüfe die Erreichbarkeit:
Test-Netconnection -Computername exchange -Port 993
Wenn das nicht klappt, könnte die Windows Defender Firewall noch in die Suppe spucken.


Gruß,
Dani
Member: Ueba3ba
Ueba3ba Mar 16, 2023 at 20:20:03 (UTC)
Goto Top
Danke für deine schnelle Antwort.

Da du nicht schreibst, ob du dich an die Doku gehalten hast, sicherheitshalber nochmals der Link:
Enable and configure IMAP4 on an Exchange server

Nach dieser Anleitung habe ich nicht eingerichtet.
Mach ich eben.

PS C:\Users\Administrator.meine-domain> Start-Service MSExchangeIMAP4; Start-Service MSExchangeIMAP4BE
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeIMAP4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeIMAP4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeIMAP4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeIMAP4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeIMAP4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeIMAP4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeIMAP4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange-IMAP4-Back-End (MSExchangeIMAP4BE)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange-IMAP4-Back-End (MSExchangeIMAP4BE)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange-IMAP4-Back-End (MSExchangeIMAP4BE)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange-IMAP4-Back-End (MSExchangeIMAP4BE)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange-IMAP4-Back-End (MSExchangeIMAP4BE)"...  
PS C:\Users\Administrator.meine-domain> Get-Service MSExchangeIMAP4; Get-Service MSExchangeIMAP4BE

Status   Name               DisplayName
------   ----               -----------
Running  MSExchangeIMAP4    Microsoft Exchange IMAP4
Running  MSExchangeIMAP4BE  Microsoft Exchange-IMAP4-Back-End


PS C:\Users\Administrator.meine-domain>



PS C:\Users\Administrator.meine-domain> Set-ImapSettings -ExternalConnectionSettings "srv-ex01.meine-domain.de:993:SSL","srv-ex01.meine-domain.de:143:TLS" -X509CertificateName srv-ex01.meine-domain.de  
WARNUNG: Änderungen an IMAP4-Einstellungen werden erst wirksam, wenn alle Microsoft Exchange-IMAP4-Dienste auf dem Server "SRV-EX01" neu gestartet wurden.  
PS C:\Users\Administrator.meine-domain> Restart-Service MSExchangeimap4
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeimap4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeimap4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeimap4)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange IMAP4 (MSExchangeimap4)"...  
PS C:\Users\Administrator.meine-domain> Restart-Service MSExchangeimap4be
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange-IMAP4-Back-End (MSExchangeimap4be)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange-IMAP4-Back-End (MSExchangeimap4be)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange-IMAP4-Back-End (MSExchangeimap4be)"...  
WARNUNG: Warten auf Start des Diensts "Microsoft Exchange-IMAP4-Back-End (MSExchangeimap4be)"...  
PS C:\Users\Administrator.meine-domain>

PS C:\Users\Administrator.meine-domain> Get-ImapSettings | Format-List *ConnectionSettings,*Bindings,X509CertificateName


InternalConnectionSettings : {SRV-EX01.meine-domain.de:993:SSL, SRV-EX01.meine-domain.de:143:TLS}
ExternalConnectionSettings : {srv-ex01.meine-domain.de:143:TLS, srv-ex01.meine-domain.de:993:SSL}
UnencryptedOrTLSBindings   : {[::]:143, 0.0.0.0:143}
SSLBindings                : {[::]:993, 0.0.0.0:993}
X509CertificateName        : srv-ex01.meine-domain.de



PS C:\Users\Administrator.meine-domain>

Hier verstehe ich jetzt nicht das Internal auf 993 und external auf 143 steht.
Ich habe doch oben mit
<Set-ImapSettings -ExternalConnectionSettings "srv-ex01.meine-domain.de:993:SSL","srv-ex01.meine-domain.de:143:TLS" -X509CertificateName srv-ex01.meine-domain.de   

ExternalConnections auf 993 gesetzt.

OK. In den Settings vom Postfach steht es aber richtig drinnen. (Siehe Bild)

Netstat auf dem Exchange Server sagt:

 PS C:\Users\Administrator.meine-domain> netstat -na |find '":993"'  
  TCP    0.0.0.0:993            0.0.0.0:0              ABH?REN
  TCP    [::]:993               [::]:0                 ABH?REN
PS C:\Users\Administrator.meine-domain>
 

Und auf einem Client sagt Test-NetConnection:

PS C:\Users\Administrator> Test-NetConnection -ComputerName srv-ex01 -port 993


ComputerName     : srv-ex01
RemoteAddress    : 192.168.175.100
RemotePort       : 993
InterfaceAlias   : Ethernet
SourceAddress    : 192.168.175.254
TcpTestSucceeded : True



PS C:\Users\Administrator>

Port ist offen!

Leider noch immer kein IMAP Abruf möglich.

IMAP Log:

dateTime,sessionId,seqNumber,sIp,cIp,user,duration,rqsize,rpsize,command,parameters,context,puid
#Software: Microsoft Exchange Server
#Version: 15.0.0.0
#Log-type: IMAP4 Log
#Date: 2023-03-16T20:02:17.848Z
#Fields: dateTime,sessionId,seqNumber,sIp,cIp,user,duration,rqsize,rpsize,command,parameters,context,puid
2023-03-16T20:02:17.848Z,0000000000000001,0,192.168.175.100:993,192.168.175.254:49871,,68,0,0,OpenSession,,,
2023-03-16T20:02:39.032Z,0000000000000002,0,192.168.175.100:993,10.8.0.1:62993,,79,0,53,OpenSession,,,
2023-03-16T20:05:43.806Z,0000000000000003,0,192.168.175.100:993,10.8.0.1:63046,,49,0,53,OpenSession,,,
2023-03-16T20:05:44.005Z,0000000000000003,1,192.168.175.100:993,10.8.0.1:63046,,56,12,157,capability,,R=OK,
2023-03-16T20:05:44.017Z,0000000000000003,2,192.168.175.100:993,10.8.0.1:63046,,10,8,88,logout,,R=OK,

Die Zeit stimmt irgendwie nicht in dem LOG.
Ich habe nachgeschaut auf allen Serven, da ist die Zeit korrekt eingestellt.
Member: Ueba3ba
Ueba3ba Mar 16, 2023 updated at 20:34:59 (UTC)
Goto Top
Auf der Win 10 VM klappt es zumindest mit TLS 143 und SMTP auf 465

Mit SSL 993 leider nicht.
Member: Dani
Dani Mar 16, 2023 updated at 20:43:57 (UTC)
Goto Top
Moin,
Leider noch immer kein IMAP Abruf möglich.
  • Wir sehen dir nicht über die Schulter. Hast du den Abruf von IMAPS von dem selben Client im LAN getestet wie die TCP Verbindung über PowerShell?
  • Welcher Fehlermeldung erhältst du in Thunderbird, wenn du versuchst das Konto abzurufen?
  • Ist das Postfach auf dem Exchange-Server für die Nutzung von IMAP freigegeben? Bin mir grade nicht sicher, ob das dies standardmäßig aktiviert oder deaktiviert ist.

IMAP Log:
schreib doch bitte immer dazu, woher das Logfile bzw. Output stammt. Ich lehn mich mal aus dem Fenster und behaupte, dass es vom Exchange Server ist, richtig? Dann ist die Differenz von 1 Stunde normal. Denn es wird standardmäßig immer UTC als Zeitzone verwendet.


Gruß,
Dani

P.S. Du solltest unbedingt die Domains in deinen Screenshots schwärzen!
Member: Ueba3ba
Ueba3ba Mar 16, 2023 updated at 20:55:58 (UTC)
Goto Top
Danke für deine Antwort.

IMAP Log:
schreib doch bitte immer dazu, woher das Logfile bzw. Output stammt. Ich lehn mich mal aus dem Fenster und behaupte, dass es vom Exchange Server ist, richtig? Dann ist die Differenz von 1 Stunde normal. Denn es wird standardmäßig immer UTC als Zeitzone verwendet.

Ahso. wusste ich nicht. Danke dafür.

Wir sehen dir nicht über die Schulter. Hast du den Abruf von IMAPS von dem selben Client im LAN getestet wie > die TCP Verbindung über PowerShell?

Jawohl! Das habe ich getan.
Mit TSL 143 und SMTP 465 funktioniert es zumindest ja schon.

Welcher Fehlermeldung erhältst du in Thunderbird, wenn du versuchst das Konto abzurufen?
Ist auf dem Bild oben zu sehen. Die gelbe Meldung.

Ist das Postfach auf dem Exchange-Server für die Nutzung von IMAP freigegeben? Bin mir grade nicht sicher, ob > das dies standardmäßig aktiviert oder deaktiviert ist.

Ja, Habe ich im Exchange Admin Center eingerichtet.

Von den Win 10 VM's und von meinem Home PC aus (Übers Internet) funktioniert es nun mit TLS 143


P.S

Die Domains sind nur fürs Labor und gehören mir. Mir macht das nichts aus.
Member: Ueba3ba
Ueba3ba Mar 16, 2023 at 21:14:47 (UTC)
Goto Top
Was mich irritiert ist, das am Postausgangs Server als Authentifizierungsmethode KERBEROS steht.

Das sollte doch nicht so sein, stimmt’s?

Gute Nacht erst mal.
Member: Dani
Dani Mar 18, 2023 at 13:10:08 (UTC)
Goto Top
Moin,
Was mich irritiert ist, das am Postausgangs Server als Authentifizierungsmethode KERBEROS steht.
spielt erst einmal keine Rolle.

Hier verstehe ich jetzt nicht das Internal auf 993 und external auf 143 steht.
Bitte die Ausgabe genauer anschauen. Es unterscheidet sich nur die Reihenfolge bei Internal und External. Standardmäßig kommt zuerst der Eintrag mit Port 143 und anschließend 993. Ist ein Schönheitsfehler, den du jederzeit korrigieren kannst.

Mit TSL 143 und SMTP 465 funktioniert es zumindest ja schon.
Ich habe es jetzt selbst einmal ausprobiert. Grundlage dafür ist ein Exchange Server 2019, CU12, SU 03/2023 an dem keinerlei Connectoren verändert worden sind (alles Standard). Ich habe mich bei der Einrichtung von IMAP an den Microsoft Artikel aus meinem ersten Kommentar gehalten. Mein Ergebnis mit Thunderbird 109.x.:
2023-03-18 12_30_57-vm 125

Unabhängig davon ist es eine Detailfrage, ob du Port 143/tcp mit TLS oder Port 993 mit SSL verwendest. Das Selbe gilt für Port 587/tcp und Port 465/tcp.


Gruß,
Dani
Member: Ueba3ba
Ueba3ba Mar 18, 2023 at 13:52:45 (UTC)
Goto Top
Hey Dani, danke für deinen Beitrag.

Ich werde meinen Exchange heute noch mal neu aufsetzen.

Bei dir im Bild ist auch Kerberos als Authentifizierungsmethode zusehen.

Ich blick da noch net richtig durch.

Hast du dich von einem Pc im lokalen Netzwerken aus angemeldet oder über das Internet?
Member: Dani
Dani Mar 18, 2023 at 14:56:20 (UTC)
Goto Top
Moin,
Bei dir im Bild ist auch Kerberos als Authentifizierungsmethode zusehen.
Hab ich mir erst einmal keine Gedanken gemacht. Abruf und Testversand von E-Mails funktionieren.

Hast du dich von einem Pc im lokalen Netzwerken aus angemeldet oder über das Internet?
Das Lab ist in einem dedizierten VRF und hat keinerlei Verbindungen zu anderen Netzen. Damit auch nicht ins Internet. Aber was im LAN funktioniert, funktioniert bei korrekter Konfiguration des Services (damit meine ich nicht die Firewall und/oder Reverse Proxy) auch über das Internet.


Gruß,
Dani