Die regelmässige Erneuerung des Kerberos-Entschlüsselungsschlüssels ist entscheidend, um die Sicherheit und Integrität des nahtlosen einmaligen Anmeldens (Seamless Single Sign-On, SSO) in hybriden IT-Umgebungen zu gewährleisten. Microsoft empfiehlt, diesen Schlüssel alle 30 Tage zu erneuern, um potenzielle Sicherheitslücken zu schliessen und eine reibungslose Integration zwischen dem lokalen Active Directory und Microsoft Entra ID sicherzustellen. Dieser Prozess kann automatisiert werden, um den Verwaltungsaufwand zu minimieren und die kontinuierliche Sicherheit zu gewährleisten.
Der Blogpost zeigt, wie man den Kerberos-Entschlüsselungsschlüssel mithilfe von PowerShell und dem Aufgabenplaner automatisiert erneuert.
Voraussetzungen und Lizenzierung
Lizenz
Für das Feature Nahtloses Anmelden (Seamless SSO) und die Erneuerung des Kerberos-Entschlüsselungsschlüssels ist keine Lizenz erforderlich. Eine Lizenz ab Microsoft Entra ID Free reicht aus, und diese ist in jedem Microsoft Tenant enthalten.
Rollen
Microsoft Entra ID
Ein Microsoft Entra ID Benutzerkonto mit der Microsoft Entra-Rolle des globalen Administrators oder Hybrididentitätsadministrators, das ausschliesslich für die Erneuerung des Kerberos-Entschlüsselungsschlüssels verwendet wird. Die Sicherheit dieses Benutzerkontos sollte durch bedingten Zugriff mit Microsoft Entra gesteuert werden.
Active Directory
Ein Benutzerkonto im lokalen Active Directory mit Organisations-Administrator oder Domänen-Administrator Berechtigungen.
Windows Server
Ein Windows Server mit Domänenzugriff und installiertem Microsoft Entra Connect zur Ausführung des PowerShell-Skripts.
Ist es Zeit, den Kerberos Entschlüsselungsschlüssel zu erneuern?
Im Microsoft Entra Admin Center lässt sich schnell erkennen, ob der Kerberos-Entschlüsselungsschlüssel innerhalb der empfohlenen 30 Tage erneuert wurde oder ob eine Erneuerung ansteht.
Microsoft Entra Admin Center (https://entra.microsoft.com) öffnen und Identität > Hybridverwaltung > Microsoft Entra Connect > Connect-Synchronisierung aufrufen.
Steht hinter Nathloses Single Sign-On eine Warnung, sollte der Kerberos-Entschlüsselungsschlüssel erneuert werden.
Vorbereitung PowerShell Skript
Die Erneuerung des Kerberos-Entschlüsselungsschlüssels erfolgt automatisch durch ein PowerShell-Skript.
Sicheres Speichern von Anmeldeinformationen mit PowerShell
Das PowerShell-Skript läuft im nicht-interaktiven Modus und benötigt Zugriff auf die Anmeldeinformationen. Passwörter werden niemals im Klartext gespeichert. Stattdessen wird das Passwort mit dem Cmdlet Export-Clixml verschlüsselt. Export-Clixml nutzt die Windows Data Protectio-API zur Verschlüsselung der Anmeldeinformationen und stellt sicher, dass nur das Benutzerkonto, das die Verschlüsselung erstellt hat, die Anmeldeinformationen wieder entschlüsseln kann. Zudem kann die verschlüsselte Datei nur auf dem Gerät entschlüsselt werden, auf dem sie erstellt wurde.
Anmeldedaten für Active Directory Benutzerkonto speichern
PowerShell auf dem Windows Server starten.
Das Cmdlet Get-Credential ausführen, um die Anmeldedaten des Active Directory Benutzerkontos in der Variable $ADCreds zu speichern.
1 | $ADCreds = Get-Credential |
Die Anmeldedaten des Active Directory Benutzerkontos mit Organisations-Administrator oder Domänen-Administrator Berechtigung, das zuvor zur Anmeldung am Windows Server verwendet wurde, im Format sAMAccountName (Domain\Username) einfügen.
Anmeldedaten mit dem PowerShell cmdlet Export-Clixml verschlüsseln und in die Datei C:\Scripts\Credentials\ADCreds.xml speichern.
1 | $ADCreds | Export-CliXml -Path "C:\Scripts\Credentials\ADCreds.xml" |
Die erstellte Datei ADCreds.xml enthält nun die verschlüsselten Anmeldedaten, die nur von dem Gerät und Benutzer entschlüsselt werden können, die sie erstellt haben.
Anmeldedaten für Microsoft Entra ID Benutzerkonto speichern
PowerShell auf dem Windows Server starten.
Das Cmdlet Get-Credential ausführen, um die Anmeldedaten des Active Directory Benutzerkontos in der Variable $EntraCreds zu speichern.
1 | $EntraCreds = Get-Credential |
Die Anmeldedaten des Microsoft Entra ID Benutzerkontos mit der Rolle des globalen Administrators oder Hybrididentitätsadministrators eingeben.
Die Sicherheit dieses Benutzerkontos sollte durch bedingten Zugriff mit Microsoft Entra gesteuert werden.
Anmeldedaten mit dem PowerShell cmdlet Export-Clixml verschlüsseln und in die Datei C:\Scripts\Credentials\EntraCreds.xml speichern.
1 | $EntraCreds | Export-CliXml -Path "C:\Scripts\Credentials\EntraCreds.xml" |
Die erstellte Datei EntraCreds.xml enthält nun die verschlüsselten Anmeldedaten, die nur von dem Gerät und Benutzer entschlüsselt werden können, die sie erstellt haben.
Kerberos-Entschlüsselungsschlüssel erneuern
Das folgende PowerShell-Skript unter C:\Scripts\KerberosKeyRollover.ps1 speichern. Das Skript entschlüsselt die Anmeldedaten und erneuert den Kerberos-Entschlüsselungsschlüssel. Die Ausgabe wird in der Datei C:\Scripts\KerberosKeyRollover.txt gespeichert. Bei jedem Aufruf des PowerShell-Skripts wird diese Datei überschrieben.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # Redirecting output to the file Start-Transcript -Path "C:\Scripts\KerberosKeyRollover.txt" # Retrieving credentials $EntraCreds = Import-CliXml -Path "C:\Scripts\Credentials\EntraCreds.xml" $ADCreds = Import-CliXml -Path "C:\Scripts\Credentials\ADCreds.xml" # Loading AzureADSSO module cd "$env:programfiles\Microsoft Azure Active Directory Connect" Import-Module .\AzureADSSO.psd1 # Roll over Kerberos decryption key New-AzureADSSOAuthenticationContext -CloudCredentials $EntraCreds Update-AzureADSSOForest -OnPremCredentials $ADCreds # Terminating the redirection Stop-Transcript |
PowerShell Skript prüfen
Zur Funktionskontrolle das PowerShell-Skript manuell aus C:\Scripts\KerberosKeyRollover.ps1 aufrufen. Das Skript läuft ohne Fehlermeldung oder Abfrage der Anmeldedaten durch und gibt am Ende die Meldung The operation completed successfully aus.
Aufgabenplaner
Der Aufgabenplaner automatisiert die Erneuerung des Kerberos-Entschlüsselungsschlüssels, wodurch der Verwaltungsaufwand reduziert und gleichzeitig die Sicherheit erhöht wird.
Anmelden am Windows Server > Aufgabenplaner starten und Einfache Aufgabe erstellen anklicken
Name für die Aufgabe eingeben, z.B. Kerberos-Entschlüsselungsschlüssel erneuern
Aufgabe wöchentlich ausführen
- Startzeitpunkt wählen
- Wiederholungsintervall auf 4 Wochen setzen, so dass der Task immer innerhalb 30 Tagen ausgeführt wird
- Wochentag für die Ausführung den eigenen Bedürfnissen auswählen
Unter Aktionen Programm starten auswählen
- Programm/Skript: powershell.exe
- Argumente hinzufügen: -File «C:\Scripts\KerberosKeyRollover.ps1»
- Starten in: C:\Scripts\
Option Beim Klicken auf «Fertig stellen», die Eigenschaften dieser Aufgabe öffnen (1) auswählen und Fertig stellen (2) klicken
Option Unabhängig von der Benutzeranmeldung ausführen (1) auswählen und OK (2) klicken.
Die neue Aufgabe zur Erneuerung des Kerberos-Entschlüsselungsschlüssel wird im Aufgabenplaner angezeigt.
Funktionskontrolle
Die erfolgreiche Erneuerung des Kerberos-Entschlüsselungsschlüssels kann an den folgenden Orten überprüft werden.
Active Directory Attribut PasswordLastSet
Der Zeitstempel des Attributs PasswordLastSet für das Computerkonto AZUREADSSOACC muss mit dem Zeitpunkt der Erneuerung durch den Aufgabenplaner übereinstimmen.
1 | Get-ADComputer AZUREADSSOACC -Properties * | FL Name,PasswordLastSet |
Ereignisanzeige
Im Windows Protokoll Security des Windows Servers erscheinen die folgenden Einträge:
EventID 4724 an Attempt was made to reset an account’s password
EventID 4742 a computer account was changed
Microsoft Entra Admin Center
Anmelden am Microsoft Entra Admin Center (https://entra.microsoft.com) und Nathloses Single Sign-On unter Identität > Hybridverwaltung > Microsoft Entra Connect > Connect-Synchronisierung auswählen.
Das Schlüsselerstellungsdatum stimmt mit dem Zeitpunkt der letzten Ausführung des Aufgabenplaners überein.
Folge mir auf LinkedIn und BlueSky, um stets über meine neuesten Beiträge auf dem Laufenden zu bleiben.
War dieser Beitrag hilfreich für dich? Zeige deine Begeisterung mit dem herrlichen Aroma eines frisch gebrühten Kaffees für mich!