Windows Server 2003, Windows XP ve Windows 2000′de Kerberos nasıl UDP yerine TCP kullanmaya zorlanır
Windows Kerberos kimlik doğrulama paketi, Microsoft Windows Server 2003, Microsoft Windows XP ve Microsoft Windows 2000′de varsayılan kimlik doğrulama paketidir. NTLM sınama/yanıt protokolüyle birlikte bulunur ve hem istemcinin hem de sunucunun Kerberos’ta anlaşabildiği durumlarda kullanılır. Açıklama İsteği (RFC) 1510, bir istemci Anahtar Dağıtım Merkezi (KDC) ile iletişim kurduğunda, KDC’nin IP adresindeki 88 numaralı bağlantı noktasına bir Kullanıcı Datagram Protokolü (UDP) datagramı göndermesi gerektiğini belirtir. KDC, gönderenin IP adresindeki gönderme bağlantı noktasına bir yanıt datagramıyla karşılık vermelidir. RFC ayrıca, UDP’nin denenen ilk protokol olması gerektiğini belirtir.
UDP paket boyutundaki bir sınırlama etki alanında oturum açarken aşağıdaki hata iletisine neden olabilir:
Olay Günlüğü Hata 5719
Kaynak: NETLOGON
Etki Alanı etki alanı için uygun Windows NT veya Windows 2000 Etki Alanı Denetleyicisi yok. Aşağıdaki hata oluştu:
Oturum açma isteklerine hizmet verebilecek hiçbir oturum açma sunucusu yok.
Ek olarak, Netdiag aracı aşağıdaki hata iletilerini görüntüleyebilir:
Hata iletisi 1
Önemli Kerberos için UDP kullanırsanız, aşağıdaki iletiyi aldığınızda istemci bilgisayarınız yanıt vermeyi durdurabilir (kilitlenebilir):
Varsayılan olarak, Windows Server 2003′ün UDP için kullandığı en büyük datagram paketi boyutu 1.465 bayttır. Windows XP ve Windows 2000 için, en büyük boyut 2.000 bayttır. En büyük boyuttan daha büyük olan tüm datagram paketleri için İletim Denetim Protokolü (TCP) kullanılır. UDP kullanılan en büyük datagram paketi boyutu, bir kayıt defteri anahtarı ve değeri değiştirilerek değiştirilebilir.
Varsayılan olarak, Kerberos bağlantısız UDP datagram paketleri kullanır. Güvenlik tanımlayıcısı (SID) geçmişi ve grup üyeliği gibi çeşitli etmenlere bağlı olarak, bazı hesapların Kerberos kimlik doğrulaması paket boyutları daha büyük olur. Sanal özel ağ (VPN) donanım yapılandırmasına bağlı olarak, bir VPN üzerinden geçerken bu büyük paketlerin parçalara bölünmesi gerekir. Soruna bu büyük UDP Kerberos paketlerinin parçalara bölünmesi neden olmaktadır. UDP bağlantı kullanmayan bir protokol olduğundan, parçalanmış UDP paketleri hedefe sıra dışı olarak ulaşırlarsa atılırlar.
MaxPacketSize değerini 1 olarak değiştirirseniz, istemcileri Kerberos trafiğini VPN tüneli üzerinden gönderirken TCP kullanmaya zorlarsınız. TCP bağlantı yönelimli olduğundan, VPN tüneli üzerinden kullanmak için daha güvenilir bir iletim yöntemidir. Paketler atılsa bile sunucu eksik paketleri yeniden ister.
İstemcileri TCP üzerinden Kerberos trafiği kullanmaya zorlamak için MaxPacketSize değerini 1 olarak değiştirebilirsiniz. Bunu yapmak için şu adımları izleyin:
- Kayıt Defteri Düzenleyicisi’ni başlatın.
- Aşağıdaki kayıt defteri alt anahtarını bulup tıklatın:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\ Kerberos\Parameters
NotParameters anahtarı yoksa şimdi oluşturun.
- Düzen menüsünde Yeni‘nin üzerine gelin ve DWORD Değeri‘ni tıklatın.
- MaxPacketSize yazın ve ENTER tuşuna basın.
- MaxPacketSize‘ı çift tıklatın, Değer verisi kutusuna 1 yazın, Ondalık‘ı tıklatın ve sonra Tamam’ı tıklatın.
- Kayıt Defteri Düzenleyicisi’nden çıkın.
- Bilgisayarınızı yeniden başlatın.
CLASS MACHINE CATEGORY !!KRB_PARAMS KEYNAME "SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters" POLICY !!SET_MAXPACKETSIZE EXPLAIN !!MAXPACKETSIZE_HELP PART !!MAXPACKETSIZE NUMERIC REQUIRED VALUENAME "MaxPacketSize" MIN 1 MAX 2000 DEFAULT 2000 END PART PART !!MAXPACKETSIZE_TIP TEXT END PART END POLICY POLICY !!LOGLEVEL EXPLAIN !!LOGLEVEL_HELP VALUENAME "LogLevel" END POLICY END CATEGORY [strings] KRB_PARAMS="Kerberos Parametreleri" SET_MAXPACKETSIZE="MaxPacketSize Ayarı" MAXPACKETSIZE_HELP="Windows 2000 Kerberos Kimlik Doğrulaması paketi Windows 2000'de varsayılandır. Sınama/yanıt (NTLM) ile birlikte bulunur ve hem istemcinin hem de sunucunun Kerberos'ta anlaşabildiği durumlarda kullanılır. Açıklama İsteği (RFC) 1510, bir istemci Anahtar Dağıtım Merkezi (KDC) ile iletişim kurduğunda, KDC'nin IP adresindeki 88 numaralı bağlantı noktasına bir Kullanıcı Datagram Protokolü (UDP) datagramı göndermesi gerektiğini belirtir. KDC, gönderenin IP adresindeki gönderme bağlantı noktasına bir yanıt datagramıyla karşılık vermelidir.\n\nWindows 2000, veriler 2.000 bayttan az paketlere sığdığında varsayılan olarak UDP kullanır. Bu değerin üzerindeki veriler paketleri taşımak için TCP kullanır. 2.000 bayt değer bu ilke aracılığıyla yapılandırılabilir." MAXPACKETSIZE="Bayt: " MAXPACKETSIZE_TIP="Aralık 1 - 2000 arasındadır. Kerberos'u TCP kullanmaya zorlamak için 1 kullanın." LOGLEVEL="Kerberos Olay Günlüğü" LOGLEVEL_HELP="Windows 2000, olay günlüğü mekanizması ile Kerberos olaylarını ayrıntılı olarak izleme becerisi sağlar. Kerberos sorunlarını giderirken bu bilgileri kullanabilirsiniz. Tüm Kerberos hataları Sistem günlüğüne kaydedilir."