Sie können ein Benutzerkonto für die Authentifizierung in allen Cluster-Knoten verwenden. Dazu ist es erforderlich, die keytab-Datei, die die Namen des Subjekt-Dienstes (im Weiteren auch "SPN") enthält, für jeden dieser Knoten zu erstellen. Bei der Erstellung der keytab-Datei muss ein Attribut für die Generierung von Salz (salt, Modifikator der Eingabe in eine Hashfunktion) benutzt werden.
Das generierte Salz muss auf eine beliebige Art und Weise gespeichert werden für das weitere Hinzufügen in die keytab-Datei von neuen SPN.
Sie können ebenso ein separates Active Directory-Benutzerkonto für jeden Cluster-Knoten erstellen, für den Sie die Kerberos-Authentifizierung konfigurieren wollen.
Notwendige Schritte vor dem Erstellen einer keytab-Datei
Bevor Sie eine Keytab-Datei erstellen, sollten Sie für jeden SPN sicherstellen, dass dieser nicht im Active Directory registriert ist. Um dies zu tun, können Sie den Befehl setspn -Q <SPN>
ausführen, wobei <SPN>
für Folgendes steht: HTTP/<vollständig qualifizierter Domänenname (FQDN) des Cluster-Knotes>@<realm Name der Active Directory–Domäne in Großbuchstaben>
.
Der Befehl sollte die Antwort "No such SPN found"
zurückgeben, was bedeutet, dass dieser SPN nicht registriert ist. Wenn der SPN bereits registriert ist, müssen Sie vor dem Erstellen der keytab-Datei für den SPN die Konto-Bindung entfernen oder das Active Directory-Konto löschen, an das der SPN gebunden ist.
Beispiel für die Überprüfung des SPN eines Verwaltungsknotens und zweier untergeordneter Knoten: setspn -Q HTTP/control-01.test.local@TEST.LOCAL setspn -Q HTTP/secondary-01.test.local@TEST.LOCAL setspn -Q HTTP/secondary-02.test.local@TEST.LOCAL |
Das Erstellen der keytab-Datei
Erstellt wird die keytab-Datei entweder auf dem Server des Domänen-Controllers oder unter einem Benutzerkonto mit den Domänenadministrator-Berechtigungen auf einem Computer, auf dem Windows-Server installiert ist und der Teil der Domäne ist.
Um eine keytab-Datei zu erstellen, während ein Benutzerkonto benutzt wird:
control-user
).control-user
mithilfe des Programms ktpass. Führen Sie dazu in der Befehlszeile den folgenden Befehl aus:C:\Windows\system32\ktpass.exe -princ HTTP/<vollständiger Domänenname (FQDN) des Verwaltungsknotens>@<realm Name der Active Directory Domäne in Großbuchstaben> -mapuser control-user@<realm Name der Active Directory Domäne in Großbuchstaben> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <Dateipfad>\<Dateiname>.keytab
Das Dienstprogramm fragt während der Befehlsausführung das Kennwort des Benutzers control-user
ab.
In der erstellten keytab-Datei wird der SPN des Verwaltungsknotens hinzugefügt. Auf dem Bildschirm wird das generierte Salt angezeigt: Hashing password with salt "<Hash-Wert>".
C:\Windows\system32\ktpass.exe -princ HTTP/<vollständiger Domänenname (FQDN) des Knotes>@<realm Name der Active Directory Domäne in Großbuchstaben> -mapuser control-user@<realm Name der Active Directory Domäne in Großbuchstaben> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <Dateipfad und -name der zuvor erstellten Datei>.keytab -out <neue Dateipfad und Name>.keytab -setupn -setpass -rawsalt "<Hash-Wert des Salt, der bei der Erstellung der keytab-Datei bei Schritt 3 erhalten wurde>"
Das Dienstprogramm fragt während der Befehlsausführung das Kennwort des Benutzers control-user
ab.
Keytab-Datei wird erstellt. In dieser Datei sind alle hinzugefügten SPN der Cluster-Knoten enthalten.
Beispiel: Sie müssen z. B. eine keytab-Datei, die die SPN-Namen der 3 Knoten enthält, erstellen: Um im Verzeichnis C:\keytabs\ eine Datei mit dem Namen
Angenommen, Sie haben das Salz Zum Hinzufügen eines weiteren SPN müssen Sie folgenden Befehl ausführen:
Beim Hinzufügen eines dritten SPN müssen Sie folgenden Befehl ausführen:
Daraufhin wird eine Datei mit dem Namen |
Um eine keytab-Datei zu erstellen, während für jeden Knoten je ein eigenes Benutzerkonto benutzt wird:
control-user
, secondary1-user
, secondary2-user
usw.).control-user
mithilfe des Programms ktpass. Führen Sie dazu in der Befehlszeile den folgenden Befehl aus:C:\Windows\system32\ktpass.exe -princ HTTP/<vollständiger Domänenname (FQDN) des Verwaltungsknotens>@<realm Name der Active Directory Domäne in Großbuchstaben> -mapuser control-user@<realm Name der Active Directory Domäne in Großbuchstaben> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <Dateipfad>\<Dateiname>.keytab
Das Dienstprogramm fragt während der Befehlsausführung das Kennwort des Benutzers control-user
ab.
In der erstellten keytab-Datei wird der SPN des Verwaltungsknotens hinzugefügt.
C:\Windows\system32\ktpass.exe -princ HTTP/<vollständiger Domänenname (FQDN) des Knotens>@<realm Name der Active Directory Domäne in Großbuchstaben> -mapuser secondary1-user@<realm Name der Active Directory Domäne in Großbuchstaben> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <Dateipfad und -name der zuvor erstellen Datei>.keytab -out <Dateipfad und neuer Name>.keytab
Das Dienstprogramm fragt während der Befehlsausführung das Kennwort des Benutzers secondary1-user
ab.
Keytab-Datei wird erstellt. In dieser Datei sind alle hinzugefügten SPN der Cluster-Knoten enthalten.
Beispiel: Sie müssen z. B. eine keytab-Datei, die die SPN-Namen der 3 Knoten enthält, erstellen: Um im Verzeichnis C:\keytabs\ eine Datei mit dem Namen
Zum Hinzufügen eines weiteren SPN müssen Sie folgenden Befehl ausführen:
Beim Hinzufügen eines dritten SPN müssen Sie folgenden Befehl ausführen:
Daraufhin wird eine Datei mit dem Namen |
Notwendige Schritte nach dem Erstellen einer keytab-Datei
Nachdem Sie die keytab-Datei erstellt haben, sollten Sie für jeden SPN sicherstellen, dass er registriert und mit dem entsprechenden Konto verknüpft ist. Die können Sie tun, indem Sie den Befehl setspn -Q <SPN>
ausführen, wobei <SPN>
für Folgendes steht: HTTP/<vollständig qualifizierter Domänenname (FQDN) des Cluster-Knoten>@<realm Name der Active Directory-Domäne in Großbuchstaben>
.
Der Befehl sollte die Antwort Exisiting SPN found
und das Konto zurückgeben, dem der SPN zugeordnet ist.
Darüber hinaus können Sie nach dem Erstellen der keytab-Datei die SPN-Liste überprüfen, die dem entsprechenden Konto zugeordnet ist. Dies können Sie tun, indem Sie den Befehl setspn -L <Konto>
ausführen, wobei <Konto>
für Folgedes steht: <Benutzername>@<realm Name der Active Directory-Domäne in Großbuchstaben>
.
Wenn die keytab-Datei mit einem einzelnen Konto erstellt wurde, sollte der Befehl eine Liste aller SPNs zurückgeben, für welche die Keytab-Datei erstellt wurde. Wenn die keytab-Datei für jeden Knoten mit einem separaten Konto erstellt wurde, sollte der Befehl einen SPN zurückgeben, der einem bestimmten Konto zugeordnet ist.
Beispiel des Befehls für ein Konto: setspn -L control-user@TEST.LOCAL Beispiel der Befehle mit separaten Konten für jeden Knoten: setspn -L control-user@TEST.LOCAL setspn -L secondary1-user@TEST.LOCAL setspn -L secondary2-user@TEST.LOCAL |