Exchange Server Verwendung von Zertifikaten

Exchange Server Verwendung von Zertifikaten

Zuweisung von Zertifikaten

Nach der Installation eines Exchange Servers sollten für einen sicheren Betrieb auch Zertifikate zugewiesen werden. Die Zuweisung der Zertifikate erfolgt an diversen Stellen und haben Einfluss darauf, ob die Kommunikation vollumfänglich verschlüsselt ist oder nicht. Die über das System bereitgestellten self-signed Zertifikate sind nicht unsicher, es wird ihnen aber auch nicht vertraut.

Exchange Server Verwendung von Zertifikaten

Der Exchange Server bzw. das OS stellen für den Betrieb einige Dienste bereit, die im Vorfeld bekannt sein sollten.

DiensteZweck (HTTPS-TLS)
IISAutodiscover
IISActive Sync
IISECP Konsole
IISWebdienste
IISOfflineadressbuch
IISOutlook Anywhere (RPC)
IISOWA Konsole
IISOutlook MAPI
IMAPTLS Anbindung der Clients via IMAP4
POPTLS Anbindung der Clients via POP3
SMTPTLS Verschlüsselung für externe SMTP Client und Serververbindungen
SMTPTLS Verschlüsselung für systemübergreifende Verbindungen (Exchange Server oder andere Messaging-Dienste)
SMTPTLS verschlüsselte Kommunikation zwischen den internen Exchange Servern
UMTLS Verschlüsselung für Clientverbindungen zum Back-End.
UMCRTLS Verschlüsselung für Clientverbindungen zum UM-Call-Router

Zertifikate können teilweise über die ECP oder dem IIS zugewiesen werden, für den größten Teil jedoch ist die Exchange-Management-Shell zu benutzen.

Exchange Server Verwendung von Zertifikaten

Für die Zuweisung von Zertifikaten für Dienste, wie z.B. IIS, IMAP, POP oder UM kann die ECP eingesetzt werden. Wenn eingehende- oder ausgehende Konnektoren ein Zertifikat zugewiesen bekommen sollen, dann muss dafür die Exchange-Management-Shell eingesetzt werden. Für das Front- und Back-End des Exchange Servers ist der IIS zu öffnen. Natürlich geht auch alles über die Powershell.

Zuweisung von Zertifikaten

Exchange Server Konnektor Zertifikat

Die Zuweisung eines Zertifikats für die Aktivierung einer verschlüsselten Verbindung sieht wie folgt aus: Der Issuer und der Subjectname des Zertifikats werden in zwei Variablen gespeichert, die nach der Bindung auszulesen sind,…

Bindung an die Konnektoren:

$Cert = Get-ExchangeCertificate -Thumbprint 555c75f8e439a0778fbf84eb6cbf9726d6da1da2
$TLSCertificateName = “<i>$($Cert.Issuer)<s>$($Cert.Subject)”
$TLSCertificateName

Set-ReceiveConnector “EX1\Client Frontend EX1” -TlsCertificateName $TLSCertificateName
Set-ReceiveConnector “EX1\Default Frontend EX1” -TlsCertificateName $TLSCertificateName
Set-ReceiveConnector “EX1\Anonym” -TlsCertificateName $TLSCertificateName

Set-ReceiveConnector “EX2\Client Frontend EX2” -TlsCertificateName $TLSCertificateName
Set-ReceiveConnector “EX2\Default Frontend EX2” -TlsCertificateName $TLSCertificateName
Set-ReceiveConnector “EX2\Anonym” -TlsCertificateName $TLSCertificateName

Get-SendConnector “Internet” | Set-SendConnector -TlsCertificateName $TLSCertificateName

aber woher weiß man später welches Zertifikat von den vielen gebunden ist, wenn man es selbst nicht umgesetzt hat. Die einzigen Informationen die man über die herkömmliche Abfrage erhält ist:

Exchange Server Konnektor Zertifikat

Keine Angabe von Zeit, Thumbprint oder ähnlichem, wie frustrierend!

Keine Sorge. Die Antwort findet man im Active Directory. Folgendes Property msExchServerInternalTLSCert hält diese Informationen vor.

msExchServerInternalTLSCert

Der Pfad über die Konfigurationspartition lautet in meinem Fall wie folgt:

CN=EX1,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=WindowsPapst,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=windowspapst,DC=de

ADSIEDIT msExchServerInternalTLSCert

Die ausgelesenen Informationen sind als Blob hinterlegt und können mit diesem Skript ausgelesen werden.

CN=EX1,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=WindowsPapst,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=windowspapst,DC=de

Download: Exchange-Server-Konnektor-Zertifikat