Security Identifiers - SIDs SIDsیک شناسه امنیتی تشکیل شده از یک مقدار Value با طول یا اندازه متغیر Variable Length که برای شناسایی منحصر بفرد Uniquely Identify یک اصل امنیت Security Principalیا یک گروه امنیت Security Group مورد استفاده قرار میگیرد.
هر اکانت Account یا گروه Group دارای یک SIDs منحصر بفرد است که توسط یک مرجع، مانند یک دومین کنترولر یا یک دیتابیس امنیتی صادر میگردد. زمانی که اکانت یا گروه ساخته Create میشود، سیستم فورا یک SIDs منحصر بفرد ایجاد کرده و به این اکانت یا گروه تخصیص میدهد .
توجه کنید که زمانی که یک SIDs برای شناسایی یک اکانت یا گروه ایجاد و به آن تخصیص داده میشود، دیگر نمیتوان هرگز از این SIDs برای شناسایی یک اکانت یا گروه دیگر استفاده کرد .
هر زمانی که یک یوزر لاگین Login یا لاگان Logs on میکند، سیستم برای آن یوزر نشانه رمز اجازه دسترسی یا رمز دسترسی Access Token ایجاد میکند. این نشانه رمز دسترسی Access Token تشکیل شده است، SIDs مربوط به یوزر، همچنین SIDs تمام گروه هایی که یوزر به آن تعلق دارد و همچنین تمام مجوزهای Privileges مربوط به یوزر .
این رمز Token زمینه امنیتی Security Context همه کارهایی یا هر کاری که یوزر بر روی کامپیوتر انجام میدهد را فراهم میکند .
وابستگیهای شناسه های امنیت (Security Identifiers Dependencies)
اصول امنیت (Security principals)
یک اصل امنیت Security Principal میتواند یک اکانت یوزر، اکانت کامپیوتر یا یک گروه از این اکانتها باشد. هر زمان که یک اصل امنیت ایجاد میشود، بطور اتوماتیک یک شناسه امنیت SID به آن تخصیص Assigned داده میشود. اگر چه همه این اصول امنیت، یک شناسه امنیتی SID منحصر بفرد Unique دارند، اما مهم است که به یاد داشته باشیم که بر اساس نوع اکانت آنها،SIDs های متفاوت تولید و ذخیره میشود :
نشانه رمز اجازه دسترسی یا رمز دسترسی (Access Tokens)
یک SID نشانه رمز دسترسی Access Tokens یوزر را مشخص میکند. SIDs های دیگر، گروه هایی که یوزر به آن تعلق دارد را مشخص میکنند .
توصیف ها یا شاخص های امنیتی و لیست های کنترل دسترسی (Security descriptors and ACLs)
یک SID در توصیف امنیت Security descriptor شی Object است و مالک یا صاحب owner شی Object را شناسائی میکند. یک SIDدیگر مالک owner گروه اصلیPrimary Group را شناسائی میکند. در داخل این توصیف امنیت Security descriptor ، لیست های کنترل دسترسی Access Control Lists - ACLs که حاوی نوشته های کنترل دسترسی Access Control Entries - ACEs است، میباشد. هر ACE شامل یک SID است که شناسائی میکند، یک یوزر یا گروه برای چه چیزی اجازه دسترسی Allowed دارد یا اجازه ندارد Denied و یا بازرسی یا تحقیق Audited شود .
حال با این توضیحات داده شده، این سوال پیش میاید که اصلا یک SID به چه شکل است؟
یک SID به شکل زیر میباشد :
در یک کامپیوتر میتوان SID مربوط به یوزرهایی که با این کامپیوتر لاگین یا لاگان کردند را از مسیر زیر در رجیستری پیدا کرد :
یادمان باشد، در صورتی که یوزر به یک دومین دیگر انتقال داده شود، SID آن تغییر پیدا میکند و SID جدید را از دومین جدید دریافت میکند.دریافت میکند .
اگر مشکل Duplicate SID داشته باشیم، برای پیدا کردن Duplicate SID از راه زیر استفاده میکنیم .
سپس Security Account Management را اجرا میکنیم .
سپس به دومین کنترولر Connect میکنیم Connect to Server DC1.Contoso.com ، در مثال ما، نام دومین کنترولر DC1.Contoso.comمیباشد .
حالا فرمان Check Duplicate SID را اجرا میکنیم.
همانطور که در جواب این فرمان میبینید، یک لاگ فایل به نام dupsid.log ساخته شده و Duplicate SID ها در آن میباشد .
اگر بخواهیم SID های تمام یوزرها را مشاهده کنیم، میتوانیم از مدول اکتیو دایرکتوری مربوط به پاورشل Active Directory Module for Windows PowerShell استفاده کنیم .
از فرمان Get-ADUser استفاده میکنیم .
Get-ADUser -Filter {Name -like "*"} | Select Name, SID | FT -Auto
اگر بخواهیم SID یک یوزر مشخص را ببینیم، از دستور زیر استفاده میکنیم بطور مثال یوزر Parsa
Get-ADUser -Filter {Name -like "Parsa"} | Select Name, SID | FT -Auto