Active Directory Token Size

Active Directory (AD) üzerinde bir kullanıcının veya grubun erişim hakları ve izinleri, bir güvenlik belirteci (security token) aracılığıyla belirlenir. Bu belirteç, kullanıcının hangi kaynaklara erişimi olduğunu gösterir. Active Directory güvenlik belirteç boyutunun büyüklüğü, özellikle kullanıcı veya grup sayısı arttığında önemli hale gelir, çünkü boyut sınırlamalarının aşılması erişim sorunlarına yol açabilir.

1. Active Directory Token Nedir?

Bir Active Directory token, kullanıcının oturum açma sırasında almış olduğu kimlik doğrulama bilgilerini ve erişim izinlerini içeren bir yapıdır. Bu token, oturum açan kullanıcının:

Grup üyelikleri

Güvenlik kimlikleri (SID’ler)

Kullanıcı yetkileri gibi bilgileri içerir.

2. Token Size’ın Önemi

Active Directory token boyutu, kullanıcının üye olduğu tüm grupları ve güvenlik kimliklerini (SID) içermesi nedeniyle büyüyebilir. Özellikle kullanıcı çok sayıda gruba üyeyse veya nested (iç içe) gruplar varsa, bu boyut oldukça artabilir. Token boyutu, Windows sistemlerinde sınırlıdır ve aşıldığında kullanıcının sisteme oturum açamaması veya belirli kaynaklara erişememesi gibi sorunlar ortaya çıkabilir.

3. Token Size’ın Hesaplanması

Bir AD token boyutunun hesaplanmasında, aşağıdaki bileşenler dikkate alınır:

Primary Group SID: Kullanıcının birincil grup kimliği.

Diğer Grup SID’leri: Kullanıcının üye olduğu tüm grupların SID’leri.

Ek Güvenlik Kimlikleri (SIDs): Kullanıcının veya grupların sahip olduğu SID’ler.

Token boyutunun artmasına yol açan faktörler:

Kullanıcının üye olduğu grup sayısının artması

Kullanıcıya atanan ek SID’lerin olması

Nested grup yapısının karmaşıklığı

4. Token Size Limitleri ve Windows’taki Kısıtlamalar

Windows işletim sistemlerinde, AD token boyutu sınırlıdır. Windows’un varsayılan olarak kabul ettiği token boyutu sınırı 12 KB’tır (12288 bayt). Ancak, Active Directory ortamındaki karmaşık grup yapıları nedeniyle bu boyut bazı kullanıcılar için aşılabilir ve bu durumda:

Oturum açma başarısızlığı yaşanabilir.

Kaynaklara erişim sorunu olabilir.

Token sınırını aşan kullanıcılar, “Kerberos ticket too large” veya “Access Denied” gibi hatalar alabilirler.

5. Token Bloat Problemi ve Çözüm Yöntemleri

Token boyutunun aşılması durumuna Token Bloat adı verilir. Bu sorunla başa çıkmak için yapılabilecek bazı işlemler şunlardır:

Grup Yapısını Düzenleyin: Kullanıcıyı gereksiz gruplardan çıkartmak ve nested grup yapısını sadeleştirmek.

Grup Sayısını Sınırlayın: Kullanıcı başına düşen grup sayısını azaltmak, token boyutunu küçültecektir.

Yerel Güvenlik Politikalarını Ayarlayın: Windows’un maksimum token boyut sınırını genişletmek için bazı sistem registry ayarları yapılabilir. Örneğin, MaxTokenSize değeri artırılarak bu sınır 12 KB’dan 64 KB’a çıkarılabilir.

6. MaxTokenSize Registry Ayarı

Windows’ta MaxTokenSize değeri varsayılan olarak 12 KB olarak ayarlanmıştır. Bu değeri artırmak için:

  1. Registry Düzenleyicisini Açın.
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters yolunu bulun.
  3. MaxTokenSize adlı bir DWORD değeri oluşturun ve istediğiniz bayt cinsinden değeri girin. (Örneğin, 65535 bayt yani yaklaşık 64 KB).

Ancak, bu ayarın tüm Active Directory kullanıcıları için yapılması, yalnızca geçici bir çözüm sağlar ve grup yapısındaki karmaşıklığı çözmez.

Token Size Hesaplamak için aşağıdaki powersehll script’i kullanılabilir.