Bu Kerberos / AD kurulumu mümkün mü?


10

Biraz karmaşık bir IDAM kurulumumuz var:

resim açıklamasını buraya girin

Yani son kullanıcının makinesi ve tarayıcısı ana AD ile bir ağda oturur ve İskele tabanlı uygulamamız ve konuşabileceği AD (yerel AD) diğer ağda oturur.

İki AD arasında iki yönlü bir güven var. Üst ağdaki tarayıcı güvenilir sitelerde yerel etki alanına sahiptir.

Jetty sunucusunun kurulumu aşağıdaki gibidir:

  • yerel AD'deki bir anapara karşı oluşturulan bir keytab dosyası kullanır
  • yerel AD'de tanımlanan bir kullanıcı altında bir Windows hizmeti olarak çalışıyor
  • bölge, etki alanı-bölge eşlemesi ve kdc yerel AD etki alanına karşı tanımlanır
  • spnego kullanır - isInitiator false olarak ayarlanır; doNotPrompt doğrudur; storeKey doğru

Problem şu:

  • test olarak, yerel ağ içindeki bir tarayıcıdan sunucuya erişme (yani yerel AD'ye bağlı) çalışır - Kerberos hata ayıklama bilgisi günlüklerde görünür, HTTP trafiğinde doğru Kerberos anlaşmasını görebilirim ve kullanıcı otomatik olarak oturum açmış . Parlak.
  • ancak , sunucuya ana ağ içindeki bir tarayıcıdan (kullanıcılarımızın bir şeyler yapacağı şekilde) erişilmemektedir! Tarayıcı bir 401 yetkisiz geri alır, ancak girildiğinde boş bir ekran veren kimlik bilgilerini ister. Ardından adres çubuğunu tıklayıp Enter tuşuna basmak, kimlik bilgilerinin uzak veya yerel AD için olmasına bağlı olarak iki şeyden birini yapar:

    • yerel AD kimlik bilgileri daha sonra giriş yapar, Kerberos günlüklerde sıfırdan (GET isteği, 401 yetkisiz yanıt, Kerberos üstbilgisi isteği, vb.)
    • Uzaktan AD kimlik giriş yok (GET isteği, 401 UNAUTH tepki, ne NTLM başlığındaki gibi görünür: Authorization: Negotiate <60 or so random chars>)

Her iki durumda da, istemi gerçeği yanlış!

Bu belirtiler için bir açıklama var mı? Sahip olduğumuz kurulum istediğimizi yapabilir mi?

Yukarıdaki açıklama hakkında ne yanlış olabilir: Jetty sunucusu ile ilgili bahsettiğim herhangi bir yapılandırma, yaptığım gibi, doğru olmalıdır. Daha fazla bilgi vermekten mutluluk duyuyorum. AD veya üst ağ tarayıcısı ile ilgili herhangi bir yapılandırma potansiyel olarak şüphelidir, çünkü kontrolüm altında değildir ve yapılandırmayı kendim için görmek yerine bana bildirmiştim.


_kerberos._tcp.OurITOrgDomain ve _kerberos._tcp.partentdomain için dns sonuçlarında listelenen sunucular için TCP / 88 tarayıcısı açık mı? sunucusunda kimlik doğrulaması yapmanız gereken kimlik bilgileriyle makinenin tarayıcısından kinit yapabilir misiniz?
Jacob Evans

roguelynn.com/words/explain-like-im-5-kerberos , güvenlik duvarınızın sorunlarınıza nasıl neden olabileceğine ışık tutabilir (yine, istemcinizden her iki dcs için 88)
Jacob Evans

Bir ağ yakalama yapmadan ayrıntılı bir adım adım açıklama için çok fazla değişken var. Ardından, SPN'lerin düzgün bir şekilde ayarlanıp ayarlanmadığını veya tarayıcının sessiz bir şekilde kimlik doğrulaması yapacak şekilde yapılandırılması gerekip gerekmediğini hızlı bir şekilde görürsünüz.
user2320464

Yanıtlar:


3

Paket yakalamayı görmeden HTTP / www.website.com SPN'nin uygulamayı çalıştıran hesaba kayıtlı olması gerektiğini tahmin ediyorum . Microsoft'un Dizin Hizmetleri ekibinin, aşağıdaki URL'de bu konuyu ele alan çok bölümlü harika bir yayını vardır.

https://blogs.technet.microsoft.com/askds/2008/05/29/kerberos-authentication-problems-service-principal-name-spn-issues-part-1/

Hangi SPN'nin arandığını belirlemek için her ortamdaki bir istemciden bir paket yakalama (netmon, wireshark) çalıştırın. Bu belirlendikten sonra , uygulamayı çalıştıran hesaba kaydetmek için setspn cmd'yi kullanın .

FWIW, Kerberos sadece LAN'dayken çalışır. Birisi etki alanı denetleyicilerinin erişilemediği yerlere erişime ihtiyaç duyarsa, Shibboleth veya ADFS gibi bir TOA'yı düşünmek istersiniz.

EDIT: @ alex-h tarafından belirtildiği gibi , tarayıcıların Kerberos üzerinden sessizce kimlik doğrulaması yapacak şekilde yapılandırılması gerekir.

  • Internet Explorer - TechNet makalesi özellikle uygulamanız için olmasa da, adımlar aynıdır.
  • Firefox - IE bağlantısıyla aynı, tam eşleşme değil, adımlar aynı.

Son olarak, bu Microsoft Sharepoint dağıtımlarıyla ilgili yaygın bir sorundur. Kullanıcılar alan adında kimlik doğrulaması yaptıktan sonra Kerberos üzerinden TOA'nın sessizce gerçekleşmesini istiyorlar. Yukarıdaki yanıtlar sorununuzu çözmezse, aşağıdaki gibi forumlarını kontrol etmeyi deneyin:

Chrome, Safari veya FireFox'ta Kerberos


İyi bir cevap, benimkinden daha iyi!
Alex H

Her ikinize de teşekkürler - bağlantılı dokümanları okumak birkaç günümü alacak, ancak soruyu ya da başka bir şeyi terk etmedim!
Robert Grant

Aslında bu değildi, ama bence bu cevabı gerçek olarak ayrı bir cevap olarak ekleyeceğim çok sıradışı bir durum olduğu için kabul etmek en iyisidir. Çok teşekkür ederim!
Robert Grant

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.