Windows Server

Active Directory Güvenlik Serisi – Bölüm 5: LDAP Channel Binding Zorunluluğu ve Güvenlik Etkileri

Kurumsal dizin servislerini güvenli şekilde işletmek, günümüz tehdit ortamında her zamankinden daha kritik. Active Directory ortamlarında LDAP trafiğinin korunması, kimlik doğrulama bütünlüğü ve kimlik bilgisi sızıntısı risklerine karşı en önemli savunma katmanlarından biri olarak kabul ediliyor. LDAP Signing zorunluluğu uzun süredir tavsiye edilen bir güvenlik önlemi olsa da, tek başına yeterli olmadığı pek çok senaryoda görülüyor.

LDAP Channel Binding Nedir ve Neden Gerekli?

İlk bakışta LDAP Signing, LDAP trafiğinin bütünlüğünü sağladığı için başka bir güvenlik mekanizmasına gerek olmadığı düşünülebilir. Ancak saldırgan bakış açısıyla değerlendirildiğinde, önemli bir zafiyet ortaya çıkıyor:

MITM saldırganı TLS oturumunu kesip yeniden kurabilir.

LDAP Signing, SASL bind sırasında kullanılan session key sayesinde paketlerin bütünlüğünü garanti eder. Ancak:

  • Bir saldırgan TLS oturumunu sonlandırıp
  • Trafiği manipüle ettikten sonra
  • Sunucu ile yeni bir TLS oturumu açarsa

LDAP Signing bunu engelleyemez, çünkü yeni TLS oturumu teknik olarak “geçerli” görünür.

LDAP Channel Binding tam olarak bu noktada devreye girer.

Channel Binding sayesinde:

  • Bir TLS oturumunun hash bilgisi
  • Extended Protection for Authentication (EPA) aracılığıyla
  • Channel Binding Token (CBT) olarak kimlik doğrulama sürecinde kullanılır.

Bu token yalnızca istemci tarafından orijinal TLS oturumu ile üretilebilir.
Bir saldırganın CBT üretme şansı yoktur çünkü istemci kimlik bilgilerine erişimi yoktur.

LDAP Channel Binding, TLS oturumunun kesilip yeniden oluşturulmasıyla yapılan MITM/relay saldırılarını tamamen engeller.

Channel Binding’in Etkilemediği Durumlar

Aşağıdaki bağlantılar Channel Binding’den etkilenmez:

  • Simple Bind + TLS > EPA kullanılmaz, CBT üretimi yapılmaz.
  • SASL Bind + No TLS > Channel Binding devreye girmez.
  • Simple Bind + No TLS > Zaten tamamen güvensizdir; LDAP Signing bunu engeller.

Dolayısıyla Channel Binding yalnızca şu senaryoya uygulanır: SASL Bind + TLS

LDAP Channel Binding’in Etkinleştirilmesi

Windows Server 2008’den itibaren desteklenen LDAP Channel Binding, aşağıdaki GPO ile yönetilir:

GPO:
Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options

Ayar:
Domain controller: LDAP server channel binding token requirements

Bu GPO şu registr key’i yönetir:
HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\LdapEnforceChannelBinding

Ayarlar ve Etkileri

AyarAçıklama
NeverChannel Binding validation yapılmaz. Varsayılan davranıştır.
When supportedEPA destekleyen istemciler CBT sağlamıyorsa bağlantı reddedilir. Desteklemeyen istemciler etkilenmez.
AlwaysCBT sunmayan tüm istemciler reddedilir. En sıkı mod.

Not:
Ayar değişikliği domain controller’da anında etkili olur, reboot gerekmez.

İstemci Tarafı Gereksinimleri

Channel Binding için istemci tarafında ek yapılandırmaya gerek yoktur.
EPA desteği:

  • Windows 7
  • Windows Server 2008 R2
  • Ve sonrası sürümlerde varsayılan olarak mevcuttur (2009 sonrası).

Denetim (Auditing) ve Loglama

LDAP Channel Binding etkinleştirildiğinde, ortamınızdaki uyumsuz istemcileri izlemeniz gerekir. Windows Server sürümüne göre loglama davranışı farklıdır.

Windows Server 2019 ve 2022

  • Event ID 3075 > CBT sağlamadan yapılan her bind girişimi kaydedilir.
    • Kaynak IP
    • Bağlantıyı yapan hesap
    • EPA durumu
      loglanır.
  • Event ID 3074 > Geçersiz CBT yüzünden REDDEDİLEN bağlantılar.

Loglama için: 16 LDAP Interface Events seviyesinin 2 veya üzeri olması gerekir.

Windows Server 2016 ve öncesi

  • Event ID 3039 kullanılır, daha sınırlı bilgi içerir.
  • EPA desteklemeyen istemciler “When supported” modunda loglanmaz.
  • Sadece “Always” modunda tüm istemciler loglanır.

Bu nedenle Microsoft:
“En azından 2019 DC’ye geçiş yapın” tavsiyesinde bulunuyor.

6. Load Balancer Üzerinden LDAP Kullanıyorsanız Dikkat!

LDAP Channel Binding’in en kritik yan etkisi load balancer ortamlarında ortaya çıkar.

Tehlikeli senaryo: TLS terminasyonu yapan load balancer

  • LB > TLS’i sonlandırıyor
  • DC’ye yeni bir TLS oturumu açıyor

Bu durumda CBT artık geçerli olmaz ve tüm SASL+TLS bağlantıları reddedilir.

Çözüm Seçenekleri

  1. TLS Passthrough (end-to-end) LB yalnızca trafiği yönlendirir, TLS’e dokunmaz.
  2. DC sertifikasında LB VIP FQDN’i SAN olarak eklemek LB üzerinden gelen TLS bağlantısının CBT doğrulaması geçerli olur.
  3. Load balancer kullanılacaksa simple bind’e geçmek Ancak güvenlik açısından önerilmez.

En İyi Uygulamalar

Yap

  • When supported” modunda kanal bağlamayı zorunlu tutun.
  • 3074/3075 loglarını merkezi SIEM’e gönderin.
  • DC’leri 2019 veya üstüne yükseltin.
  • SASL+TLS trafiğinin gerçekten TLS passthrough yoluyla gittiğini doğrulayın.
  • LDAP Signing + LDAP Channel Binding kombinasyonunu birlikte kullanın.

Yapma

  • “Always” moduna geçmeden önce 3075 loglarını analiz etmeden değişiklik yapmayın.
  • Load balancer’ın TLS’i sonlandırdığı mimarilerde doğrudan kanal bağlamayı zorunlu tutmayın.
  • Eski istemcilerin TLS ile SASL bind yaptığını varsaymayın.
  • DC yükseltmelerini ertelemeyin (2016 desteği bitmek üzere).

LDAP Signing tek başına modern tehditlere karşı yeterli değildir. Channel Binding, TLS üzerinden yapılan SASL bind oturumlarını hem bütünlük hem de kimlik doğrulama açısından koruma altına alır. Özellikle MITM ve relay saldırılarına karşı kesin bir bariyer oluşturur.

Active Directory ortamlarında güvenlik sertleştirme çalışmalarının bir parçası olarak:

  • LDAP Signing
  • LDAP Channel Binding
  • EPA desteği
  • Güncel domain controller’lar
  • Sağlam bir denetim mekanizması

birlikte uygulanmalıdır.

Bu kombinasyon, kimlik doğrulama süreçlerini modern saldırı tekniklerine karşı dayanıklı hale getirir ve altyapınızı uzun vadeli güvenliğe taşır.

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu