NTLMv2 ile Kimlik Doğrulama

Microsoft ortamında kimlik doğrulaması için kullanılan yöntemlerden birisi NTLMv2 ile kimlik doğrulamadır. Bu yazıda Microsoft ortamında NTLMv2 ile kimlik doğrulama konusu incelenecektir.

NTLMv2 protokolü NTLMv1 üzerinde sıkılaştırma uygulayarak daha güvenli şekilde kimlik doğrulama işleminin gerçekleştirilmesi için geliştirilmiştir. Temel olarak sunucunun gönderdiği 8 byte’lık challenge değerine karşın 2 tane 16 byte’lık cevap (response) döndürür. Cevaplardan biri HMAC-MD5 ile özetlenmiş Server Challenge (SC), rastgele olarak üretilen Client Challenge (CC), ve kullanıcı parola bilgisinin yine HMAC-MD5 ile özetlenmiş halini içerir. Kısa olan cevap (response) üretilen 16 byte’lık değere 8 byte’lık SC (Server challenge) değerini de ekleyerek 24 byte’lık bir cevap elde eder ve bunu sunucuya gönderir. Bu cevap değerine LMv2 de denilir.

Diğer cevap ise sabit uzunlukta olmayan bir CC (Client Challenge) kullanılır. Zaman damgası (imestamp), 8 byte’lık rastgele değer, etki alanı adı ve bazı standart bigliler kullanır. Bu cevap mutlaka bu sabit uzunlukta olmayan CC değerinin bir kopyasını barındırmalıdır. Ve bundan dolayı bu response uzunluğu değişkendir. Bu cevap değerine NTv2 adı verilir.

Not: Temelde SAM içerisinde olan NT özeti, kullanıcı adı ve etki alanı adı işlemden geçirerek gönderir.

NTLMv2 NTLM protokolünden çok daha güvenlidir, bunun başlıca sebepleri;

  • NTLM protokolü istemciye ait sayı (Client Challenge) kullanmazken NLTMv2 protokolünün istemciye ait sayı kullanması
  • Tekrarlama saldırılarından korunmayı güçlendirmek için zaman bilgisinin (time stamp) işlenmesi ve gönderilmesi.
  • HMAC-MD5 algoritması ile özetleme işlemlerinin yapılması.
  • NTLM protokolünde LM özeti ve NT özeti kullanılırken, NTLMv2 protokolünde yalnızca NT özeti kullanılmasıdır.

LM ve NTLM protokolleri güvenli olamadıklarından dolayı Windows Vista ve Windows Server 2008’den itibaren işletim sisteminde varsayılan olarak kullanılmayacak şekilde ayarlanırlar. Buna rağmen içeri doğru yapılan (inbound) yetkilendirmelerde NTLM hala kullanılır fakat dışa doğru olan (outbound) yetkilendirmede NTLM özetinden daha güvenilir olan NTLMv2 varsayılan olarak kullanılır. NLTMv2 ile ilgili yapılandırma ayarları grup ilkelerinden (Group policy) Local Policies\Security Options altında “Network security: LAN Manager authentication level” kısmında güncellenebilir. Ayrıca kayıt defterinden (registry) “LMCompatibilityLevel” anahtarından da bu ayar kontrol edilebilir. Windows Vista ve Windows Server 2008’de “LMCompatibilityLevel” değeri varsayılan olarak 3’tür. (NTLMv2 Response Only).

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.