مبانی و معماری اکتیو دایرکتوری
اکتیو دایرکتوری چیست و چرا اهمیت دارد؟
وقتی صحبت از مدیریت شبکههای سازمانی میشود، یکی از اولین اصطلاحاتی که همیشه شنیده میشود اصطلاحات کلیدی اکتیو دایرکتوری است. دلیلش ساده است: اکتیو دایرکتوری همان چیزی است که به مدیر شبکه اجازه میدهد هویت کاربران، گروهها و منابع سازمان را در یک ساختار منسجم کنترل کند. اگر شبکه را به یک شهر بزرگ تشبیه کنیم، اکتیو دایرکتوری نقشه و سیستم مدیریتی آن شهر است؛ جایی که همه چیز از خیابانها و محلهها گرفته تا قوانین و خدمات عمومی تعریف شدهاند. بدون این نقشه، هرجومرجی به وجود میآید که مدیریت کاربران و منابع غیرممکن میشود.
تفاوت Workgroup و Domain؛ دو مسیر متفاوت برای مدیریت
قبل از اینکه به دل اصطلاحات کلیدی اکتیو دایرکتوری برویم، باید تفاوت اصلی آن با Workgroup را بشناسیم. در یک Workgroup همه کامپیوترها مستقل از هم هستند و هر دستگاه برای خودش قوانین و حسابهای کاربری دارد. این روش برای شبکههای کوچک خانگی بد نیست، اما در مقیاس سازمانی عملاً ناکارآمد است. در مقابل، وقتی یک Domain ایجاد میکنیم، همه هویتها و سیاستها در یک مرکز یعنی Domain Controller مدیریت میشوند. به همین دلیل است که اکتیو دایرکتوری قلب تپنده مدیریت در شبکههای سازمانی محسوب میشود و اصطلاحاتی مثل Forest، Tree یا OU فقط در همین ساختار معنا پیدا میکنند.
ساختار منطقی در اکتیو دایرکتوری
یکی از مهمترین اصطلاحات کلیدی اکتیو دایرکتوری همین ساختار منطقی آن است. این ساختار شامل Object، OU، Domain، Tree و Forest میشود. Object همان موجودیتهای پایهای هستند؛ مثل کاربر، گروه، کامپیوتر یا حتی پرینتر. وقتی میخواهیم این Objectها را دستهبندی کنیم، از Organizational Unit یا همان OU استفاده میکنیم. OUها مثل کشوهایی هستند که وسایل را بر اساس نوع یا بخش سازمان مرتب میکنیم.
یک یا چند OU در کنار هم داخل یک Domain قرار میگیرند. حالا اگر چند Domain با هم مرتبط شوند، یک Tree ساخته میشود. مجموعهای از Treeها هم میتواند یک Forest بسازد. اینجا Forest مثل یک مجموعه بزرگ دانشگاهی است که چندین دانشکده (Tree) را در خود جای داده و هر دانشکده شامل چندین دپارتمان (Domain) است. Schema هم بهعنوان مغز مرکزی، مشخص میکند چه نوع Objectی در اکتیو دایرکتوری وجود دارد و هرکدام چه ویژگیهایی دارند.
ساختار فیزیکی؛ جایی که Site نقش اول را بازی میکند
وقتی از اصطلاحات کلیدی اکتیو دایرکتوری حرف میزنیم، نباید ساختار فیزیکی را فراموش کنیم. این ساختار بر پایه Site و Site Link بنا شده است. Site در واقع یک بخش فیزیکی از شبکه است که معمولاً با موقعیت جغرافیایی گره خورده است. مثلاً اگر یک سازمان در تهران، اصفهان و مشهد شعبه داشته باشد، هر کدام میتوانند یک Site جداگانه باشند. اهمیت Site در این است که فرآیند احراز هویت و Replication بهینه شود و کاربران در مشهد مجبور نباشند برای ورود به حساب کاربریشان تا تهران احراز هویت شوند.
Site Linkها هم ارتباط بین این شعبهها را مدیریت میکنند. با این ابزار میتوان مشخص کرد چه زمانی و با چه پهنای باندی اطلاعات بین دو Site جابهجا شود. اینجاست که اکتیو دایرکتوری نه فقط از نظر منطقی بلکه از نظر فیزیکی هم انعطافپذیر و هوشمند عمل میکند.
برای تهیه سرور اختصاصی ایران و سرور مجازی ایران با ما همراه باشید.
هویت، احراز هویت و امنیت در اکتیو دایرکتوری
Security Principal؛ موجودیتهایی که هویت دارند
یکی از مهمترین اصطلاحات کلیدی اکتیو دایرکتوری، مفهوم Security Principal است. در دنیای واقعی، هر فرد برای ورود به یک ساختمان نیاز به کارت شناسایی دارد. در اکتیو دایرکتوری هم همینطور است؛ هر چیزی که بخواهد با منابع تعامل کند باید هویت منحصربهفردی داشته باشد. این هویت میتواند یک کاربر انسانی باشد، یک گروه، یک کامپیوتر یا حتی یک سرویس. همه اینها Security Principal نامیده میشوند و برای اینکه سیستم بتواند آنها را بشناسد، نیاز به یک شناسه یکتا دارند.
SID؛ شناسنامه دیجیتال
اینجا پای SID یا Security Identifier به میان میآید. SID مثل شماره ملی برای هر Security Principal است. حتی اگر نام کاربری یا گروه تغییر کند، SID ثابت میماند. این نکته یکی از اصطلاحات کلیدی اکتیو دایرکتوری است که خیلی وقتها مدیران تازهکار نادیده میگیرند. تصور کن یک کارمند شرکت از «milad.milani» به «m.milani» تغییر نام بدهد؛ کاربر همچنان همان SID را دارد و دسترسیهایش از بین نمیرود. همین باعث میشود امنیت و ثبات در سطح سازمان حفظ شود.
sIDHistory؛ پلی میان گذشته و حال
وقتی سازمانی دامینهای خود را ادغام یا مهاجرت میدهد، ممکن است نیاز باشد کاربران جدید همچنان به منابع قدیمی دسترسی داشته باشند. اینجا ویژگی sIDHistory وارد عمل میشود. sIDHistory در واقع لیستی از شناسههای قبلی یک کاربر را ذخیره میکند تا او بدون مشکل بتواند به منابع قدیمی هم دسترسی پیدا کند. البته این ویژگی اگر درست مدیریت نشود میتواند حفره امنیتی ایجاد کند، چون SIDهای قدیمی همیشه همراه کاربر باقی میمانند. بنابراین در کنار مزایا، خطرات خاص خود را هم دارد و باید با سیاستهای امنیتی سختگیرانه استفاده شود.
sAMAccountName و UPN؛ دو راه برای ورود
برای ورود به دامنه، کاربر میتواند از دو شناسه استفاده کند:
-
sAMAccountName: فرم سنتی که شبیه به یک نام کاربری کوتاه است (مثلاً milad.milani).
-
UPN یا User Principal Name: شکلی مدرنتر و شبیه به ایمیل (مثلاً milad.milani@company.local).
شناخت این دو اصطلاح هم بخشی از همان اصطلاحات کلیدی اکتیو دایرکتوری است. بهخصوص در سازمانهایی که کاربران زیادی دارند، استفاده از UPN معمولاً راحتتر و قابلمدیریتتر است.
Access Token و ACL؛ تصمیمگیرندگان نهایی
وقتی کاربر احراز هویت شد، ویندوز برایش یک Access Token میسازد. این Token مثل یک پاسپورت است که نشان میدهد فرد به کدام گروهها تعلق دارد و چه سطح دسترسیهایی دارد. حالا هر منبعی (مثلاً یک فایل یا پرینتر) لیستی از مجوزهای خودش را دارد که به آن ACL یا Access Control List میگویند. این ACL از دو بخش تشکیل میشود:
-
DACL (Discretionary ACL): مشخص میکند چه کسی اجازه دسترسی دارد.
-
SACL (System ACL): ثبت میکند که چه دسترسیهایی باید لاگ شود.
ترکیب Access Token و ACL تعیین میکند که آیا درخواست کاربر پذیرفته میشود یا نه.
Kerberos؛ نگهبان قدرتمند اکتیو دایرکتوری
وقتی صحبت از اصطلاحات کلیدی اکتیو دایرکتوری میشود، نمیتوان از Kerberos عبور کرد. Kerberos پروتکل پیشفرض احراز هویت در اکتیو دایرکتوری است و با سیستم بلیت کار میکند. در این مکانیزم، یک سرویس مرکزی به نام KDC یا Key Distribution Center وجود دارد. کاربر ابتدا یک بلیت عمومی به نام TGT (Ticket Granting Ticket) دریافت میکند. بعد، هر وقت خواست به یک سرویس خاص دسترسی پیدا کند، KDC بلیت مخصوص آن سرویس را به نام TGS صادر میکند. این روش باعث میشود رمز عبور کاربر هر بار در شبکه ارسال نشود و امنیت به شکل قابلتوجهی افزایش پیدا کند.
SPN؛ کلید شناسایی سرویسها
یکی دیگر از اصطلاحات کلیدی اکتیو دایرکتوری SPN یا Service Principal Name است. SPN در واقع برچسبی است که یک سرویس خاص را به یک حساب کاربری در اکتیو دایرکتوری متصل میکند. بدون SPN، سرویسها نمیتوانند در فرآیند احراز هویت Kerberos درست شناسایی شوند. مثلاً اگر SQL Server روی یک سرور خاص اجرا میشود، باید یک SPN برای آن ثبت شود تا کاربران بتوانند بدون مشکل و بهصورت ایمن به آن وصل شوند.
کنترلرهای دامنه، Replication و نقشهای FSMO
Domain Controller؛ ستون فقرات اکتیو دایرکتوری
وقتی درباره اصطلاحات کلیدی اکتیو دایرکتوری صحبت میکنیم، اولین چیزی که نمیشود از آن گذشت Domain Controller یا همان DC است. در واقع DC مغز عملیاتی دامنه محسوب میشود. این سرور اطلاعات مربوط به کاربران، گروهها، کامپیوترها و سیاستهای امنیتی را نگه میدارد و در اختیار سایر دستگاههای شبکه قرار میدهد. به زبان ساده، اگر اکتیو دایرکتوری را یک بدن در نظر بگیریم، DC قلبی است که خون اطلاعات را در همه اعضا به جریان میاندازد. بدون DC هیچکس قادر به ورود به دامنه یا استفاده از منابع سازمانی نخواهد بود.
Replication؛ هماهنگی بین چند DC
حالا تصور کن در یک سازمان بیش از یک DC وجود داشته باشد. در این صورت، باید بین آنها سازگاری و هماهنگی برقرار شود. اینجاست که یکی از مهمترین اصطلاحات کلیدی اکتیو دایرکتوری یعنی Replication مطرح میشود. Replication فرآیندی است که طی آن تمام تغییرات (مثلاً ایجاد یک کاربر جدید یا تغییر رمز عبور) از یک DC به دیگر DCها منتقل میشود. این انتقال بهگونهای طراحی شده که حتی اگر چندین DC در نقاط جغرافیایی مختلف باشند، اطلاعات در نهایت بهروز و هماهنگ باقی بمانند.
نکته جالب این است که Replication در اکتیو دایرکتوری «چندجهته» است. یعنی اگر تغییر در DC شعبه مشهد اتفاق بیفتد، همان تغییر به DC تهران و اصفهان هم منتقل خواهد شد. این هماهنگی باعث میشود تجربه کاربر در هر نقطهای از شبکه یکسان باشد.
KCC و Connection Object؛ معماران Replication
فرآیند Replication بهصورت خودکار مدیریت میشود، اما پشتصحنه آن مفاهیم جالبی وجود دارد. KCC یا Knowledge Consistency Checker مسئول طراحی توپولوژی Replication است. این سرویس تصمیم میگیرد که کدام DC با کدام DC تبادل اطلاعات داشته باشد تا شبکه هم بهینه عمل کند و هم مقاوم باشد.
برای اجرای این طراحی، از چیزی به نام Connection Object استفاده میشود. Connection Object مثل خط لولهای است که جریان اطلاعات را بین دو DC مشخص میکند. ترکیب KCC و Connection Object یکی از همان اصطلاحات کلیدی اکتیو دایرکتوری است که نشان میدهد پشت هر هماهنگی ساده، چه مکانیزم دقیقی قرار دارد.
SYSVOL؛ مرکز توزیع سیاستها
یکی دیگر از مفاهیم حیاتی در اکتیو دایرکتوری، فولدری به نام SYSVOL است. SYSVOL جایی است که Group Policy Objectها و اسکریپتهای لاگین کاربران ذخیره میشوند. این فولدر روی تمام DCها کپی میشود و به کمک Replication هماهنگ میماند. به همین دلیل اگر مدیری بخواهد یک سیاست امنیتی برای همه کاربران تعریف کند، کافی است آن را در یک DC اعمال کند؛ تغییر بهصورت خودکار روی سایر DCها هم منعکس خواهد شد.
FSMO؛ نقشهای خاص در میان DCها
در نگاه اول به نظر میرسد همه DCها برابرند، اما در واقعیت بعضی وظایف خاص را فقط یک DC باید انجام دهد. این وظایف ویژه به نام FSMO Roles شناخته میشوند و یکی از مهمترین اصطلاحات کلیدی اکتیو دایرکتوری هستند. FSMO مخفف Flexible Single Master Operation است و شامل پنج نقش میشود:
-
Schema Master: مسئول مدیریت Schema و تعریف ساختار Objectها.
-
Domain Naming Master: وظیفه اضافه یا حذف دامنهها از Forest را بر عهده دارد.
-
RID Master: برای اختصاص شناسههای منحصربهفرد به Objectها.
-
PDC Emulator: مسئولیتهایی مثل هماهنگسازی زمان، مدیریت رمزهای عبور و پشتیبانی از کلاینتهای قدیمی.
-
Infrastructure Master: وظیفه هماهنگی بین Objectهای موجود در دامنه و ارجاعات خارجی.
شناخت دقیق این پنج نقش ضروری است، چون اگر هر کدام از آنها دچار مشکل شوند، عملکرد کل اکتیو دایرکتوری مختل میشود. مثلاً اگر RID Master در دسترس نباشد، نمیتوان کاربران جدید ایجاد کرد.
ابزارهای مدیریتی برای ادمینها
برای اینکه مدیر شبکه بتواند این اصطلاحات کلیدی اکتیو دایرکتوری را در عمل مدیریت کند، مجموعهای از کنسولها در اختیارش قرار دارد. پرکاربردترین آنها عبارتاند از:
-
Active Directory Users and Computers (ADUC) برای مدیریت کاربران و گروهها.
-
Active Directory Administrative Center (ADAC) با محیطی مدرنتر و قابلیتهای بیشتر.
-
Active Directory Sites and Services برای مدیریت Replication و Siteها.
-
DNS Manager چون بدون DNS، اکتیو دایرکتوری عملاً کار نمیکند.
-
Group Policy Management Console (GPMC) برای مدیریت و اعمال سیاستهای گروهی.
این ابزارها در کنار هم مثل جعبهابزاری هستند که به ادمین اجازه میدهند اکتیو دایرکتوری را نهفقط پیکربندی کند، بلکه عیبیابی و نگهداری روزمره آن را هم بهدرستی انجام دهد.
Trustها، سناریوهای بینفارست و نکات امنیتی
Trust؛ پل ارتباطی بین دامنهها
وقتی سازمانها بزرگتر میشوند و چندین دامنه یا حتی چندین Forest جداگانه دارند، نیاز به نوعی ارتباط قابلاعتماد بین آنها وجود دارد. اینجاست که یکی از مهمترین اصطلاحات کلیدی اکتیو دایرکتوری یعنی Trust وارد میدان میشود. Trust در حقیقت یک قرارداد اعتماد بین دو دامنه یا فارست است که به کاربران اجازه میدهد بدون نیاز به ایجاد حسابهای تکراری، به منابع موجود در دامنههای دیگر دسترسی پیدا کنند.
مدلهای Trust؛ One-way و Two-way
Trustها میتوانند یکطرفه یا دوطرفه باشند. در حالت One-way Trust، دامنه A به دامنه B اعتماد میکند، اما برعکس آن برقرار نیست. یعنی کاربران دامنه B میتوانند وارد منابع دامنه A شوند، ولی کاربران دامنه A اجازه ورود به منابع دامنه B را ندارند. در مقابل، در Two-way Trust هر دو طرف به یکدیگر اعتماد میکنند و کاربران میتوانند آزادانه بین دامنهها جابهجا شوند.
همچنین Trustها از زاویه دیگر هم دستهبندی میشوند: Incoming و Outgoing. در Incoming Trust دامنه مقصد پذیرای اعتماد است، در حالیکه در Outgoing Trust دامنه مبدأ اعتماد را صادر میکند. این دستهبندیها از جمله همان اصطلاحات کلیدی اکتیو دایرکتوری هستند که مدیر شبکه باید بهخوبی آنها را درک کند تا بتواند سیاستهای امنیتی مناسبی پیادهسازی کند.
Transitive و Non-Transitive؛ اعتماد مستقیم یا محدود
Trustها میتوانند Transitive یا Non-Transitive باشند. در Trust ترانزیتی، اعتماد بهصورت زنجیرهای منتقل میشود. مثلاً اگر دامنه A به دامنه B اعتماد داشته باشد و دامنه B به دامنه C، در صورت ترانزیتی بودن Trust، دامنه A بهطور غیرمستقیم به دامنه C هم اعتماد خواهد کرد. اما در حالت Non-Transitive چنین اتفاقی نمیافتد و اعتماد فقط بین همان دو دامنه اولیه برقرار میماند. این تفاوت یکی از حیاتیترین اصطلاحات کلیدی اکتیو دایرکتوری است، چون تعیین میکند دسترسی کاربران در ساختارهای پیچیده چگونه مدیریت شود.
انواع Trust در عمل
در اکتیو دایرکتوری چند نوع Trust تعریف شده که هر کدام کاربرد خاص خود را دارند:
-
Parent-Child Trust: وقتی یک دامنه جدید بهعنوان زیرمجموعه یک دامنه دیگر ساخته میشود، بهطور خودکار ایجاد میشود.
-
Tree-Root Trust: بین ریشه دو Tree در یک Forest ایجاد میشود.
-
Forest Trust: زمانی بهکار میرود که دو Forest مستقل نیاز به همکاری داشته باشند.
-
External Trust: برای ارتباط با دامنههای خارج از Forest.
-
Shortcut Trust (Cross-link): برای کوتاه کردن مسیر دسترسی در ساختارهای پیچیده و بزرگ.
شناخت این Trustها بخش جداییناپذیر از اصطلاحات کلیدی اکتیو دایرکتوری است و به مدیر شبکه کمک میکند طراحی مناسبی برای سازمان خود پیاده کند.
Foreign Security Principals؛ مهمانان ناخوانده یا رسمی
یکی دیگر از مفاهیمی که زیرمجموعه اصطلاحات کلیدی اکتیو دایرکتوری قرار میگیرد، FSP یا Foreign Security Principals است. وقتی یک کاربر یا گروه از دامنهای خارجی (مثلاً در یک Trust بین دو Forest) بخواهد به منابع دامنه ما دسترسی داشته باشد، سیستم بهطور خودکار یک Object در کانتینری به نام ForeignSecurityPrincipals ایجاد میکند. این Object در واقع نماینده آن کاربر خارجی در دامنه ماست و به او امکان دسترسی کنترلشده میدهد.
نکات امنیتی در مدیریت Trustها
Trustها اگر درست پیکربندی نشوند، میتوانند حفرههای امنیتی جدی ایجاد کنند. برای مثال، اگر در فرآیند مهاجرت یا ادغام دامنهها از sIDHistory بهدرستی استفاده نشود، ممکن است کاربران ناخواسته دسترسیهای اضافه به منابع حساس پیدا کنند. به همین دلیل مایکروسافت قابلیتی به نام SID Filtering ارائه کرده که دسترسی SIDهای غیرمجاز را مسدود میکند.
علاوه بر این، همیشه باید اصل «حداقل سطح دسترسی» در مدیریت Trustها رعایت شود. یعنی فقط در موارد ضروری Trust برقرار شود و حتیالمقدور Trustها بهصورت Non-Transitive تعریف شوند تا دایره اعتماد بیش از حد گسترده نشود.
از مفاهیم تا اجرا؛ قدم بعدی چیست؟

⭐ تا اینجا مجموعهای از اصطلاحات کلیدی اکتیو دایرکتوری را بررسی کردیم؛ از Domain و Replication گرفته تا Kerberos و Trust. اما دانستن این مفاهیم تنها یک روی ماجراست. اگر میخواهید در عمل بتوانید یک اکتیو دایرکتوری پایدار و امن داشته باشید، باید مراحل راهاندازی و پیکربندی آن را هم یاد بگیرید. برای این منظور پیشنهاد میکنم به مقالهی راهنمای کامل و تصویری راهاندازی و پیکربندی اکتیو دایرکتوری در ویندوز سرور سر بزنید تا مفاهیم تئوریای که در این متن مرور کردیم، در عمل هم برایتان روشن شوند.