Birden çok vhost ve birden fazla SPN içeren Apache ve Kerberos SSO


0

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

Yanıtlar:


0

KVNO'nuz (anahtar sürüm numarası) doğru görünmüyor. AD kullanıyorsanız, KVNO 255 ​​ile bir keytab oluşturabilirsiniz (AD, KVNO kullanmaz). Hata ayıklamayı burada açıklandığı şekilde etkinleştirebilirsiniz: Kerberos Sorun Giderme ve izleme dosyasının içeriğini gönderirseniz daha fazlasını söyleyebilirim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.