Problem:
Die Exchange-Konfigurations-Website (https://mailserver.domain.tld/ecp) ist ja sowohl extern als auch intern erreichbar, wenn man nicht den Luxus eines Reverse-Proxy besitzt. Ich habe immer ein etwas schlechtes Gefühl, wenn meine Exchange-Konfiguration von extern erreichbar ist. Vor allem, wenn z.B. ein IT-Kollege im Zorne ausscheidet und alle Passwörter hat und mir dadurch theoretisch die Datenbank einfach löschen könnte. Da ich keinen Reverse-Proxy besitze musste ich eine andere Lösung finden.
Überlegungen:
Es gibt ja die Möglichkeit die ECP-Admin-Webseite abzuschalten, was das Ganze zwar sicher macht, aber auch nicht mehr administrierbar!
Zuerst wollte ich einfach auf dem IIS die "Einschränkungen für IP-Adressen und Domänennamen" aktivieren. Das löst das Problem mit dem externen Zugriff, hat aber den Nachteil, dass die Benutzer über OWA auch nicht mehr Ihr Konto verwalten können um z.B. den Abwesenheitsassistenten zu aktivieren (Teil des ECP). Also...nur begrenzt gut.
Microsoft selbst sagt, dass man einen zusätzlichen CAS-Server aufsetzen soll, der nur intern erreichbar ist und auf dem externen den Admin-Zugang deaktivieren soll. Leider fehlen mir hierzu die Ressourcen und in kleinen und mittelständigen Unternehmen ist das "a little bit too much"
Lösung:
Die Lösung liegt darin, dass man eine neue ECP-Webseite anlegt und diese im IIS auf eine zweite Netzwerkkarte im Exchange bindet. Die IP-Adresse der neuen Netzwerkkarte ist nur intern erreichbar, wohingegen die "alte" Netzwerkkarten-IP extern erreichbar ist.
Folgende Vorgehensweise zur Lösung:
1.) Fügen Sie dem Exchange-Server eine zweite Netzwerkkarte hinzu.
2.) Vergeben Sie eine neue IP-Adresse für diese Karte und deaktivieren Sie "
Diese Verbindung im DNS registrieren", damit der Exchange nicht über mehrere IP-Adresse im DNS erreichbar ist.
3.) Tragen Sie im DNS-Server den FQDN für die neue Webseite mit der neuen IP ein (z.B. ecp.demo.local) - das wird später Ihre URL für den Aufruf werden.
4.) Erstellen Sie auf dem Exchange-Server eine neues Verzeichnis "
c:\inetpub\wwwroot2"
5.) Erstellen Sie im IIS eine neue Website und verweisen Sie auf den zuvor erstellten wwwroot2-Ordner und benennen Sie diese z.B. als "
ECPIntern"
6.) Binden Sie die neu erstellte Webseite mit Port 80 (http) und Port 443 (https) an die neue, interne IP-Adresse
7.) Erstellen Sie ein neues ECP Virtual Directory mit dem folgenden Befehl (bitte entsprechend anpassen):
New-EcpVirtualDirectory -Server ServerName -WebSiteName "ECPIntern" -InternalUrl "https://eac.demo.local/ecp"
8.) Jetzt benötigen wir noch ein neues OWA Virtual Directory (bitte entsprechend anpassen):
New-OwaVirtualDirectory -Server ServerName -WebSiteName "ECPIntern" -InternalUrl "https://eac.demo.local/owa"
9.) Jetzt müssen wir noch den Admin-Zugriff auf der "alten" IP-Adresse deaktivieren:
Set-ECPVirtualDirectory -Identity "ServerName\ecp (default web site)" -AdminEnabled $false
10.) Ich habe mir jetzt noch über den Exchange ein neues SSL-Zertifikat ausgestellt, dass den FQDN der neuen ECP-Webseite beinhaltet und dieses im IIS an die neue ECP-Webseite gebunden um SSL-Fehler im Browser zu unterdrücken (Zertifikat per GPO ausstreuen)
HINWEIS AM RANDE: Die neue Konfiguration kann bis zu 30 Minuten dauern, bevor der Admin-Zugriff auf die alte ECP-Webseite nicht mehr funktioniert. Also bitte Geduld haben oder Server neu starten!
Quellen für die Lösung:
anexinet: Disable External Access of the Exchange Admin Center