Die große derzeitige Angriffswelle auf Exchange-Server lässt zahlreiche Admins mit dem Verdacht oder konkreten Hinweis zurück, dass ihr Exchange-Server kompromittiert wurde. Im ersten Schritt ist der Server vom Internet zu trennen und anschließend zu reparieren beziehungsweise neu zu installieren. Wie dies ohne Datenverlust gelingt, zeigt dieser Workshop ebenso wie die Absicherung gegen die aktuelle Bedrohung.
Der erste Schritt ist immer eine vollständige Sicherung des aktuellen Servers. Denn geht bei der Reparatur etwas schief, besteht dadurch die Möglichkeit, den derzeitigen Zustand wiederherzustellen. Auch die Exchange-Datenbanken sollten Sie online und eventuell auch noch off-line sichern, da hier die Benutzerdaten der Anwender liegen. Damit Sie die Exchange-Datenbanken offline kopieren können, müssen die Exchange-Dienste beendet sein, vor allem der Exchange-Informationsspeicher. Sichern Sie auch die Transaktionsprotokolle, die sich noch auf dem Server befinden. Sollten später Wiederherstellungen notwendig sein, lässt sich dadurch Datenverlust vermeiden.
Notwendige Vorarbeiten
Falls nicht ohnehin schon passiert, sollten Sie alle Einstellungen dokumentieren, die sich von den Standardeinstellungen unterscheiden. Zwar speichert Exchange die meisten Daten direkt im Active Directory (AD), sodass sich diese bei einer Wiederherstellung von dort auch wieder auslesen lassen, allerdings gilt das nicht für alle Anpassungen. Im Exchange Admin Center (EAC) sollten Sie dazu bei "Server" die Optionen durchgehen und Screenshots erstellen oder die Einstellungen auf einem anderen Weg dokumentieren. So stellen Sie nach der Neuinstallation die gewünschte Konfiguration schnell wieder her. Wichtig sind hier natürlich die URLs, die Anwender für den Zugriff nutzen, und auch zentrale Systemeinstellungen, vor allem bezüglich der Berechtigungen, Authentifizierung und der einzelnen Connectoren auf den Servern – vor allem die Empfangs-Connectoren sind unbedingt zu berücksichtigen.
Exchange benötigt an verschiedenen Stellen Zertifikate. Diese müssen Sie entweder auf dem aktuellen Server sichern oder später erneut ausstellen. Auch diese Optionen finden Sie im EAC im Bereich "Server" bei "Zertifikate". Das Exportieren von Zertifikaten erfolgt auf Windows-Servern am schnellsten über "certlm.msc". Beachten Sie, auch den privaten Schlüssel dabei zu berücksichtigen.
Der erste Schritt ist immer eine vollständige Sicherung des aktuellen Servers. Denn geht bei der Reparatur etwas schief, besteht dadurch die Möglichkeit, den derzeitigen Zustand wiederherzustellen. Auch die Exchange-Datenbanken sollten Sie online und eventuell auch noch off-line sichern, da hier die Benutzerdaten der Anwender liegen. Damit Sie die Exchange-Datenbanken offline kopieren können, müssen die Exchange-Dienste beendet sein, vor allem der Exchange-Informationsspeicher. Sichern Sie auch die Transaktionsprotokolle, die sich noch auf dem Server befinden. Sollten später Wiederherstellungen notwendig sein, lässt sich dadurch Datenverlust vermeiden.
Notwendige Vorarbeiten
Falls nicht ohnehin schon passiert, sollten Sie alle Einstellungen dokumentieren, die sich von den Standardeinstellungen unterscheiden. Zwar speichert Exchange die meisten Daten direkt im Active Directory (AD), sodass sich diese bei einer Wiederherstellung von dort auch wieder auslesen lassen, allerdings gilt das nicht für alle Anpassungen. Im Exchange Admin Center (EAC) sollten Sie dazu bei "Server" die Optionen durchgehen und Screenshots erstellen oder die Einstellungen auf einem anderen Weg dokumentieren. So stellen Sie nach der Neuinstallation die gewünschte Konfiguration schnell wieder her. Wichtig sind hier natürlich die URLs, die Anwender für den Zugriff nutzen, und auch zentrale Systemeinstellungen, vor allem bezüglich der Berechtigungen, Authentifizierung und der einzelnen Connectoren auf den Servern – vor allem die Empfangs-Connectoren sind unbedingt zu berücksichtigen.
Exchange benötigt an verschiedenen Stellen Zertifikate. Diese müssen Sie entweder auf dem aktuellen Server sichern oder später erneut ausstellen. Auch diese Optionen finden Sie im EAC im Bereich "Server" bei "Zertifikate". Das Exportieren von Zertifikaten erfolgt auf Windows-Servern am schnellsten über "certlm.msc". Beachten Sie, auch den privaten Schlüssel dabei zu berücksichtigen.
Ebenso wichtig ist der aktuelle Installationsort von Exchange, den Sie beim Neuaufsetzen übernehmen sollten. Ist Exchange nicht im Standardordner installiert, müssen Sie den Speicherort der Exchange-Binärdateien über die Option "/TargetDir" angeben. Wenn Sie diese Option nicht verwenden, landen die Exchange-Dateien im Standardordner "%Programme% \ Microsoft \ Exchange Server \ V15".
Die Einstellungen dazu sind auch im AD zu finden und lassen sich mit ADSI-Edit in Erfahrung bringen. Dazu starten Sie den ADSI-Editor und klicken mit der rechten Maustaste auf "ADSI-Editor" und wählen "Verbindung herstellen". Hier aktivieren Sie die Option "Bekannten Namenskontext auswählen", wählen "Konfiguration" aus und klicken auf "OK". Nun navigieren Sie zu "Konfiguration / Configuration / CN=Services / CN=Microsoft Exchange / <Name der Organisation> / CN=Administrative Groups / CN=Exchange Administrative Groups". Hier finden Sie die wichtigsten Daten von Exchange 2019 zur Verbindung mit dem Active Directory. Der Container "CN= Servers" liefert Ihnen dabei weitere Container für jeden einzelnen Server. Jetzt klicken Sie mit der rechten Maustaste auf das Exchange-Serverobjekt und wählen im Kontextmenü den Befehl "Eigenschaften". Schließlich suchen Sie nach dem Attribut "msExchInstallPath", das den aktuellen Installationspfad speichert.
Neuinstallation des Betriebssystems
Der erste Schritt bei der Neuinstallation von Exchange besteht darin, das Betriebssystem neu aufzusetzen. Achten Sie darauf, die gleiche Version, den identischen Rechnernamen und die gleiche IP-Adresse zu verwenden. Auch muss die Hardwarekonfiguration mit der des ausgefallenen Servers übereinstimmen, wobei die Größe des Arbeitsspeichers und die der Festplatten variieren darf.
Sinnvoll kann es sein, vor der Installation des Windows-Servers über das Kontextmenü des Computerkontos in "Active Directory-Benutzer und -Computer" das Konto zurückzusetzen. Das können Sie auch in der Befehlszeile mit
Dsmod computer <Servername> -reset
erledigen. Nehmen Sie den Server nach der Installation des Betriebssystems in die Domäne auf und spielen Sie die aktuellen Updates ein. Danach steht der Windows-Server wieder im AD zur Verfügung und Sie können Exchange neu aufsetzen.
Sie müssen dazu das Betriebssystem für die Installation von Exchange vorbereiten, wobei für Exchange Server 2019 Erweiterungen des Betriebssystems notwendig sind. Diese müssen Sie vor der Installation von Exchange auf dem Server installieren:
- Visual C++ Redistributable Packages für Visual Studio 2013 [1]
- Unified Communications Managed API 4.0 Runtime [2]
Danach installieren Sie via PowerShell die notwendigen Serverrollen und -dienste:
Jetzt beginnen Sie mit der Installation von Exchange. Mit dem folgenden Befehl stellen Sie Exchange 2019 mit seinem Installationsprogramm mit den gleichen Einstellungen wieder her:
Die Option migriert die Einstellungsinformationen, die für den Server im AD vorliegen. Alle lokalen Anpassungen müssen Sie anschließend aber manuell vornehmen. Daher ist es sinnvoll, diese Daten vorher zu sichern und zu dokumentieren.
Laufen die Uhren des Exchange-Servers und des Domänencontrollers (DC) nicht synchron, bricht die Installation oft mit einem Fehler ab. Überprüfen Sie bei
einem Setup-Fehler daher immer die Uhrzeit auf dem DC und auf dem Exchange-Server und gleichen Sie diese untereinander ab. Bei bis zu fünf Minuten Unterschied ist kein Problem zu erwarten, aber bei einer größeren Abweichung macht das AD Schwierigkeiten. Wollen Sie die Zeit auf dem Exchange-Server während der Installation mit dem Domänencontroller synchronisieren, geben Sie in der Eingabeaufforderung den folgenden Befehl ein:
Net time \\<Name des DC> /set /yes
Anschließend synchronisiert sich die Zeit automatisch.
Andere Probleme während der Installation von Exchange 2019 zeichnet die Datei "ExchangeSetup.log" auf. Treten Probleme während der Installation auf, geben Sie den entsprechenden Fehler in eine Suchmaschine ein und finden sicherlich ausführliche Hilfe.
Die Protokolldateien der Exchange-2019-Installation liegen im Textformat vor und lassen sich mit jedem Texteditor lesen. Analog finden sich Ungereimtheiten der Windows-Server-Installation in der Datei "ExchangeSetup.msilog", die Windows-Installer während der Extraktion der Exchange-Server-Installationsdateien anlegt.
Erste Schritte nach der Installation von Exchange
Zunächst sollten Sie das Exchange Admin Center auf dem Server über die URL "https://<Servername>/ecp" öffnen. Hierbei sollten keine Fehler erscheinen. Nach dem Start des EAC melden Sie sich zunächst als Administrator an. Klicken Sie anschließend auf "Server", um sicherzustellen, dass der Server ordnungsgemäß in die Umgebung integriert wurde. Um die Installation zu überprüfen, verwenden Sie am besten noch die Exchange Management Shell (EMS):
Get-ExchangeServer |fl Name, AdminDisplayVersion
Nach der Installation von Exchange 2019 sollten Sie in der EMS mit dem Test-ServiceHealth-Cmdlet überprüfen, ob alle Serverdienste noch funktionieren.
Anschließend sollten Sie das zuvor exportierte Exchange-Zertifikat wieder auf den Server bringen. Das erledigen Sie im EAC über "Server / Zertifikate" mit "Exchange-Zertifikat importieren". Vorher speichern Sie die Datei im Netzwerk und integrieren diese über den Assistenten wieder als Zertifikat.
Datenbanken wieder integrieren
An dieser Stelle können Sie Ihre Exchange-Datenbanken wieder einbinden. Dazu stellen Sie die Datenbank entweder mit einer aktuellen Online-Sicherung wieder her oder Sie kopieren das Verzeichnis mit den Datenbanken auf den Server. Haben Sie eine Offline-Sicherung der Datenbanken vorliegen, ist das meistens der schnellste Weg. Damit Sie das Verzeichnis mit den Exchange-Datenbanken aber kopieren können, müssen Sie auf dem Exchange-Server zunächst in der Exchange Management Shell die Wiederherstellung erlauben:
Überprüfen Sie an dieser Stelle, ob alle Exchange-Dienste auf dem Server laufen. Ist das nicht der Fall, holen Sie das in der PowerShell nach:
Get-Service *exchange* | Start-Service
Dieser Befehl startet natürlich alle Exchange-Dienste, die nicht deaktiviert sind, einzelne Dienste starten Sie in der Diensteverwaltung (services.msc) manuell. Als Nächstes sollten Sie alle Einstellungen überprüfen, die Sie auf dem Server dokumentiert haben, damit sichergestellt ist, dass der Server mit den gleichen Settings läuft.
Generell ist es sinnvoll, vor der Integration der Datenbank auf dem neuen Server mit dem Eseutil-Tool die Datenbank auf Konsistenz zu prüfen. Wenn Sie in der Eingabeaufforderung direkt in den Ordner der Datenbank wechseln, müssen Sie in Eseutil nicht den gesamten Pfad eintragen. Dann lautet der Befehl:
Eseutil /mh <Pfad zur Datenbankdatei>
Weist die Datenbank einen inkonsistenten Wert auf oder erscheint die Meldung, dass sie nicht korrekt heruntergefahren worden ist ("Dirty Shutdown"), sollten Sie sie wieder bereitstellen und die Bereitstellung nochmals aufheben. Dann sollte die Datenbank konsistent sein. Falls nicht, liegt vermutlich ein größeres Problem mit Ihrer Datenbank vor und Sie sollten diese reparieren.
Sie können auch diese Reparatur unter Umständen mit Eseutil und der Option "/r" durchführen. In diesem Fall ist es wichtig, dass die Transaktionsprotokolle noch vorhanden sind, genauso wie die CHK-Datei der Datenbank:
Durch die Option "/a" überspringt Eseutil eventuelle Fehler, die durch fehlerhafte Transaktionsprotokolle verursacht werden. Zwar können bei diesem Vorgang Daten verloren gehen, dennoch haben Sie danach die Chance, dass die Exchange-Datenbank wieder funktioniert. Einen weiteren Versuch starten Sie anschließend noch mit der Option "/p". Diese Option versucht, eine defekte Datenbank wieder komplett neu aufzubauen und entfernt dabei fehlende Verbindungen und Seiten:
Selbstverständlich sollten Sie nach einer erfolgreichen Wiederherstellung Exchange schnellstmöglich auf den neusten Stand bringen. Installieren Sie das neueste kumulative Update (CU) und die aktuellen Sicherheitspatches für Ihre Exchange-Version. Teilweise aktualisiert Microsoft Patches noch einmal. In diesem Fall erhalten Sie bei der Installation eines Updates die Meldung, dass bereits eine aktuellere Version vorliegt. Je aktueller das installierte CU ist, desto weniger Sicherheitslücken sind auf einem Exchange-Server natürlich vorhanden. Microsoft stellt aber auch Sicherheitsupdates für ältere CUs zur Verfügung. Es sollten also auf jeden Fall die Aktualisierungen für das eingesetzte CU zum Einsatz kommen.
Microsoft stellt das kostenlose Skript
"HealthChecker.ps1" [3] zur Verfügung, das Umgebungen mit Exchange 2013, 2016 und 2019 auf fehlerhafte Konfigurationen und Sicherheitslücken überprüft. Für die Ausführung müssen Sie die Exchange Management Shell mit erhöhten Rechten starten. Im Ergebnis sehen Sie dann, welche Updates fehlen.
Handeln gegen
aktuelle Exchange-Lücken
Auch wenn Microsoft seit April 2021 entsprechende Updates zur Verfügung stellt, sind immer noch tausende Exchange-Server Ziele von Angriffen, da die Administratoren die notwendigen Updates nicht installierten. Sofern noch nicht erfolgt, sollten Sie so schnell wie möglich die aktuellen Sicherheitspatches für die bekannten Sicherheitslücken installieren. Unter [4] finden Sie ein Skript für nmap, das Ihre lokalen Exchange-Server auf diese Lücken testet.
Die Patches stellt Microsoft für die verschiedenen CUs unter der URL "https:// msrc.microsoft.com/update-guide/vulnerability/CVE-2021-<XXxXX>" bereit. Die zwölf notwendigen Patches finden Sie, indem Sie "XXXXX" durch folgende Nummern ersetzen: 28483, 28482, 28481, 28480, 31209, 31207, 31198, 31195, 31196, 34470, 33768 und 31206. Deren Installation bedarf der PowerShell oder der Eingabeaufforderung mit erhöhten Rechten. Nach der Installation von Aktualisierungen kann es vorkommen, dass Outlook Web App und das Exchange Admin Center nicht mehr funktionieren. Microsoft beschreibt unter [5] die Problemlösung.
Nach der Installation der notwendigen Updates sollten Sie noch einmal das Health-Checker-Skript durchlaufen lassen, um sicherzustellen, dass keinerlei Lücken mehr vorhanden sind. Darüber hinaus müssen Sie sich noch vor der Lücke CVE-2021-173 schützen, die Spoofing auf einem Exchange-Server ermöglicht [6].
Fazit
Selbst nach einem erfolgreichen Angriff müssen die Daten auf dem Exchange-Server nicht unwiederbringlich verloren sein, denn dessen Neuinstallation ist ohne Datenverlust möglich. So retten Sie unter Umständen auch bereits kompromittierte Server, sollten aber dennoch möglichst zügig alle Exchange-Server wie beschrieben untersuchen und patchen. (jp)