Windows kimlik doğrulama mekanizmaları arasında yer alan NTLM (NT LAN Manager), uzun yıllardır Microsoft ağlarında temel kimlik doğrulama protokolü olarak kullanılmıştır. Ancak teknolojinin gelişmesiyle birlikte NTLMv1 artık güvenli kabul edilmemekte, yerini çok daha güçlü bir versiyon olan NTLMv2 almaktadır. Bu yazıda NTLMv1 ve NTLMv2’nin nasıl çalıştığını, teknik farklarını, güvenlik açıklarını ve kurumların neden NTLMv2’ye geçmesi gerektiğini adım adım inceleyeceğim.
NTLM Nedir?
NTLM, Microsoft tarafından geliştirilen ve istemci ile sunucu arasında challenge–response (meydan okuma–yanıt) mekanizmasıyla kimlik doğrulama yapan bir protokoldür.
Bir kullanıcı Windows sistemine giriş yaptığında, NTLM kullanıcının kimliğini doğrulamak için parolasını şifrelenmiş biçimde kullanır. Bu süreç, ağ ortamında parola gönderilmeden kimlik doğrulama yapılmasını sağlar.
NTLMv1 Nasıl Çalışır?
NTLMv1, 1990’larda tasarlanmış ve o dönemin şifreleme standartlarına uygun olsa da günümüz koşullarında yetersiz kalmaktadır. Sürecin işleyişi şu şekildedir.
- Sunucu, istemciye 8 baytlık bir challenge (meydan okuma) gönderir.
- İstemci, kullanıcının parolasını MD4 algoritmasıyla bir hash’e dönüştürür.
- Bu hash, DES (Data Encryption Standard) algoritmasıyla challenge verisini şifreler.
- Şifrelenmiş sonuç sunucuya gönderilir.
- Sunucu kendi hesapladığı değerle karşılaştırarak kimliği doğrular.
NTLMv1’de DES kullanıldığı için, günümüz bilgisayarlarıyla bu şifreleme saniyeler içinde kırılabilmektedir. Ayrıca aynı hash değerleri farklı oturumlarda tekrar kullanılabildiği için pass-the-hash saldırılarına da açıktır.
NTLMv2 Nasıl Çalışır?
Microsoft, NTLMv1’in zayıf yönlerini ortadan kaldırmak için NTLMv2 sürümünü geliştirmiştir.
Bu sürüm, HMAC-MD5 tabanlı daha güçlü bir şifreleme yapısı sunar ve zaman damgası içeren doğrulama sayesinde tekrarlanan oturum saldırılarını engeller.
- Sunucu, istemciye challenge gönderir.
- İstemci, kullanıcı adı, alan adı, hedef adı ve zaman damgasını içeren ek verilerle HMAC-MD5 karması oluşturur.
- Bu karma, parola hash’i ile birleştirilir.
- Sunucu aynı işlemi kendi tarafında yapar ve sonuçlar uyuşursa kimlik doğrulama başarılı olur.
NTLMv2, karşılıklı kimlik doğrulama (mutual authentication) ve replay attack koruması ile çok daha güvenli bir yapıya sahiptir.
NTLMv1 ve NTLMv2 Teknik Farkları
| Özellik | NTLMv1 | NTLMv2 |
| Şifreleme Algoritması | DES | HMAC-MD5 |
| Challenge Boyutu | 8 bayt | 8 bayt + ek parametreler |
| Yanıt Yapısı | Basit DES şifreleme | Karmaşık HMAC tabanlı yanıt |
| Zaman Damgası | Yok | Var |
| Karşılıklı Doğrulama | Yok | Var |
| Replay Attack Koruması | Yok | Var |
| Güvenlik Düzeyi | Düşük | Yüksek |
| Microsoft Desteği | NT/2000 | 2000 ve sonrası |
| Kullanım Önerisi | Devre dışı bırakılmalı | Aktif olarak kullanılmalı |
NTLMv1 Neden Güvenli Değil?
- DES şifrelemesi günümüz cihazlarında kolayca kırılabiliyor.
- Zaman damgası içermediği için replay saldırılarına açık.
- Pass-the-hash yöntemiyle kullanıcı parolası ele geçirilebilir.
- Sunucu kimliği doğrulaması yoktur, bu da phishing tabanlı saldırılara zemin hazırlar.
Microsoft, NTLMv1’in kullanılmasını resmi olarak yasaklamış ve tüm sistemlerin NTLMv2 veya Kerberos’a geçmesini tavsiye etmektedir.
NTLMv2’nin Güvenlik Avantajları
- HMAC-MD5 tabanlı güçlü şifreleme algoritması
- Zaman damgası ve nonce ile replay saldırılarına karşı koruma
- Mutual authentication desteğiyle çift yönlü doğrulama
- Modern Windows sürümleriyle tam uyum
- Gelişmiş event logging desteğiyle izlenebilirlik
NTLMv2, özellikle Kerberos’un kullanılamadığı ortamlarda (örneğin, standalone sistemlerde veya domain’e bağlı olmayan cihazlarda) en güvenli alternatiftir.
NTLMv1 Nasıl Devre Dışı Bırakılır?
Group Policy üzerinden NTLMv1’i devre dışı bırakmak için şu adımları uygulayabilirsiniz.
- gpedit.msc komutunu çalıştırın.
- Şu yolu izleyin:
- Computer Configuration> Windows Settings> Security Settings > Local Policies > Security Options
- Network security: LAN Manager authentication level seçeneğini bulun.
- Değeri şu şekilde ayarlayın:
- Send NTLMv2 response only. Refuse LM & NTLM.
- Bilgisayarı yeniden başlatın.
NTLMv1 ve NTLMv2 arasındaki fark, yalnızca bir sürüm farkı değil, tam anlamıyla bir güvenlik evrimidir. Kurumsal ağlarda ve Windows tabanlı ortamlarda NTLMv1’in devre dışı bırakılması, güvenlik olaylarının önlenmesi açısından kritik öneme sahiptir. Modern güvenlik standartlarına uygun, güçlü kimlik doğrulama mekanizması için NTLMv2 veya Kerberos tercih edilmelidir.

