Ihre KVNO (Schlüsselversionsnummer) scheint nicht korrekt zu sein. Wenn Sie AD verwenden, können Sie eine Keytab mit KVNO 255 generieren (AD verwendet KVNO nicht). Sie können Debugging wie hier beschrieben aktivieren: Kerberos-Fehlerbehebung. Wenn Sie den Inhalt der Tracedatei bereitstellen, kann ich möglicherweise mehr erfahren.
Apache und Kerberos SSO mit mehreren vhosts und mehreren SPNs
Ich möchte die einmalige Anmeldung einer Website in meiner Windows-Box durchführen. Ich verwende das Kerberos-Authentifizierungsmodul von Apache. Dies funktioniert ziemlich gut, wenn nur eine Website vorhanden ist.
Dies ist die aktuelle Konfiguration:
.htaccess-Datei:
RewriteEngine On AuthType Kerberos AuthName "Login" KrbAuthRealms MY.DOMAIN.NAME KrbServiceName HTTP/sub1.domain.com@MY.DOMAIN.NAME Krb5Keytab /etc/mykeytab.keytab KrbMethodK5Passwd on KrbAuthoritative on KrbMethodNegotiate on Require valid-user
Damit dies funktioniert, musste ich eine Keytab-Datei auf meinem Active Directory Controller erstellen, indem der folgende Befehl verwendet wurde:
ktpass -out c:\temp\mykeytab.keytab -princ HTTP/sub1.domain.com@MY.DOMAIN.NAME -mapUser user1 -mapOp set -pass secret -crypto AES256-SHA1 -pType KRB5_NT_PRINCIPAL
Wie gesagt, bis zu diesem Punkt funktioniert alles ziemlich gut. Nun zum kniffligen Teil:
Ich möchte eine zweite Website (vhost) auf derselben physischen Maschine haben, die denselben Active Directory-Benutzer (user1) verwendet. Es ist mir egal, ob ich einen anderen Service Principal-Namen (SPN) verwenden muss oder ob ich denselben Namen wie zuvor verwenden kann.
Die neue Site heißt:
sub2.domain.com
und die .htaccess
Datei ist
.htaccess-Datei:
RewriteEngine On AuthType Kerberos AuthName "Login" KrbAuthRealms MY.DOMAIN.NAME KrbServiceName HTTP/sub2.domain.com@MY.DOMAIN.NAME Krb5Keytab /etc/mykeytab2.keytab KrbMethodK5Passwd on KrbAuthoritative on KrbMethodNegotiate on Require valid-user
Ich habe auch eine neue Keytab-Datei erstellt:
ktpass -out c:\temp\mykeytab2.keytab -princ HTTP/sub2.domain.com@MY.DOMAIN.NAME -mapUser user1 -mapOp add -pass secret -crypto AES256-SHA1 -pType KRB5_NT_PRINCIPAL -in c:\temp\mykeytab1.keytab
Diese Keytab-Datei enthält jetzt beide SPNs, die Benutzer1 zugeordnet sind.
Beim Öffnen beider Websites funktioniert nur₁₁ noch ,,22 gibt eine Anmeldeaufforderung aus, dh SSO funktioniert nicht mit,22.
Leider enthalten die apache2-Protokolldateien keine verwandten Informationen, obwohl ich sie verwendet habe LogLevel debug
.
In der Zwischenzeit habe ich herausgefunden, dass eines meiner Probleme die Schlüsselversionsnummer (kvno) ist, die sich in beiden Keytabs und auch in der zusammengeführten Keytab-Datei unterscheidet. (Beide Einträge behalten ihre ursprüngliche Kvno, wobei die ältere Kvno ungültig wird, sobald die neuere aktiv ist ...) Gibt es eine Möglichkeit, dieselbe Kvno auf beiden Keytabs (oder auf beiden Einträgen der kombinierten Keytab?) Zu haben. Übrigens lautet die entsprechende Fehlermeldung:
[auth_kerb:error] [pid 8222] [client 10.10.10.10:59840] gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, Key version number for principal in key table is incorrect)
Weiß jemand, warum 2 nicht richtig funktioniert und sub1 nicht funktioniert? ... und was kann ich tun, um die gleichen kvnos zu haben?
Am besten, TomS
1 Antwort auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4