Soru AD'yi bir LDAP hizmeti olarak kullanan uygulamalar için yüksek oranda nasıl kullanılabilir hale getirilir?


Bizim durum

Şu anda kimlik doğrulama için LDAP kullanan birçok web uygulamasına sahibiz. Bunun için, web uygulamasını LDAPS bağlantı noktasını kullanarak AD etki alanı denetleyicilerinden birine yönlendiriyoruz (636).

Etki Alanı Denetleyicisi'ni güncellememiz gerektiğinde, bu durum sorunlara neden oldu, çünkü bir web uygulaması herhangi bir DC'ye bağlı olabilir.

Ne istiyoruz

Web uygulamalarımızı bir küme "sanal" IP'ye yönlendirmek istiyoruz. Bu küme en az iki sunucudan oluşacaktır (böylece her bir küme sunucusu döndürülebilir ve güncelleştirilebilir). Küme sunucuları daha sonra DC'lere LDAPS bağlantılarını proxy edecek ve hangisinin müsait olduğunu anlayabilecek.

Sorular

AD'nin LDAP arabirimi için bir HA kümesi oluşturma deneyimi olan herkes için:

  1. Küme için hangi yazılımı kullandınız?
  2. Herhangi bir uyarı var mı?
  3. Ya da benzer bir şey elde etmek için belki tamamen farklı bir mimari?

Güncelleştirme

Belki de sorum, başlangıçta yeterince açık değildi. Bunun için özür dilerim.

Bu web uygulamaları bizim tarafımızdan geliştirilmemiştir ve AD-farkında değildir. Sadece bir LDAP sunucusunun ana makine adı / IP adresini isterler. Maalesef bu kısıtlama ile çalışmak zorundayız. Nasıl anladım SRV records Çalışmak, ancak bunlar bizim uygulamalarımız değil, bu durumda bize yardımcı olmaz.

Geliştiricilerin, uygulamalarını AD olarak tanımlamaları için değiştirmeye zorlamak bizim için de gerçekçi değildir.

Tek seçenek, bu sorunun, yazılımın karşıtı olarak altyapı içerisinde ele alınmasıdır. Sorularım özellikle bunu yapan herkese yöneltilmiş.


6
2018-03-27 22:41


Menşei


AD, kutudan iyi bir şekilde kümelenir. Alanda ek DC'leri tanıtmaktan başka bir şey yapmanız gerekmez. - Joel Coel
Anlaşılır ve bu, AD uyumlu uygulamalar için iyi çalışır, ancak LDAP kimlik doğrulaması uygulamaları için uygun değildir. - Belmin Fernandez


Cevaplar:


Kullanırız Cisco IOS'un Sunucu Yük Dengeleyicisi (SLB)  Bunun için OpenLDAP sunucularımıza karşı.
LDAP LDAP, Microsoft'un Active Directory için de çalışmalıdır.
Diğer imalatçılar benzer ürünler / özellikler sunar. Tcp 389/636'yı dengelemek, tcp 80/443'ü (veya bu konuyla ilgili başka bir tcp) dengelemekle aynıdır.

Çalışmak için bazı sertifika sorunlarınız olabilir. Uygulamanın daha az uyanık olduğunu söyleyebilirsiniz. (Zaten AD'nizin sertifikalarının nasıl imzalandığından veya güvendiğiniz CA'lardan emin değilsiniz.) Veya AD sunucularınızın uygun şekilde subjectAlternativeName alanlar.


2
2018-03-29 05:09





Web uygulama sunucularınızı yalnızca Active Directory etki alanının FQDN'sine yönlendirebilmeniz gerekir. Bu onları mevcut bir DC'ye bağlamalıdır.

Örneğin, alan adınızda birkaç DC olabilir:

dc1.example.com

dc2.example.com

Web sunucularınızı dc1 veya dc2'de açıkça belirtmek yerine, bunları örnek.com'da işaretleyin (örnek 63. bağlantı noktasında örnek.com'a teletmeyi deneyin), bir DC'ye bağlantı kuracaksınız. Bence temelde robin DNS.

Bir DC çevrimdışı olduğunda ne olacağını bilmiyorum itiraf etmeliyim. DNS kayıtlarının, eğer gerçekten de olsa, bunu yansıtması biraz zaman alabilir. Bir yük dengeleyici koymak yerine test etmeye değer olabilir.


4
2018-03-27 23:01



Bunu daha önce denedik ama maalesef bir sunucuyu ele almıyor. Kurum içi geliştirdiğimiz uygulamalar aslında A kaydı için bir DNS araması gerçekleştiriyor ve her bir IP'yi çalışana kadar deniyor. Ancak, bu ne yazık ki diğer web uygulamaları çalışmıyor. - Belmin Fernandez
Bu yaklaşımla ilgili sorun, LDAP üzerinden veya STARTTLS ile LDAP kullanıldığında, etki alanı denetleyicisinin bağlantıyı şifrelemek için kendi sunucu sertifikasını kullanması, CN'nin eşleşmemesi ve doğru sertifika doğrulama işleminin başarısız olmasına neden olmasıdır. - AdmiralNemo
Kümeden LDAP sunucularına doğrudan LDAP yapabileceğimizi varsayalım. Sonra webapp'tan küme için LDAPS. Kesinlikle bir anlaşma kırıcı değil. - Belmin Fernandez
@AdmiralNemo Bu yüzden, modern şablonlar kullanan etki alanı denetleyicisi sertifikaları, sertifikanın subjectAlternateNames özelliğinde alanın FQDN'sine sahiptir. - Shane Madden♦
Bu doğru, AD sunucularına doğru sertifikaları almanız gerektiği için, hangi sunucu yanıt verirse verilsin, sertifikanın adını kullanır. - Joel Coel


Bunu yapmanın doğru yolu DNS SRV Etki alanı denetleyicisi adları ve bağlantı noktalarına bakmanın yanı sıra hangi sunucuların hangi sırayla kullanıldığını belirlemek için kayıtlar. Ne yazık ki, pek çok LDAP uygulaması SRV kayıt aramalarını desteklemiyor gibi görünmektedir.

Active Directory etki alanı denetleyicileri için SRV kaydı _ldap._tcp.domain.tld. Bu, ana bilgisayarların ve bağlantı noktalarının bir listesini ve her biri için bir öncelik ve ağırlık (bu değerler Grup İlkesi kullanılarak ayarlanabilir) ile birlikte hangi sunucunun kullanılacağını belirtebilir.


2
2018-03-27 23:39



`Ne yazık ki, pek çok LDAP uygulaması SRV kayıt aramalarını desteklemiyor gibi görünüyor. Bu nedenle, altyapımızı HA yapmak için bir yol bulmamız gerekiyor. - Belmin Fernandez
+1 - Domain Controller Locator protokolü tam olarak istediğiniz şeydir: technet.microsoft.com/en-us/library/cc961830.aspx  Bu protokolü uygulamak size Microsoft ile en iyi uyumluluğu sağlayacaktır. - Evan Anderson
Teşekkürler ama web uygulamalarını geliştirmedik, bu yüzden bizim için yararlı değil. Bu noktayı açıklığa kavuşturmak için soruyu güncelledim. - Belmin Fernandez


Uygulama, bir etki alanı denetleyicisi kullanılamıyorsa Windows istemcilerinin dahili olarak yapabilecekleri kadar sağlam olması gerekir - başka bir etki alanı denetleyicisine bağlanmaya çalışır.

Bunun işe yaraması, uygulamanın başladığında, uygulamanın Dizin Hizmeti erişim bileşeni aşağıdakileri yapardı:

  • Sitedeki tüm etki alanı denetleyicilerinin listesini (ve tercih edilirse bitişik siteler) oluşturun.
  • Bağlantıyı doğrulamak için bir dizi test yapın (ping, 389/3268/636 test). Bu ayrıca bir DC, GC veya RODC olup olmadığını doğrular.
  • Dizin hizmeti doğrulamak için basit bir sorgulama gerçekleştirin işlevsel ve kimlik doğrulaması çalışıyor.
  • Bilinen iyi etki alanı denetleyicilerinin listesini ve ayrıca çevrimdışı etki alanı denetleyicilerinin listesini kaydedin.

Ardından, bu bilinen iyi sunucuları bir bağlantı gerçekleştirirken, sunucuyu bağlantı yoluna katıştırarak kullanabilirsiniz. Bir istisna oluşursa ve dc ile ilgili bir problemi gösterecek türlerden biri (sunucu çalışmıyor, meşgul, zaman aşımı, vb.) İse, bu dc'yi çevrimdışı listeye eklersiniz ve diğer dc'lerden birini kullanarak işlemi başlatırsınız.


1
2018-03-28 01:13



Teşekkürler Greg, ancak bu senaryoda web uygulamalarını geliştirmedik, böylece bunu uygulayamayız. Bu noktayı açıklığa kavuşturmak için soruyu güncelledim. - Belmin Fernandez


Olası bir çözüm bir LDAP Proxy Sunucusudur. Orada çok fazla yok ama kesinlikle hile yapacak. İşte bir, bir overkill - http://www.unboundid.com/products/directory-proxy-server.php. Bu LDAP proxy sunucusuna çok daha ucuz açık kaynak alternatifleri olduğundan emin olabilirsiniz.

DÜZENLEME: sadece bir düşünce, uygulama içinde LDAP URI girmek için bir yer var mı? Eğer öyleyse, boşluk gibi ayrılmış bir sunucu sırası giremezsiniz: ldap: //123..456.789.111 ldap: //123.456.789.222 ldap: //123.456.789.444


1
2018-03-28 11:09



İlk çözümünü çok beğendim. Bunu geçmişte yaptın mı? W.r.t. Birden çok LDAP sunucusuna girme: Bu, şimdi yaptığımız şeylerden bir tanesidir, ama devam etmek için bir acıdır. - Belmin Fernandez


Bir yük dengeleyici kullanmaya karar verdikten ya da DNS robinine güvenmeye karar verdikten sonra sertifikalar en büyük sorun haline geleceğinden (yani ldap.contoso.com birden fazla IP'ye çözümlenecektir), Russell Tomkins (MSFT) için bir kılavuz yayınladı. Buradaki kullanım durumları: Otomatik Yenileme ile Etki Alanı Denetleyicileri için Özel Güvenli LDAP Sertifikaları Oluşturma

Ayrıca bunun desteklenen bir yapılandırma olmadığını belirtiyor. Diğer cevaplarda da belirtildiği gibi, başvurular SRV kayıtlarını kullanmalıdır, ancak çoğu zaman değildir.

Esas olarak, "Konu Adı" özellikler sekmesinde "İstekte bulun" a geçtiğiniz sertifikalar vermek için yeni bir şablon eklemeniz gerekir. Yük dengeleyicinizin adını (ldap.contoso.com) ek bir SN olarak sağlayarak ilk sertifikayı kendiniz vermeniz gerekecek ve bundan sonra otomatik kayıt işlemi devralacak.


0
2017-11-29 21:37