Windows kutumda bir web sitesinin tek oturumunu açmak istiyorum. Apache Kerberos Kimlik Doğrulama modülünü kullanıyorum. Sadece bir web sitesi varken bu oldukça iyi çalışıyor.
Bu mevcut yapılandırmadır:
.htaccess dosyası:
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
Bu çalışmayı elde etmek için, Active Directory Controller'ımda aşağıdaki komutu kullanarak bir keytab dosyası oluşturmam gerekiyor:
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
Dediğim gibi, bu noktaya kadar her şey oldukça iyi çalışıyor. Şimdi zor kısmı için:
Aynı Active Directory kullanıcısını (kullanıcı1) kullanan aynı fiziksel makinede 2. bir web sitesine (vhost) sahip olmak istiyorum. Farklı bir Servis Asıl adı (SPN) kullanmam gerekip gerekmediğini veya eskisi gibi kullanabileceğim umrumda değil.
Yeni sitenin adı:
sub2.domain.com
ve .htaccess
dosya
.htaccess dosyası:
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
Ayrıca şöyle yeni bir keytab dosyası yarattım:
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
Bu keytab dosyası şimdi user1 ile eşlenen her iki SPN'yi de içeriyor.
Her iki web sitesini açarken, sadece alt1 hala çalışıyor, alt2 bir giriş istemi veriyor, yani SSO sub2 ile çalışmıyor.
Maalesef, apache2 log dosyaları, kullanmama rağmen ilgili herhangi bir bilgi içermiyor LogLevel debug
.
Bu arada, sorunlarımdan birinin, hem anahtar sekmelerinde hem de birleştirilmiş keytab dosyasında farklı olan anahtar sürüm numarası (kvno) olduğunu öğrendim. (Her iki giriş de orijinal kvno'larını, en yenisi aktif olur olmaz geçersiz kılınacak şekilde geçersiz kılar ...) Her iki tuş sekmesinde de (veya birleşik tuş sekmesinin her iki girişinde de aynı kvno) sahip olmanın bir yolu var mı? BTW, ilgili hata günlüğü mesajı şudur:
[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)
Sub2'nin neden doğru çalışmadığını ve sub1'in çalıştığını bilen var mı? ... ve aynı Svnos'a sahip olmak için ne yapabilirim?
En iyi, TomS