ADFS deinstallieren

Lange Zeit war ADFS der einzige Weg ein "Single SignOn" für Office 365 bereit zu stellen. Das ist aber seit Seamless Single Sign On in Verbindung mit Pass-Through Authentifizierung (PTA) oder Password Hash Sync (PHS) nicht mehr der Fall und je kleiner eine Firma ist und je mehr Schutzfunktionen Sie z.B. mit Conditional Access umgesetzt haben, desto eher wird ADFS als überflüssig angesehen. Also warum nicht deinstallieren?

Warum soll ADFS weg?

Jeder Zugriff auf Dienste bei Office 365 muss authentifiziert erfolgen. Wer in den Anfangszeiten keine Kennworte als Hashwert in die Cloud synchronisieren wollte, musste ADFS einsetzen. Andere Verfahren gab es noch nicht und ADFS war zudem der einzige Weg eine echte "Single SignOn"-Lösung zu bauen. Der Anwender konnte zumindest von intern auf Office 36 Dienste zugreifen, ohne erneut seine Anmeldedaten eingeben zu müssen.

Der Betrieb von ADFS ist damit aber auch eine kritische Komponente, denn ohne erreichbaren ADFS-Server konnten Anwender sich nicht neu an Office 365 anmelden und konnten daher nicht arbeiten. ADF-Services mussten also "hochverfügbar" aufgebaut werden. Damit war ein gewisser Aufwand verbunden. Sie brauchen mindestens zwei ADFS-Server, davor in der DMZ dann zwei ADFS-Proxy-Systeme und entsprechende Loadbalancer. Das ist alles mit Kosten für den Betrieb verbunden.

Ihre Umgebung ist aber weiterhin angreifbar, da die Adresse des ADFS-Servers nicht verheimlicht werden kann. Angreifer können den Service sehr einfach ausfindig machen und auf zwei Arten stören:

  • Anmeldeversuche
    Sie können versuchen, sich über den Weg anzumelden oder zumindest Kombinationen aus Benutzername und Kennwort zu proben. Nicht jede Installation hat die Funktion ADFS Extranet Lockout aktiviert. Ohne Schutz werden dann die internen Konten gesperrt.
  • DoS-Bandbreite
    Ein zweiter Angriff ist eine stumpfe Überlastung des Services durch massenhaft Anfragen. Letztlich geht es um die Überlastung der Bandbreite, damit Anwender aus dem Internet sich auch nicht mehr anmelden können oder der Server so unter Last steht, dass er auch interne Anmeldungen nicht mehr zeitnah bestätigen kann.

Sie müssen also schon genau überlegen, ob heute ein ADFS-Service noch erforderlich ist, zumal gerade die Funktion Seamless Single Sign On mit Office 365 viele Anforderungen aus Sicht des Anwenders genauso gut erfüllt.

Nicht alle Firmen können aber nun direkt losstürmen und ADFS abschalten. ADFS ist ja nicht nur für Office 365 im Einsatz.

Stop: Andere Nutzer

Die generelle Funktion von AFS-Tokens wird gerne auch von anderen Services genutzt. Hier lohnt also erst einmal ein Blick in die "Relying Party Trusts". So sieht ein ADFS-Server, der auch noch andere Dienste betreut.

Das geht natürlich auch per PowerShell:

PS C:\> Get-AdfsRelyingPartyTrust | ft name,WSFedEndpoint,notes -AutoSize

Name                                   WSFedEndpoint
----                                   -------------
Microsoft Office 365 Identity Platform https://login.microsoftonline.com/login.srf
wpsaml.msxfaq.de                        https://wpsaml.msxfaq.de/wordpress/wp-content/Plugins/miniorange-saml-20-single-sign-on/

Wenn Sie selbst nur noch "Microsoft Office 365 Identity Plattform" und vielleicht Yammer finden, dann sind sie fein raus. Wenn hier noch andere Dienste eingebunden sind und diese auch genutzt werden, dann können Sie die ADFS-Umgebung zumindest nicht kurzfristig abschalten. Sie können aber natürlich dennoch Office 365 auf Seamless Single Sign On umstellen.

Wenn Sie sogar mehrere ADFS-Server haben und gar nicht mehr sicher sind, welche alles ADFS ausführen, dann kann ihnen dieses Skript helfen:

Erst ab Windows 2016 liefert ein "(Get-AdfsFarmInformation).FarmNodes" auch alle Server. In der Regel sollten Sie aber schon wissen, welche Server bei ihnen in die ADFS-Rolle eingebunden sind. Dazu gehören ja auch einige Firewall-Regeln, Reverse Proxy Server und Loadbalancer.

Stop: Erweiterte Kontrollen

Ein zweiter Aspekt für ein Verbleib des ADFS-Servers ist die Nutzung von ADFS für Conditional Access. Natürlich können Sie auch in Office 365 die Nutzung von Clients und Diensten effektiv einschränken. Dazu ist aber Azure Premium Plan 1 oder EMS erforderlich. Wenn Sie aber nur ein einfaches "Office 365 E1/E3/E5" haben, dann fehlen ihnen einige Zusatzfunktionen. Viele Firmen nutzen daher den ADFS-Service nicht nur zur einfache Anmeldung der Clients sondern steuern über Claim Rules und MFA den Zugang zum ADFS-Server.

Da Sie ja keine Firewall oder sonstige Filter vor die Office 365 Server in der Cloud setzen können, kann jeder Anwender einfach mit seinem Benutzernamen und Kennwort von jedem beliebigen Endgerät auf die Informationen in der Cloud zugreifen. Wenn Sie also dies verhindern wollen, dann müssen Sie entweder die Ausstellung eines Tickets auf dem lokalen ADFS-Server kontrollieren oder über Conditional Access in Office 365 arbeiten.

Konfiguration in Office 365 anpassen

Ehe Sie nun den ADFS-Server abschalten, müssen wir natürlich den Office 365 Benutzern eine neue funktionierende Konfiguration geben. Dies funktioniert mit beiden Verfahren:

Wichtig ist, dass dabei Seamless Single Sign On im AADConnect aktiviert wird und sie dann mehrere Agenten installieren.

Die Umstellung erfolgt mittlerweile am besten über AADConnect. Hier können Sie sehr einfach von ADFS auf das gewünschte Verfahren umstellen. Sie können natürlich per PowerShell auch eine einzelne Domain aus der ADFS-Federation entfernen. Das ist aber knifflig, wenn Sie vorher mit ADSync nicht den KennwortHashSync (PHS) oder PTA konfiguriert haben, weil Sie dann Benutzer in der Cloud haben, an denen sich mangels Kennwort niemand anmelden kann. Da ist es auch kein Trost, dass die Sicherheit gewahrt ist, denn ein Fremdzugriff ist damit auch nicht möglich.

Nutzen Sie einfach den Assistenten von AADConnect um von ADFS auf PTA oder PHS umzustellen.

Kontrollieren Sie die Umstellung über das Azure Admin Portal oder Office 365
https://portal.office.com/adminportal/home#/dirsyncmanagement

Bei einem manuellen Wechsel sind mit der PowerShell sind folgende Schritte erforderlich. Sie müssen sich dazu erst mit Office 36 verbinden:

Danach sind es nur wenige Befehle:

# Anmeldedaten erfassen
$cred = Get-Credential

# Verbindung zu Office 365 gerstellen
Connect-MsolService -Credential $cred

# Verbindung zum ADFS-Server herstellen, wenn Sie nicht auf dem ADFS-Server die Befehle ausfuehren
Set-MsolAdfscontext -Computer adfs.msxfaq.de

# Domain von ADFS abmelden
Convert-MsolDomainToStandard -DomainName contoso.com -SkipUserConversion

Die Änderung kann laut Microsoft bis zu 2 Stunden dauern, bis alle Frontend Server weltweit ihren Cache aktualisiert haben und Benutzer mit dieser Domain im UPN nicht mehr zum ADFS-Server senden.

ADFS Services deinstallieren

Für die folgende Checkliste gehe ich davon aus, dass Sie alle ADFS-Abhängigkeiten zu anderen Plattformen entfernt haben und den ADFS-Service tatsächlich komplett entfernen wollen.

Aktion

Status

Inventory

Wenn Sie nicht genau ihre Umgebung kennen, sollten Sie die Chance nutzen, die Umgebung schnell zu erfassen:

  • ADFS-Farmmitglieder finden
    Ein ADFS-Server arbeitet selten alleine. Lesen Sie die Farm-Umgebung aus, um die Serverliste zu erhalten.
(Get-AdfsFarmInformation).farmnodes
  • ADFS-Proxy-Server ermitteln
    Auf meinem ADFS2016-Server habe ich dazu die Zertifikate auf dem ADFS-Server ausgelesen, da sich die Proxy-Server so authentirfizieren.
dir Cert:\LocalMachine\AdfsTrustedDevices | Where-Object { $_.Subject -like "CN=ADFS ProxyTrust*" }
  • Dienstkonto ermitteln (DONE) NETATWORK\svc-adfs
    Der ADFS-Service selbst nutzt einen Service-Account, um mit dem lokalen AD zu kommunizieren. Für die spätere Entfernung schreibe ich mit das Konto auf.

Office 365

Meist ist es ein Office 365 Tenant oder Azure AD die aus der Vergangenheit oder aktuell noch ADFS nutzen. Sie können von ADFS geplant auf andere Verfahren umsteigen, wie ich auch auf ADFS zu PHS/SSO beschrieben habe. Das geht mittlerweile sogar mit Benutzern und Gruppen und nicht mehr nur komplett pro Domain. Diesen Prozesssollten Sie vorab aber abgeschlossen haben und es kann durchaus bis zu 12 Stunden dauern, bis eine Federation in der Cloud entfernt wurde.

Pass-through Authentication is a tenant-level feature. Turning it on affects the sign-in for users across all the managed domains in your tenant. If you're switching from Active Directory Federation Services (AD FS) to Pass-through Authentication, you should wait at least 12 hours before shutting down your AD FS infrastructure. This wait time is to ensure that users can keep signing in to Exchange ActiveSync during the transition.
Quelle: https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta-quick-start

Kontrolle des "Relying Party Trust"

Jeder Service, der sich dem ADFS-Dienst zur Authentifizierung bedient, muss als Relying Party Trust eingetragen sein. Kontrollieren Sie daher, ob es noch andere Dienste gibt, deren Authentifizierung Sie abschalten müssen.

Sie können einzelne "Relying Party Trust"-Einträge auch individuell "deaktivieren", so dass nur noch diese nicht mehr funktionieren.

Kontrolle des ADFS auf verbliebene Zugriffe

Wenn Sie ganz sicher sein wollen, dann lassen Sie den ADFS-Server noch einige Tage laufen und überwachen, welche Zugriffe darauf noch erfolgen. Wenn Sie schon vorher eine entsprechende Protokollierung vorgenommen haben, dann

ADFS außer Betrieb setzen

Vor der Deinstallation würde ich den ADFS-Service erst einmal "inaktiv" schalten, damit er nicht mehr arbeitet, aber sehr schnell wieder "online" genommen werden kann. Dazu führe ich folgende Schritte aus:

  • Monitoring beenden
    Damit sie keine Fehlalarme bekommen, sollten Sie in ihrer Überwachungssoftware die ADFS-Services deaktivieren oder entfernen. Zumindest sollte kein Alarm generiert oder automatisch eine Korrektur versucht werden.
  • ADFS-Dienste beenden
  • ADFS-Dienstkonto deaktivieren

Jeder Versuch nun noch mit ADFS zu arbeiten, sollte zu einem Fehler führen.

Karenzzeit

Noch könnten Sieden ADFS-Service relativ schnell wieder online nehmen, wenn etwas übersehen wurde. Planen Sie zur Sicherheit einfach ein paar Tage "Abstand" ein, ehe Sie die nächste Phase einläuten.

Firewall-Regeln zurückbauen

Es gehört zum guten Ton die nicht mehr erforderlichen Freigaben auch wieder abzumelden.

Reverse Proxy Server anpassen

Das gleiche gilt für einen eventuell genutzten Reverse-Proxy. Wenn es ein ADFS-Proxy unter Windows ist, dann können Sie mit folgenden Zeilen die Rolle entfernen.

Remove-WindowsFeature Web-Application-Proxy,CMAK,RSAT-RemoteAccess

Das entfällt natürlich, wenn Sie den kompletten Host deinstallieren.

Loadbalancer anpassen

Wer mehrere ADFS-Server genutzt hat, wird auch die virtuellen Server im Loadbalancer entfernen lassen und die IP-Adressen und Ports wieder freigeben

ADFS-Rollen entfernen

Die ADFS-Rolle wird einfach über die Windows Rollen entfernt. Bei den meisten Kunden war ADFS ein eigener Server oder eine eigene VM, die komplett deinstalliert und als dem Forest entfernt wurde.

Remove-WindowsFeature ADFS-Federation,Windows-Internal-Database

Remove-Item C:\Windows\WID\data\adfs* 

ADFS-Service Account entfernen

Die ADFS-Server nutzen einen Service Account, der bei der Entfernung der Rolle nicht mit entfernt wird. Das Konto wird im AD entfernt. Wenn Sie es ganz perfekt machen wollen, dann ermitteln Sie vorher die Berechtigungen und entfernen diese auch, damit keine "unbekannten SID-Einträge" zurückbleiben. Dazu gehört natürlich, dass Sie bei Installation und Betrieb die vergebenen Berechtigungen protokolliert haben. Eventuell helfen ihnen auch Programme wie Ping Castle oder Purple Knight, allzu exzessive Rechte zu finden.

Zertifikate entfernen

Wenn die ADFS-Server komplett entfernt werden, sind auch die Zertifikate weg. Wenn die Windows Server selbst weiter aktiv bleiben, weil Sie noch andere Rollen bereitstellen, dann sollten Sie die von ADFS genutzten Zertifikate (Service, Signing, Encryption) im Zertifikatsspeicher entfernen.

Wenn das öffentliche Webserver-Zertifikat nicht mehr benötigt wird, dann sollten Sie es bei der ausstellenden PKI zurückziehen.

DNS-Namen austragen

Zuletzt lassen wir noch die DNS-Einträge der Server, virtuellen Server etc. entfernen.

Damit sollten fast alle Spuren ihrer ADFS-Installation entfernt worden sein.

Weitere Links