İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.



Folder Security Management
Fırat Boyan 22.12.2017 2

Relative Identifier (RID) ve Security Identifier (SID) Kavramları

Active Directory Domain yapısı içerisindeki objelerin her birinin benzersiz birer kimlik numarası vardır. Bu benzersiz kimlik numaraları, bir Active Directory nesnesi oluşturulduğunda otomatik olarak atanır ve bu değişken, benzersiz numaralara Relative Identifier (RID) adı verilmektedir. Relative Identifier (RID) numaraları atanırken, Active Directory nesnesinin oluşutuğu Domain altında ilgili Domain'in kimlik numarasıyla beraber atanır ki buna da Security Identifier (SID) denir.

Her Domain'in kendine ait sabit değerde bir Security Identifier (SID) numarası vardır ve atanan her Relative Identifier (RID) numarası, bu Security Identifier (SID) numarası altında atanır. İşte bu noktada, Active Directory ortamında oluşturulan nesnelere RID numarası ataması işlemini bu rol gerçekleştirir.

RID Master FSMO rolü, varsayılan olarak Domain yapısının ilk kurulduğu Primary Domain Controller üzerindedir. RID Master FSMO rolünü tutan Domain Controller, kendi üzerindeki RID havuzunda 1,073,741,823 (1 milyar 73 milyon 741 bin 823) adet RID numarası barındırır ki bu rakam, 2,147,483,647 (2 milyar 147 milyon 483 bin 647) üst sırınına kadar artırılabilmektedir.

Domain ya da Forest ortamındaki RID Master FSMO rolünü tutmayan diğer Domain Controller'lar üzerlerinde 500 adet RID numarası bulunurlar (Windows Server 2016 ile birlikte bu sayı 500'e çıkartılmıştı) ve bu RID Master FSMO rolünü tutmayan Domain Controller'lar, bu sayının %50'si tükendiğinde RID master FSMO rolünü üzerinde tutan Domain Controller ile iletişime geçerek, tekrar bir 500'lük RID talebinde bulunurlar. Tüm bu işlemleri yerine getiren RID Master FSMO rolüdür. Bu rol, Domain bazlı olup, Forest ortamındaki tüm Domain'lerde bulunur.

RID Matser'ı barındıran Domain Controller'ın işlevsiz kalması ve yapınızdaki herhangi bir diğer Domain Controller'ın da barındırdığı bu sınırlı RID numarasının tükenmesi durumunda, RID numarasının tükendiği Domain Controller üzerinde yeni Active Directory nesneleri oluşturulamayacaktır ve the directory service has exhausted the pool of relative identifiers hatası oluşacaktır.

Relative Identifier (RID) ve Security Identifier (SID) Numaraları Nasıl Bulunur?

Active Directory içindeki nesnelerinin SID numaralarını görebilmek için CMD üzerinde aşağıdaki komutu yazmanız yeterlidir. Active Directory üzerindeki tüm nesnelerinin SID numaralarını listeleyecektir.

dsquery * -attr objectsid -filter objectcategory=user

Bu komut, Active Directory (AD) içinde tüm kullanıcı hesaplarının Security Identifier (SID) değerlerini sorgulamak için kullanılır. dsquery * ile AD içindeki tüm nesneleri tarar, ancak -filter objectcategory=user parametresi sayesinde yalnızca kullanıcı nesnelerini listeleyecek şekilde filtre uygular. -attr objectsid parametresi de, bu kullanıcı nesnelerinin SID değerlerini çekerek çıktı olarak sunar.

Prefix Domain SID (Security Identifier) RID (Relative Identifier)
S-1-5-21 3310300546-3177019570-1523761220 1103
S-1-5-21 3310300546-3177019570-1523761220 1104
S-1-5-21 3310300546-3177019570-1523761220 1105
S-1-5-21 3310300546-3177019570-1523761220 1106
S-1-5-21 3310300546-3177019570-1523761220 1107
S-1-5-21 3310300546-3177019570-1523761220 1108
S-1-5-21 3310300546-3177019570-1523761220 1109
S-1-5-21 3310300546-3177019570-1523761220 1110
S-1-5-21 3310300546-3177019570-1523761220 1111
S-1-5-21 3310300546-3177019570-1523761220 1112
S-1-5-21 3310300546-3177019570-1523761220 1113
S-1-5-21 3310300546-3177019570-1523761220 1114
S-1-5-21 3310300546-3177019570-1523761220 1115
S-1-5-21 3310300546-3177019570-1523761220 1116
S-1-5-21 3310300546-3177019570-1523761220 1117
S-1-5-21 3310300546-3177019570-1523761220 1118
S-1-5-21 3310300546-3177019570-1523761220 1119
S-1-5-21 3310300546-3177019570-1523761220 1120

SID-Security Identifier RID-Relative Identifier

Yukarıdaki Security Identifier (SID) numaralarından bir tanesini örnek baz alacak olursak;

Prefix Domain SID (Security Identifier) RID (Relative Identifier)
S-1-5-21 3310300546-3177019570-1523761220 1105

1- S-1-5-21: standart bir ön ektir.

» 1: versiyon numarasıdır ve Windows NT 3.1 versiyondan bu yana hiç değişmeyen bir bildiri.
» 5: SID'nin NT tarafından atandığını gösteren tanımlamadır.
» 21: yine aynı şekilde NT tarafından atanan bir ön ektir.

2- 3310300546-3177019570-1523761220: Domain'e özgü 32 Bit'lik bir kimlik numarasıdır ve Domain'i temsil eder. Domain ortamı kurulduğunda otomatik olarak oluşur ve her ve Domain'deki tüm nesneler için aynı numara geçerlidir.

3- 1105: Domain içindeki her nesnenin değişken kimlik numarasıdır. İşte RID-Relative Identifier de budur. Buradaki 1105 RID numarası ise örnektir ve RID-Relative Identifier numaraları hiçbir zaman aynı olmaz ve kullanılan bir RID numarası, bir daha asla kullanılmaz. 

Aşağıdaki komut, hem yerel hem de Active Directory kullanıcı hesaplarının Security Identifier (SID) değerlerini almak için kullanılır. Komut çalıştırıldığında, sistemde tanımlı olan tüm kullanıcı hesaplarının adlarını (Name) ve bunlara karşılık gelen SID değerlerini listeleyerek, hem yerel sistemdeki hem de domain ortamındaki kullanıcıların SID bilgilerini sorgulamak için kullanılabilir.

Teknik olarak, yukarıdaki komutla benzer bir işlevi yerine getirse de, temel farkları şunlardır:

dsquery komutu, yalnızca Active Directory içindeki kullanıcı hesaplarını listeler. Bu yüzden Domain ortamında çalışır ve Domain Controller üzerinden AD veri tabanını sorgular.

wmic useraccount komutu ise, yerel hesapları ve Active Directory’den gelen Domain kullanıcılarını listeler. AD ortamındaki kullanıcıları da SID ile birlikte gösterebilir.

wmic useraccount get name,sid

SID-Security Identifier RID-Relative Identifier

Aşağıdaki yordamde ise direlt olarak SID bilgisini sorguya iliştirerek ilgili kullanıcının kullanıcı adını öğrenebilirsiniz.

wmic useraccount where sid="S-1-5-21-3310300546-3177019570-1523761220-1105" get name

SID-Security Identifier RID-Relative Identifier

Görüldüğü üzere ilgili SID numarasının User3 kullanıcısına ait olduğunu görebiliyoruz. Active Directory üzerinden, kullanıcısının özelliklerinden Attribute Editor sekmesi üzerinde objectSid bilgisini görüntülediğimde de aynı sonucu görebilmekteyim.

SID-Security Identifier RID-Relative Identifier

RID, Relative Identifier değerinin, Security Identifier içinde nasıl konumlandığını ve ne işe yaradığını anlamak, özellikle Active Directory içindeki nesnelerin yönetimi açısından büyük bir öneme sahip. Domain içindeki her nesneye atanan benzersiz Security Identifier, RID değerinin yardımıyla oluşturulduğu için, bu sürecin doğru anlaşılması sistem güvenliği ve yönetimi açısından oldukça kritik. RID Pool mekanizmasının nasıl çalıştığı ve bu değerlerin nasıl tahsis edildiği bilinmeden, özellikle çok sayıda Domain Controller içeren ortamlarda beklenmeyen sorunlarla karşılaşmak kaçınılmaz olur.

Security Identifier değerinin yapı taşlarından biri olan RID, bir nesnenin eşsizliğini sağlarken, sistemin iç dinamikleri açısından da belirleyici bir faktör. Active Directory içindeki nesnelerin zaman içinde nasıl değiştiğini ve SID değişikliklerinin ne gibi etkiler doğurabileceğini anlamak, özellikle Domain Migration veya geri dönüş senaryolarında kritik farklar yaratabilir. RID Master rolünün dağıtımı ve replikasyon sürecindeki etkisi ise, özellikle büyük ölçekli yapılar için göz ardı edilmemesi gereken konular arasında yer alıyor.

Bu konulara hakim olmak, yalnızca RID değerlerini sorgulamakla sınırlı kalmayıp, olası hataları öngörmek ve müdahale süreçlerini hızlandırmak açısından büyük avantaj sağlar. Özellikle RID Pool tükenmesi gibi durumların önüne geçebilmek için, sistemin çalışma mantığını kavramak ve gerekli önlemleri almak, ilerleyen süreçlerde ciddi problemlerin önüne geçebilir.

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



Yazar Hakkında

firatboyan.com


1985 yılında Alanya'da doğdum. İlk, orta ve lise öğrenimimi Alanya'da tamamladım. Liseden mezun olduktan sonra Akdeniz Üniversitesi Bilgisayar Teknolojisi Ön Lisans programına yerleştim ve bu programdan mezun oldum. Ön Lisans programından mezun olduktan bir süre sonra Dikey Geçiş Sınavı (DGS) ile İstanbul Teknik Üniversitesi (İTÜ) Bilgisayar Mühendisliği Lisans programına yerleştim.

2003 yılından beri Bilgi Teknolojileri sektöründe Sistem ve Network alanlarında çalışıyorum. Bir çok firma bünyesinde onlarca farklı projelerde yer alarak bu alanda yıllar içinde ciddi bir bilgi birikimi ve deneyimler kazandım. Bilgi Teknolojileri sektöründeki profesyonel çalışma hayatımın uzunca bir dönemini entegratör firma bazında, ağılıklı olarak Microsoft ürünleri üzerine danışman olarak sürdürüyor ve yüksek seviyeli projeler geliştiriyorum. Uzunca bir süredir de Türkiye'nin önde gelen entegratör firmalarından olan Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum.

Ek olarak, 2015 yılında Network Akademi bünyesinde Microsoft Certified Trainer (MCT) ünvanı ile Sistem ve Network Uzmanlık eğitimleri vermeye başladım. Sistem ve Network Uzmanlığı alanındaki eğitmenlik serüvenime Network Akademi bünyesinde devam etmekteyim.

YORUMLAR
Bu makaleye 2 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.


750 karakter yazabilirsiniz.
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.


25.03.2020 Orhan
Merhaba Fırat bey, Makaleyi okudum ve tam bu alanda bir sorun yaşamaktayım. Çözüm Park üyesiyim fakat bir sonuç alamadım burada. gönderdiğim linke bakarsanız sevinirim. Bununla alakalı bir danışmanlık alabilirim miyiz sizden? https://www.cozumpark.com/community/paylasim-37/uzak-masa-ustu-baglanti-problemi-remote-desktop/
26.11.2018 Cihan Agiri
Hocam emeğinize sağlık açıklayıcı ve öğretici bir yazı olmuş