9.1. Passwortattribute und Kerberos-Schlüssel härten#
Nubus speichert passwortbezogene Attribute für verschiedene Authentifizierungsprotokolle und Dienste.
Sie können die Menge an veraltetem Anmeldeinformationsmaterial im Verzeichnisdienst verringern, indem Sie die Generierung des NT-Hash deaktivieren und die Kerberos-Verschlüsselungstypen einschränken. Diese Seite beschreibt die erforderlichen Prüfungen, die Konfiguration und die Bereinigung.
Warnung
Wenden Sie diese Einstellungen erst an, nachdem Sie die Integrationen in Ihrer Umgebung überprüft haben.
Bestehende Benutzer- und Dienstkonten können die betroffenen Werte weiterhin enthalten, bis Sie die Bereinigungsbefehle ausführen.
Nach der Bereinigung können Sie die entfernten Werte nicht wiederherstellen, ohne die betroffenen Passwörter zurückzusetzen.
9.1.1. Attribute für Anmeldeinformationen#
Der Verzeichnisdienst enthält mehrere Passwortdarstellungen, weil verschiedene Dienste unterschiedliche Authentifizierungsprotokolle verwenden. Die folgenden Passwortdarstellungen sind für Kerberos relevant:
sambaNTPasswordEin nicht gesalzener Passwort-Hash, der die veraltete NTLM-basierte Authentifizierung unterstützt. Der Hash ist für die Kerberos-Authentifizierung nicht erforderlich.
krb5KeySpeichert Kerberos-Schlüssel für einen Principal. Ein Principal kann mehrere Schlüssel mit unterschiedlichen Verschlüsselungstypen haben. Dies unterstützt die Authentifizierung durch Clients und Dienste während einer Migration. Das Attribut kann unsichere oder veraltete Schlüssel enthalten.
userPasswordSpeichert einen Crypt-Hash, der eine konfigurierbare Hash-Methode verwendet. Weitere Informationen zu Passwort-Hashes finden Sie unter Passwort-Hashes.
9.1.2. Härtungsmaßnahmen auswählen#
Bevor Sie eine Härtungsmaßnahme auswählen, ermitteln Sie die Dienste in Ihrer Umgebung, die von NT-Hashes oder bestimmten Kerberos-Verschlüsselungstypen abhängen. Sie können die folgenden Maßnahmen unabhängig voneinander anwenden:
password/samba/nthashSteuert, ob Univention Directory Manager (UDM) bei einer Passwortänderung sambaNTPassword generiert.
kerberos/defaults/enctypes/permittedSteuert die Verschlüsselungstypen, die Univention Corporate Server (UCS) für Kerberos-Schlüssel zulässt.
Das Ändern einer der beiden UCR Variablen entfernt keine bereits vorhandenen Werte. Verwenden Sie für bestehende Umgebungen Vorhandene NT-Hashes entfernen oder Schwache Kerberos-Schlüssel entfernen.
Sie können sambaNTPassword in Umgebungen nicht deaktivieren, in denen einer der folgenden Dienste NT-Hashes für Kernfunktionen verwendet:
- Samba und Active Directory
UCS kann ein Samba-domänenbasiertes Active Directory betreiben, das mit Active Directory kompatible Authentifizierungs- und Dateidienste bereitstellt. Um Samba mit dem Verzeichnisdienst in UCS synchron zu halten, verwendet es krb5Key.
- Active Directory Verbindung
Die Passwortsynchronisierung zwischen UCS und Active Directory erfordert den NT-Hash sambaNTPassword.
- univention-squid
Das
squid_ldap_ntlm_authBackend für die Authentifizierung benötigt den NT-Hash für die transparente Proxy-Authentifizierung.- univention-radius
Das Hilfsprogramm
univention-radius-ntlm-authbenötigt den NT-Hash für die MS-CHAP- und NTLM-Authentifizierung.
Wenn einer dieser Dienste aktiv ist, lassen Sie password/samba/nthash aktiviert. Das Entfernen vorhandener NT-Hashes unterbricht die betroffene Authentifizierungs- oder Synchronisierungsfunktion und kann ohne Zurücksetzen der Passwörter nicht rückgängig gemacht werden.
Das Entfernen schwacher oder veralteter Verschlüsselungstypen aus krb5Key kann verhindern, dass sich ein Principal authentifiziert, wenn ein Client oder Dienst nur einen entfernten Typ unterstützt. Dies betrifft auch veraltete Windows-Clients, Dienstkonten, die nicht zu AES-Verschlüsselung migriert wurden, und Vertrauensstellungen, die nur entfernte Verschlüsselungstypen unterstützen. Prüfen Sie die Verschlüsselungstypen, die Domänenintegrationen verwenden, bevor Sie fortfahren.
9.1.3. Generierung des NT-Hash deaktivieren#
Um UDM daran zu hindern, sambaNTPassword bei zukünftigen Passwortänderungen zu generieren, ändern Sie die UCR-Variable password/samba/nthash.
Wenn kein aktiver Dienst die NTLM-basierte Authentifizierung oder Passwortsynchronisierung benötigt, wie unter Härtungsmaßnahmen auswählen beschrieben, setzen Sie die UCR-Variable auf jedem UCS-System, das Passwortänderungen über UDM durchführt. Verwenden Sie den Befehl in Listing 9.1.
Wenn Sie die UCR-Variable auf mehreren Systemen konfigurieren möchten, ziehen Sie eine UCR-Richtlinie in Betracht. Weitere Informationen finden Sie unter UCR-Variablen mit Richtlinien konfigurieren.
UDM beendet dann die Generierung von sambaNTPassword bei Passwortänderungen und entfernt den Wert bei der nächsten Passwortänderung. Die Einstellung entfernt keine vorhandenen Werte sofort.
$ ucr set password/samba/nthash=false
9.1.4. Vorhandene NT-Hashes entfernen#
Das Bereinigungsskript entfernt Werte aus allen passenden Verzeichnisobjekten. Erstellen und überprüfen Sie vor dem Ausführen ein Verzeichnis-Backup, wie unter Tägliches Backup von LDAP-Daten beschrieben. Führen Sie zuerst den Testlaufmodus aus, um zu sehen, welche Objekte der Befehl ändern würde.
Überprüfen Sie auf dem Primary Directory Node, ob password/samba/nthash den Wert false hat. Führen Sie anschließend den Befehl in Listing 9.2 nur auf dem Primary Directory Node aus.
$ /usr/share/univention-directory-manager-tools/remove_sambantpassword --dry-run
Wenn die Ausgabe des Testlaufs nur betroffene Benutzerkonten aufführt und Sie diese zur Bereinigung freigegeben haben, führen Sie den Befehl ohne --dry-run auf dem Primary Directory Node aus, wie in Listing 9.3 gezeigt. Der Befehl entfernt sambaNTPassword aus allen betroffenen Benutzerkonten. Er gibt eine Warnung aus, wenn die UCR-Variable nicht auf false gesetzt ist.
$ /usr/share/univention-directory-manager-tools/remove_sambantpassword
9.1.5. Kerberos-Verschlüsselungstypen einschränken#
Um nur AES-256- und AES-128-Schlüssel zuzulassen, setzen Sie die UCR-Variable kerberos/defaults/enctypes/permitted auf jedem UCS-System, das Kerberos-Anmeldeinformationen bereitstellt oder verwaltet, wie in Listing 9.4 gezeigt.
Wenn Sie die UCR-Variable auf mehreren Systemen konfigurieren möchten, ziehen Sie eine UCR-Richtlinie in Betracht. Weitere Informationen finden Sie unter UCR-Variablen mit Richtlinien konfigurieren.
$ ucr set kerberos/defaults/enctypes/permitted='aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96'
Diese Einstellung schließt die folgenden unsicheren oder veralteten Typen aus dem Standardschlüsselsatz aus:
arcfour-hmac-md5, auch alsrc4-hmacbekanntdes-cbc-crcdes-cbc-md5des-cbc-md4des3-hmac-sha1unddes3-cbc-sha1
Die Einstellung wirkt sich auf neu generierte Schlüssel und die Kerberos-Aushandlung aus. Sie entfernt keine schwachen Schlüssel, die bereits in krb5Key gespeichert sind.
Vorsicht
Testen Sie nach dem Ändern der zulässigen Verschlüsselungstypen Domänenbeitritte, Vertrauensstellungen, Dienstkonten und Anwendungen. Wenn ein erforderlicher Principal keinen gemeinsam unterstützten Verschlüsselungstyp hat, schlägt seine Authentifizierung fehl.
9.1.6. Schwache Kerberos-Schlüssel entfernen#
Der Kerberos-Bereinigungsbefehl entfernt die unter Kerberos-Verschlüsselungstypen einschränken aufgeführte Standardmenge schwacher und veralteter Schlüsseltypen. Führen Sie zuerst den Testlaufmodus aus, wie in Listing 9.5 gezeigt.
$ /usr/share/univention-directory-manager-tools/remove_krb5key_keytypes --dry-run
Wenn kein Client, Dienst oder keine Integration in die Domäne die Schlüsseltypen in der Ausgabe des Testlaufs benötigt, führen Sie den in Listing 9.6 gezeigten Befehl aus. Der Befehl erhöht krb5KeyVersionNumber für jedes Objekt, das er ändert. Wenn ein Wert von krb5Key nicht dekodiert werden kann, überspringt der Befehl dieses Objekt, statt es zu ändern.
$ /usr/share/univention-directory-manager-tools/remove_krb5key_keytypes
Um einen bestimmten Schlüsseltyp zu entfernen, verwenden Sie den Befehl in Listing 9.7. Sie können die Option --keytype mehrfach angeben. Das Argument akzeptiert einen Namen für Schlüsseltypen für Kerberos oder eine ID für den Verschlüsselungstyp. Geben Sie beispielsweise rc4-hmac an, um nur RC4-HMAC-Schlüssel zu entfernen, wie in Listing 9.7 gezeigt.
Sie können diese Bereinigung nicht rückgängig machen, ohne die Passwörter der betroffenen Konten zurückzusetzen.
$ /usr/share/univention-directory-manager-tools/remove_krb5key_keytypes --keytype rc4-hmac
9.1.7. Ergebnis überprüfen#
Überprüfen Sie nach der Bereinigung die folgenden Authentifizierungspfade:
Den Zugriff eines regulären Benutzers auf die Dienste, die er verwendet.
Jedes Dienstkonto, das eine Anwendung oder geplante Aufgabe ausführt.
Jeden konfigurierten Domänenbeitritt, jede Vertrauensstellung und jede Integration mit Active Directory.
Jeden konfigurierten Proxy- oder RADIUS-Authentifizierungsdienst.
UDM beendet dann die Generierung von sambaNTPassword bei Passwortänderungen. Bei der nächsten Passwortänderung entfernt UDM sambaNTPassword. Die Einstellung entfernt keine vorhandenen Werte sofort.