Kerberos Paketlerinin TCP Protokolü Kullanmasına Zorlama
Kerberos kimlik doğrulama paketi, Microsoft Windows Server 2003, Microsoft Windows XP ve Microsoft Windows 2000’de varsayılan kimlik doğrulama paketidir. Kerberos RFC 1510 standartına göre öncelikli olarak iletişim için UDP paketleri kullanmaktadır. Bu durumda login olmak isteyen bir makineden KDC nin bulunduğu makinenin 88 nolu portuna UDP paketleri gönderilmektedir. Ancak UDP paket boyutundaki bir sınırlama login süreçlerini etkilemektedir.
Varsayılan olarak Windows Server 2003 ün UDP için kullandığı en büyük datagram paketi boyutu 1465 byte tır. Windows XP ve 2000 de ise bu değer 2000 bye tır.
Ancak grup üyelikleri ve SID History gibi bazı nedenlerden kerberos paket boyutları büyüyebilir ve bu durumda vpn bağlantıları veya uzak ofis bağlantılarında bu büyük UDP paketlerinin parçalanması gerekebilir. UDP paketlerinin bütünlüğü bozulduğu için kerberos ile kimlik doğrulama gerçekleşmez.
Böyle bir durumda yapmanız gereken Kerberos trafiğini TCP üzerinden gerçekleştirmeye zorlamaktır. Bunun için istemci tarafında bir kayıt defteri değişikliği yapmak yeterli olacaktır.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\ Kerberos\Parameters
Bu bölümde parameters yok ise Key olarak siz ekleyebilirsiniz
hemen bunu içine yeni bir DWORD değeri oluşturalım ve adına “MaxPacketSize” yazalım. Değer olarak 1 ( decimal ) girelim ve makineyi restart edelim.
Not : Ancak Windows Server 2008, Vİsta ve Windows 7 de ise bu standart olarak TCP dir . Yani aşağıda belirtilecek olan registry değeri Xp,2000 ve 2003 te TCP ye döndürmek için 0 dan 1 e dönüştürürlürken, Vista, Windows 7 ve Windows Server 2008 de sıfır olarak kalmalıdır ki standart olarak bu işletim sistemleri zaten TCP yi kullanırlar
Eğer bunun gibi pek çok makineniz var ise aşağıdaki adm i kullanabilirsiniz
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.”