LDAP / Active Directory sorguları için yük dengeleme yapabilir miyim?
Kısa cevap
Evet, L7 TCP vService ile. LDAP (389) ve LDAPS (636) portları frontend'de TCP protokolüyle olduğu gibi iletilebilir; bu yöntemde StartTLS ve LDAPS şifrelemesi etki alanı denetleyicisinde kalır ve iki port tek vService'te yayınlandığı için Kurum Servislerinde Use Frontend Port açılır. LDAPS'in TR7'de sonlandırılması isteniyorsa 636 portu ayrı bir L7 TCP vService'te TCP + TLS ile ve bir sertifikayla yayınlanır. Algoritma olarak Least Connection, health check için LDAP ya da LDAPS türünde health check kullanılır.
Sorun: LDAP Trafiğinde Nelere Dikkat Edilir?
Uygulamalar kimlik doğrulama ve dizin sorguları için etki alanı denetleyicilerine (DC) sürekli bağlanır; bir DC kapandığında bütün girişler durabilir. LDAP'te şifreleme iki biçimde yapılır: 389 portunda StartTLS (TLS bağlantının içinde sonradan başlar) ya da 636 portunda doğrudan LDAPS. TR7'nin şifrelemeyi sonlandırıp sonlandırmayacağı, DC'deki güvenlik ayarlarını da etkiler.
Çözüm: İki Yöntem
| Durumunuz | Uygun yöntem |
|---|---|
| Şifreleme DC'de kalsın; StartTLS ve kanal bağlama (channel binding) kullanılıyor | Yöntem 1: TCP ile olduğu gibi iletim |
| LDAPS sertifikası TR7'de yönetilsin | Yöntem 2: LDAPS'i TR7'de sonlandırma |
Yöntem 1: TCP ile Olduğu Gibi İletim Önerilen
- Nasıl çalışır TR7 bağlantıyı DC'lere dağıtır, şifrelemeye dokunmaz; StartTLS ve LDAPS el sıkışması doğrudan istemci ile DC arasında olur.
- Nerede açılır vService → Type: L7 TCP → Frontend 389 ve 636 → Protocol: TCP; Kurum Servisi → Use Frontend Port
- Gereksinim DC'lerin kendi sertifikalarının istemcilerce güvenilir olması
- vService tipi L7 TCP
- Kurum Servisi tarafı DC'de değişiklik gerekmez. DC bağlantıları varsayılan olarak TR7'nin IP'sinden görür; denetim kayıtlarında istemci IP'si gerekiyorsa Kurum Servisinde SNAT → Use Client IP seçilir ve DC'nin dönüş trafiği TR7'den geçirilir.
Adım adım yapılandırma
Load Balancer → Profiles → Health Checks ekranında Add butonuna tıklanır (nasıl eklenir).
Name girilir, Check Type olarak LDAP seçilir; bir servis hesabıyla oturum açma da denetlenecekse LDAP Authentication açılıp kullanıcı adı ve parola girilir.
Formun altındaki Add butonuna tıklanır.
Load Balancer → Backend Services ekranında Add butonuna tıklanır (Kurum Servisi nasıl eklenir; hangi bilgiler zorunludur?).
Backend Service Name ve Address (ör. 192.0.2.70:389) girilir; Health Check alanında 1–3. adımlarda oluşturulan profil seçilir.
Aynı formun Details bölümünde Use Frontend Port açılır; böylece 389'a gelen bağlantı DC'nin 389'una, 636'ya gelen bağlantı 636'sına gider ve Address'teki port kullanılmaz.
Formun altındaki Add (mevcut Kurum Servisinde Edit) butonuna tıklanır. Her DC için 4–7. adımlar tekrarlanır.
Load Balancer → Load Balancer vService List → Add adımları izlenir; Name girilir ve Type olarak L7 TCP seçilir.
Frontend tablosuna aynı IP ile iki satır eklenir: 389 / TCP ve 636 / TCP. IP listede yoksa önce Network → Interfaces → Actions → Add IP ile eklenir (Frontend IP'sini neden elle yazamıyorum; listede olmayan bir IP'yi (ör. IPv6) vService'te kullanmak için ne yapmalıyım?).
Default Backend Services tablosunda 4–7. adımlarda eklenen Kurum Servisleri seçilir.
Formun sağ üstündeki Details anahtarı açılır; LB Algorithm kutusundaki Algorithm alanında Least Connection seçilir.
Save butonuna tıklanır. Cluster kurulumunda değişiklik varsayılan auto-sync ile eş cihaza da aktarılır; Manual Sync Mode açıksa Synchronize ile elle gönderilir.
Doğrulama
ldapsearch -H ldap://203.0.113.60 -ZZ -x -D "user@corp.example" -W -b "dc=corp,dc=example" "(sAMAccountName=test)"Kullanıcı kaydı dönervService'in vService Sessions ekranında bağlantıların DC'lere dağılımı görülür.
389 ve 636 bağlantıları sağlıklı DC'lere yayılmışYöntem 2: LDAPS'i TR7'de Sonlandırma
- Nasıl çalışır TR7, 636 portunda TLS'i kendi sertifikasıyla sonlandırır ve sorguyu DC'lere iletir.
- Nerede açılır Ayrı bir L7 TCP vService → Frontend 636 → Protocol: TCP + TLS → Certificate
- Gereksinim LDAPS adı için TR7'ye yüklenmiş geçerli bir sertifika; DC'de kanal bağlamanın zorunlu olmaması
- vService tipi L7 TCP
- Kurum Servisi tarafı TR7 DC'ye şifresiz LDAP (389) ile bağlanabilir; sorgunun DC'ye de şifreli gitmesi gerekiyorsa Kurum Servisinin adresi DC'nin 636 portu yapılır ve SSL Service açılır.
Adım adım yapılandırma
LDAPS adına ait sertifika TR7'de yoksa Certificates & PKI → SSL/TLS Certificates → Add ile yüklenir (Sertifikamı TR7'ye nasıl yüklerim; hangi formatlar destekleniyor?).
Load Balancer → Backend Services ekranında yeni Kurum Servisi için Add butonuna tıklanır; mevcut Kurum Servisi seçilip Edit butonuna tıklanarak da düzenlenebilir.
Şifresiz iletim için Address DC'nin 389 portudur; DC'ye de şifreli gidilecekse Address 636 yapılır ve SSL Service açılır. Bu vService tek port dinlediği için Use Frontend Port kapalı kalır.
Formun altındaki Add (mevcut Kurum Servisinde Edit) butonuna tıklanır. Her DC için 2–4. adımlar tekrarlanır.
Load Balancer → Load Balancer vService List → Add adımları izlenir; Name girilir ve Type olarak L7 TCP seçilir. Yöntem 1'deki vService'le aynı IP kullanılacaksa o vService'ten 636 satırı önce kaldırılır; aynı IP:port iki vService'te kullanılamaz.
Frontend satırında IP seçilir, port 636 yapılır ve Protocol olarak Encrypted (TLS) grubundaki TCP + TLS seçilir.
Görünen Certificate alanında LDAPS adına ait sertifika seçilir. Sertifikasız kaydedilen TCP + TLS satırı şifresiz TCP dinler.
Default Backend Services tablosunda 2–4. adımlarda hazırlanan Kurum Servisleri seçilir.
Save butonuna tıklanır. Cluster kurulumunda değişiklik varsayılan auto-sync ile eş cihaza da aktarılır.
Doğrulama
openssl s_client -connect 203.0.113.60:636 -servername ldap.corp.exampleTR7'ye yüklenen sertifika görünürSık Yapılan Hatalar
- Use Frontend Port'u açmamak (Yöntem 1). 389 ve 636 aynı vService'teyken Kurum Servisinin Address'teki tek portu kullanılır; LDAPS bağlantıları DC'nin LDAP portuna gider.
- 389'da TCP + TLS seçmek. StartTLS, TLS'i bağlantının içinde sonradan başlatır; TR7'de sonlandırılamaz. 389 her zaman TCP ile iletilir.
- Kanal bağlama zorunluyken LDAPS'i sonlandırmak. DC'de LDAP channel binding zorunluysa TR7'de sonlandırılan bağlantılar reddedilebilir; bu durumda Yöntem 1 kullanılır.
- Health check atamamak. Kapanan bir DC, health check yoksa bağlantı almaya devam eder ve girişler başarısız olur.
Dokümantasyonda nasıl yapılır
