EN
EN

NTLM ve KERBEROS


Kimlik doğrulama, söylediğiniz kişi olduğunuzu kanıtlama sürecidir. Kullanıcıların istek yaptığı kaynağa erişmeden önce kimlik doğrulama protokolleri ile kimliği doğrulanır ve yetkili kullanıcıların kaynağa erişimine izin verilir.

Kullanıcı, bir web sunucudan herhangi bir kaynağa erişmek için istek yaptığında kimlik doğrulama gerektiren durumda, ağ üzerinden parola iletimine gerek duyulmadan kullanıcının kimlik doğrulamasının yapılmasına olanak sağlayan NTLM ve Kerberos bir ağ kimlik doğrulama protokolüdür.

NTLM (New Technology LAN Manager), sınama-yanıt (challenge-response) yapısını kullanarak şifrelenmemiş kullanıcı adı parola bilgisi yerine Windows kimlik bilgileri ile doğrulamayı gerçekleştirir. Etki alanı adı, kullanıcı adı ve kullanıcının parolasının tek yönlü bir özeti NTLM kimlik bilgilerini oluşturur. Etkileşimli NTLM kimlik doğrulaması, kullanıcının kimlik doğrulama talep ettiği bir istemci sistemi ve kullanıcının parolasıyla ilgili bilgilerin saklandığı bir etki alanı denetleyicisi sisteminden oluşur. Etkileşimsiz kimlik doğrulamada ise istemci, sunucu ve sunucu adına kimlik doğrulama hesaplamalarını yapan bir etki alanı denetleyicisi sistemi mevcuttur.

1.Kullanıcı, istemci bilgisayara erişir ve bir etki alanı adı, kullanıcı adı ve parolayı istemciye hazırlar.

2.İstemci bilgisayar parolanın kriptografik özetini (hash) hesaplar.

3.İstemci kullanıcı adını düz metin olarak sunucuya gönderir.

4.Sunucu, sınama (challenge, nonce) olarak 16 byte rastgele sayı üretir ve istemciye gönderir.

5.İstemci, sunucudan gelen sorguyu, kullanıcının şifresinin özetiyle şifreler ve sonucu sunucuya yanıt (response) olarak gönderir.

6.Sunucu, kullanıcı adını, kullanıcıya gönderilen sınamayı ve kullanıcıdan alınan yanıtı etki alanı denetleyicisine (domain controller) gönderir.

7.Etki alanı denetleyicisi, kullanıcının parolasının özetini, Güvenlik Hesabı Yöneticisi veritabanından almak için kullanıcı adını kullanır. Sınamayı şifrelemek için bu parola özetini kullanır.

8.Etki alanı denetleyicisi, hesapladığı (7. adımda) şifrelenmiş sınamayı istemci tarafından hesaplanan yanıtla (5. adımda) karşılaştırır. Aynı iseler, kimlik doğrulama başarılıdır.

Kerberos, bilet (ticket) mantığını kullanarak simetrik anahtar şifreleme üzerine inşa edilmiştir ve güvenilir bir üçüncü tarafa bağlıdır. Kimliği doğrulanmış kullanıcılara bilet vererek, ağdaki hizmetlere erişmelerini sağlayarak çalışır. Kullanıcılara bilet, KDC(Key Distribution Center) tarafından dağıtılır. Windows 2000, XP ve sonrası sürümlerde temel kimlik doğrulama metodu olarak Kerberos  kullanılmaktadır. Kerberos 5, protokolün kullanımda olan son versiyonudur.

 

 

 

 

 

 

 

 

 

 

 

 

Kerberos açık kaynak kodlu bir yazılımdır ve bir taraftan ücretsiz hizmetler sunarken NTLM; tescilli, Microsoft kimlik doğrulama çözümüdür. Microsoft Kerberos güvenlik paketi , bir ağdaki sistemlere, merkezi olarak kontrol edilen aktif ve güncel şifre bilgileri nedeni ile NTLM'den daha güvenli bir iletişim sağlar. Microsoft Kerberos tercih edilen protokol olmasına rağmen , NTLM hala desteklenmektedir. Kerberos, Microsoft Windows 2000, Windows XP ve sonraki Windows sürümlerinde desteklenirken NTLM, Windows 95, Windows 98, Windows ME, NT 4.0 gibi önceki Windows sürümlerinde de desteklenmektedir. NTLM ve Kerberos aynı anda kullanılabilmektedir. Active directory ile iletişimde öncelikle Kerberos ile iletişim kurulmaya çalışılır, eğer karşı taraf desteklemiyorsa NTLM denenir. Group policy’ler ve NTLMV1 doğrulaması, güvenliği arttırmak için sistemlerde kapatılabilir. NTLMV2 bile Kerberos doğrulama sürecine göre birçok konuda geridedir.

Kerberos kimlik doğrulama protokolünde, sadece istemci bir servisi değil, servis de aynı şekilde bir istemciyi doğrulayabilir olduğundan karşılıklı kimlik doğrulama özelliğini sağlarken NTLM, bu özelliğe sahip değildir. Kerberos, Microsoft sistemlerine özgü olmayıp RFC 4120 standardını kullanan işletim sistemleri tarafından da kullanılabilir. Kerberos protokolü ile bir sunucu, bir kullanıcının kimlik bilgilerini kullanarak başka bir sunucudaki uygulamayı çalıştırabilme yetkisine sahiptir. Kerberos, akıllı kart oturum açma (smart card logon) gibi iki faktörlü kimlik doğrulamayı desteklerken NTLM, akıllı kart özelliğini desteklememektedir.