Kerberos ile IP Adresi Üzerinden Kimlik Doğrulama
Modern BT altyapılarında kimlik doğrulama protokollerinin güvenliği, sistemin bütünlüğü açısından kritik öneme sahiptir. Microsoft, yıllardır NTLM protokolünü devre dışı bırakma yönünde adımlar atmaktadır. Ancak bazı uygulamalar hala IP adresi ile erişim gerektirdiğinden dolayı, Kerberos’un bu senaryolarda çalışmaması sorun yaratmaktadır.
Windows 10 (1507 ve sonrası) ve Windows Server 2016 itibarıyla, Microsoft bu durumu aşmak için Service Principal Name (SPN) yapılarına IP adreslerinin dahil edilmesine olanak tanımıştır. Bu yazıda bu özelliğin ne olduğu, nasıl etkinleştirileceği ve dikkat edilmesi gereken hususlar ele alınacaktır.
NTLM Devre Dışı Bırakıldığında Ortaya Çıkan Sorunlar
Normalde Kerberos, SPN tanımlarında yalnızca DNS hostname kullanıldığında çalışır. Bir istemci, kaynak sunucuya IP adresi ile erişmeye çalıştığında Kerberos bu bağlantıyı tanımaz ve NTLM’e geri düşer.
Örnek senaryo:
- Uygulama IP ile sabitlenmiş:
http://192.168.1.1
- NTLM devre dışı
- Sonuç: Kimlik doğrulama başarısız
Yeni Özellik: TryIPSPN ile IP Tabanlı SPN Desteği
Bu problemi aşmak için Microsoft, istemcilerde bir kayıt defteri anahtarı aracılığıyla IP adresi ile SPN kullanımını mümkün kılmıştır.
Etkinleştirme Adımları (Client Tarafında)
İlgili istemcide aşağıdaki komut çalıştırılır:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters" /v TryIPSPN /t REG_DWORD /d 1 /f
Bu işlemle, Windows artık bir IP adresi SPN’e sahipse Kerberos denemesi yapacaktır.
Not: Bu değer varsayılan olarak mevcut değildir, manuel eklenmelidir.
SPN (Service Principal Name), bir hizmetin AD ortamında Kerberos ile tanımlanmasını sağlar. Normalde şu şekilde tanımlanır:
Setspn -s host/192.168.1.1 server01
Ne Zaman Kullanılmalı?
- NTLM’i devre dışı bırakıyorsanız,
- Uygulamanız IP adresiyle çalışıyorsa ve hostname’e geçirilemiyorsa,
- Geliştirici uygulamayı IP ile sabitlemişse (hardcoded),
- Hostname çözümleme sorunları yaşıyorsanız geçici çözüm olarak
Eline sağlık.