آشنایی با ساختار اکتیو دایرکتوری

یک سرویس  دایرکتوری تقریبا مشابه یک دیتابیس است. در یک دایرکتوری اشیائی که به نوعی مرتبط اند، ذخیره می شوند و از طریق صفاتشان قابل دسترسی اند. در سرویس های مختلف و در سیستم عامل های مختلف، از یک سرویس دایرکتوری استفاده می شود. در سرویس دایرکتوری اطلاعات به صورت سلسه مراتبی نگه داری می شود همچنین سرویس دایرکتوری تمامی اطلاعات لازم را نگه داری می کند. با توجه به ارتباط میان اشیاء، دسترسی از طریق صفات و نگه داری تمامی اطلاعات لازم، مدیریت اطلاعات مرکزی و آسان تر می شود.

در شبکه های گوناگون همانند اینترنت، اشیاء مختلفی با استفاده از سرویس دایرکتوری نگه داری می شوند. سرویس هایی همانند فایل سرور ها و فکس سرور ها از دایرکتوری بهره می برند. اما عمکرد یک سرویس دایرکتوری در سرویس های مختلف، متفاوت است. با توجه به اهمیت این سرویس، باید مکانیسم های امنیتی و مدیریتی دیگر برای یکپارچگی و حفظ حریم خصوصی اتخاذ شود که در نتیجه باید از پروتکل ها و سرویس های جانبی دیگر نیز استفاده شود.

Active Directory Domain Service – AD DS

AD DS موجود در ویندوز نسخ سرور، شامل یک سرویس دایرکتوری است که اطلاعاتی همچون منابع و… را ذخیره می کند. اشیاء مختلفی در اکتیو دایرکتوری ذخیره می شود که به صورت اشیائی متفاوت سازمان دهی می شود. هر شیئ مجموعه جداگانه ای از صفات است که عناصری از شبکه را مشخص می کند. به عنوان مثال یک User Account می تواند شامل ویژگی هایی همچون نام، نام خانوادگی و نام Logon باشد. در حالی که یک Computer Account شامل ویژگی های همچون نام و مشخصات می تواند باشد. بنابراین ضمن تفاوت اشیاء ویژگی ها متفاوت است و مشخص کننده اشیاء مختلفی از شبکه هستند. با بیان دقیق تر می توان گفت : هر داده ای که در Active Directory ذخیره می شود، به صورت اشیائی متمایز و دارای صفاتی جداگانه ذخیره می شود. برخی اشیاء خود می توانند شامل اشیائی دیگر باشند که با آنها Container گفته می شود به عنوان مثال یک دامین، یک Container است که خود شامل اشیائی دیگر همانند کامپیوتر ها یا کاربران می تواند باشد.

acinf

Active Directory Schema

Active Directory schema معین کننده اشیائی است که می تواند در اکتیو دایرکتوری ذخیره شوند. Schema لیستی از انواع اشیاء و انواع داده های مربوط به آن اشیاء است، که می تواند در اکتیو دایرکتوری ذخیره شود. هر Schema به وسیله دو شیئ معین می شود:

۱٫ schema class objects که schema classes نیز گفته می شود: مشخص کننده اشیائی است که امکان ساخت آن در اکتیو دایرکتوری وجود دارد.

۲٫ schema attribute objects که schema attributes نیز گفته می شود. مشخص کننده ی ویژگی کلاس هایی است که عضو شده اند.

این دو شیئ با هم دیگر، metadata گفته می شوند.

acinff

یک schema class در واقع یک قالبی برای ساختن اشیاء جدید در اکتیو دایرکتوری است. هر schema class جمعی از schema attributes  است که در زمان ساخت یک شیئ جدید، مقادیر ویژگی ها تغییر پیدا می کند به عنوان مثال یک کلاس User شامل ویژگی ها مختلفی است همانند Home Folder . بدیهی است که هر schema attribute نیز صرفا معین کننده ی یک ویژگی از ویژگی های شیئ است. چندین ویژگی و کلاس مختلف به صورت پیش فرض Schema وجود دارد. امکان افزودن کلاس و ویژگی جدیدی که وجود ندارد، نیز وجود دارد. با توجه به آنکه یک Schema نمی تواند حذف شود، (فقط می تواند غیر فعال شود) باید در توسعه دادن Schema بسیار دقت شود.

اجزای Active Directory

احزای مختلفی در اکتیو دایرکتوری نفش دارند. این اجزاء فیزیکی یا منطقی هستند به این سبب، اکتیو دایرکتوری دارای ساختار فیزیکی و منطقی است.

ساختار منطقی

اشیاء را به صورت یک ساختار منطقی سازمان دهی می شوند. ساختار منطقی از روی ساختار واقعی منعکس می شود. این سازمان دهی منطقی اشیاء، سبب می شود تا بدون توجه به محل فیزیکی اشیاء به مدیریت بپردازیم. همچنین با دانستن ویژگی یا نام اشیاء می توانیم در ساختار منطقی به آن ها دست پیدا کنیم و یا آن را جستجو کنیم. اجزاء مختلفی در ساختار منطقی نقش ایفا می کنند که عبارت است از:

acinfff

 

۱) دامین (Domain – دامنه)

هسته و رکن اصلی ساختار منطقی دامین است. همانطور که گفته شده بود دامین خود یک Container است و می تواند شامل اشیاء دیگر باشد. اشیائی که در یک دامین قرار می گیرند برای یک شبکه حیاتی هستند. این اشیاء می تواند شامل پرینترها، کامپیوتر ها، آدرس ایمیل ها، کاربران و دیگر منابع باشد. اکتیو دایرکتوری می تواند شامل یک دامین یا بیشتر باشد. همچنین یک دامین می تواند دارای یک یا چند مکان فیزیکی باشد. هر دامین دارای دو مشخصه بارز است:

۱٫ تمام اشیاء شبکه در یک دامین قرار دارند و هر دامین تنها اطلاعات مربوط به خود را دارا است.

۲٫ یک دامین، یک محدوده امنیتی است. دسترسی به اشیاء دامین ها از طریق ACL ( لیست کنترل دسترسی – Access Control List) امکان پذیر می شود. در واقع تنها اشیائی قابلیت دسترسی دارند که در ACL موجود و دارای یک ACE باشند. این لیست مشخص می کند که کدام کاربر و در چه سطحی به دسترسی دارد.ACE کوتاه شده ی Access Control List است.

۲) واحد های سازمان ( OU – Organization Unites )

OU هم یک Container است که اشیاء موجود در دامین به گروه های کوچکتری تقسیم می کند. می توان OU ها را جداگانه مدیریت کرد و برای آن ها قوانین و ضوابط جدا از قوانین دامین وضع کرد. OU ها هم می توانند شامل اشیائی دیگر همانند کاربر، کامپیوتر، چاپگر و یا یک Ou دیگر باشند. از آنجایی که یک OU قسمت کوچکی از شبکه است می توان مدیریت یک OU را به عهده فرد دیگری گذاشت و بر آن نظارت کرد. یک بخش از یک سازمان را معمولا در یک OU قرار می دهیم تا راحت تر مدیریت کنیم. هر چند استفاده از OU ها چندان الزام آور نیست، اما عدم استفاده از OU ها در شبکه های متوسط و بزرگتر از آن سبب بروز مشکلات فروانی خواهد شد.

acinfffff

۳) درخت ها (Tree)

یک درخت، گروهی از دامین ها است که از طریق ایجاد یک فرزند به وجود می آید. دامنه های در یک درخت دارای یک فضای نامی پیوسته هستند به این معنا که اسم والدین به فرزندان اضافه می شود. از آنجایی که اسامی در اکتیو دایرکتوری دامین سرویس وابسته به DNS است، بدیهی است از نام یک دامین فرزند ترکیبی از نام خود و نام تمام والدین خود است. به مثال تصویری زیر توجه کنید:

acinffffff

۴) جنگل ها (Forest)

یک جنگل، گروهی از درخت های جداگانه است. در یک جنگل درخت ها با توجه به دامنه هایشان دارای ساختار نامی متفاوت اند و تمام درخت ها در یک جنگل مستقل عمل می کنند. تمامی دامین ها در یک جنگل از یک Schema عمومی استفاده می کنند.

 acinfffffff

ساختار فیزیکی

۱) سایت (Site)

یک سایت مجموعه یک یا چند Subnet است که به وسیله لینک مطمئن ارتباطش ایجاد شده. برای کاهش ترافیک و… در یک شبکه اقدام به ایجاد چند سایت مختلف می کنیم. در واقع سایت ها از لحاظ فیزیکی متفاوت اند. به عنوان مثال سایت تهران، سایت کالیفرنیا و سایت توکیو می تواند سایت های فیزیکی یک دامین باشد. همچنین در وسعت کمتر، سایت ساختمان شمالی و ساختمان جنوبی یا سایت طبقه اول و سایت طبقه دوم مثال هایی از سایت های مختلف در یک دامین است. در بین سایت راهکارهای خاص ارتباطی می توان در نظر گرفت که در آینده صحبت می شود. یک سایت می تواند شامل قسمتی از یک دامنه، یک دامنه یا چند دامنه باشد.

acinffffffffffff

معمولا یک سایت به یک LAN پایان می پذیرد و از طریق یک MAN یا WAN به سایت دیگری متصل می شود هر چند الزاما چنین نیست. زمانی که سایت ها قسمتی از فضای نامی نباشد، در استفاده از منابع گروه بندی اجزاء را گروه بندی دامین، فرزند-دامین و… مشاهده خواهید کرد و در مشاهده منابع وجود سایت ها را ممکن است احساس نکنید. در آینده در خصوص سایت ها با تفصیل صحبت خواهد شد.

۲) دامین کنترلر (Domain Controller – DC)

دامین کنترلر یک کامپیوتری است که ویندوز نسخه سرور روی آن نصب شده است و Active Directory Domain Service روی آن در حال اجرا است. هر دامین کنترلر فقط می تواند یک دامین را سرویس دهد ولی هر دامین می تواند شامل تعدادی دامین کنترلر باشد. وظیفه ی شناسایی کاربران بر عهده Domain Controller ها است و به صورت مرکزی انجام می شود که در این خصوص در آینده بیشتر صحبت می شود.

هر دامین کنترلر یک کپی کامل از اطلاعات موجود در اکتیو دایرکتوری را نگه داری می کند. همچنین تغییرات خود را با سایر دامین کنترلرها Replicate می کند. در خصوص replication نیز در آینده صحبت می شود. وظایفی وجود دارد که تنها یک دامین کنترلر در تمام Domain یا در تمام Forest  یا Domain انحصارا آن ها را انجام می دهند. اما از دیدگاه منطقی تمام دامین کنترلر ها می توانند با یکدیگر مساوی عمل کنند. همچنین دامین کنترلر ها انواع مختلفی دارند، به عنوان مثال می توان به Read-Only Domain Controllers یا RODC اشاره کرد. این نوع DCها برخی اطلاعاتی که از لحاظ امنیتی اهمیت  کمتری دارند را روی خود نگه داری می کنند و اطلاعات آن ها غیر قابل ویرایش است. از این نوع DC ها می توان در دفاتری که امنیت فیزیکی مناسبی ندارند بهره برد. هر دامین کنترلر یک کپی از اطلاعات موجود در اکتیو دایرکتوری را نگه داری می کند. تغییرات این اطلاعات را با سایر دامین کنترلرها یکسان ( Replicate) می کند. Active Directory Domain Services از پروتکل Kerberos برای Authentication استفاده می کند. یک  DC نقش Kerberos Key Distribution Center (KDC) را در یک شبکه ایفا می کند.

۳) محل ذحیره سازی اطلاعات یا Active Directory Data Store

از آنجایی که این محل روی دامین کنترلر ها قرار دارد شاید نتوان مورد ۳ را از مورد ۲ جدا کرد اما از جهت اهمیت بسیار، جداگانه نوشته شده است. دامین کنترلر ها در واقع میزبان AC Data Store هستند. دایرکتوری یک فایل منحصر به فرد به نام NTDS.dit است و به صورت پیش فرض در آدرس systemroot%\ntds %قرار می گیرد. این database (پایگاه داده) به بخش های متعددی تقسیم می شود که به آن ها Partitions گفته می شود. همانند Schema، Configuration، Global Catalog و… که در خصوص آن ها در آینده بحث خواهد شد. Global Catalog(به اختصار GC، به آن Partial Attribute Set نیز گفته می شود) یک فهرست از تمام اشیاء موجود روی اکتیو دایرکتوری است. در واقع بسیار شبیه به یک Index کتاب است. با استفاده از GC می توان به سرعت مکان هر شیئ را یافت. با استفاده از ابزار هایی همانند Active Directory Services Interface یا به اختصار ADSI و با استفاده از پروتکل هایی همانند LDAP می توان برای دیدن Data Store استفاده کرد. Active Directory Data Store می توان جهت نگه داری اطلاعات برنامه های دیگر که جزئی از AD DS محسوب نمی شوند به کار گرفته شود. به عنوان مثال می توان ذخیره سازی اطلاعات DNS یا Domain Name System در AD Data store به قابلیت ها و مزایای چشمگیری دست پیدا کرد.

image

11 دیدگاه در آشنایی با ساختار اکتیو دایرکتوری

  1. سلام دوست عزیز

    مطالب عملی را که باید به صورت عملی کنید، نمیشه اون ها رو نوشت :دی! اما معمولا سعی می کنم که روش های پیاده سازی سناریو را هم توضیح بدم.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *