مفاهیم Trust در Active Directory قسمت اول

در این مقاله قصد توضیح و تشریح تمامی مفاهیم و خصوصیات انواع Trust ها، و همچنین کاربرد Trust ها در Active Directory  از 0 تا 100 را دارم. در قسمت اول بیشتر به توضیح و تشریح مفاهیم تئوری این مبحث شیرین در اکتیو دایرکتوری خواهم پرداخت و در ادامه کار، با پیاده سازی عملی آن درقالب یک سناریو جامع و کامل در خدمتتان خواهم بود.

مقدمه:

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

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

تاریخچه Trust:

ایجاد Trust بین دامین ها اولین بار توسط شرکت مایکروسافت و در محصول ویندوز سرور 2000 معرفی شد. این نوع Trust در واقع Trust ای بود که بین دامین والد یا Parent و دامین فرزند یا Child برقرار می شد و به این شکل بود که در صورتیکه کاربری در دامین فرزند ساخته می شد به دلیل وجود Trust  بین فرزند و والد می توانست در دامین والد یا Parent خود نیز Login کرده و از منابع آن استفاده کند. عکس این عمل هم ممکن بود. بدین شکل که اگر کاربری در دامین Parent  ساخته می شد، قادر بود در تمامی دامین های Child وارد سیستم شود. این نوع Trust صرفاً در حد یک ساختار Forest قادر به پیاده سازی بود، یعنی فقط دامینی از این Trust می توانست استفاده کند که دارای ساختار Child و Parent باشد و دامین هایی که ساختار نامگذاری متفاوتی داشتند نمی توانستند از چنین قابلیتی استفاده کنند.

trust-in-active-directory-concepts-part-i-00-technet24

این نوع Trust بین Parent و Child بصورت خودکار یا Automatic ایجاد می شد و بصورت Two Way Transitive بود که در ادامه در خصوص این نوع از Trust ها صحبت خواهیم کرد. در نهایت با معرفی این ساختار در ویندوز سرور 2000 مایکروسافت Trust را در بین محصولاتش قرار داد. اما بعد از مدتی و با معرفی ویندوز سرور 2003 و سپس ویندوز سرور 2008 مایکروسافت در ساختار Trust ها یک تحول ایجاد کرد. در ویندوز سرور 2003 این قابلیت به سرور اضافه شده بود که بتواند با سایر Forest ها نیز Trust برقرار کند، که همین فرآیند در ویندوز های سرور بعدی مایکروسافت که 2008 و 2012 می باشند نیز ادامه دارد.

 خلاصه ای از مشخصات Trust ها در Windows Server :

در حالت کلی تمامی Trust ها، در سیستم عامل های ویندوز سرور شرکت Microsoft، در دو حالت Non Transitive وTransitive  می توانند قرار بگیرند که هر کدام از آنها دارای شرایط و ویژگی های خاص خودشان هستند.

Transitive Trust -1 : منطق کاری این گونه Trust ها به این صورت است که، اگر به عنوان مثالDomain1  با  Domain2، بتوانند Trust داشته باشند و Domain2 هم با Domain3، دارای Trust دیگری باشند، در این صورت Domain1 با Domain3 می تواند ارتباط برقرار کرده و در واقع Trust داشته باشند. پیاده سازی این ساختار بکمک مکانیزمForest Trust  پیاده سازی می شود. در واقع برای درک بهتر مسئله، همان مثال قبل را در نظر بگیرید، اما با این تفاوت که اگر محمدصادق صادقپور با آرش ولدبیگی دوست باشد و آرش ولدبیگی هم با میلاد اسحاقی، بنابراین فردی بنام میلاد اسحاقی می تواند دوست محمدصادق صادقپور هم باشد.

trust-in-active-directory-concepts-part-i-01-technet24Trust  ای که از نوع Transitivity باشد، در واقع تصمیم گیری های لازم جهت اخذ اعتماد بین سایر Domain های خارجی موجود را انجام می دهد. همان گونه که از واژه Transitive هم پیداست در واقع Trust های از نوع Transitive قابلیت انقال کلیه روابط قبلی را هم دارا هستند. درواقع در هر زمانی که شما بین دامین و یا یک Forest که با ارتباطات دو طرفه پیاده سازی شده اند،Trust  ای از نوع Transitive برقرار کنید روابط Trust به صورت خود کار و در سطح Forest هم ایجاد خواهد شد.

trust-in-active-directory-concepts-part-i-02-technet24همین روابط به صورت دو طرفه در دامین کنترلر های Parent و Child نیز وجود دارد. همین طور اگر درChild DC  های موجود در مجموعه شما نیز DC  دیگری ایجاد شود، به همین ترتیب Trust بین دامین کنترلر ها برقرار خواهد بود. در واقع کلیه روابط Trustهایی که از این نوع باشند (Transitive Trust)  همواره در سطح همان Tree شما جاری خواهد شد.

trust-in-active-directory-concepts-part-i-03-technet24trust-in-active-directory-concepts-part-i-04-technet24Non transitive Trust -2: این گونه Trust فقط و فقط بین دو Domain که با هم Trust برقرار کرده اند وجود دارد. پس ارتباط آنها فقط در حد خودشان است. درواقع در Trust های Non Transitive  کلیه روابط موجود، بدون پیروی کردن از سایر Trust ها است. ضمن این که، تمامی تبادلات اطلاعات فقط در حد یک Trust یک طرفه بوده و علیرغم وجود ساختار Parent و Child هیچ گونه تابعیتبی از DC های بالاسری خود را ندارند. در واقع Trust از نوع Non Transitive فقط و فقط بین دو DC موجود انجام می شود و هیچ ارتباطی به ساختار Parent و Child و سایر DC های موجود در مجموعه نخواهد داشت.

trust-in-active-directory-concepts-part-i-05-technet24

Trust  از نوع Non Transitive اگر چه به صورت پیش فرض در حالت One-way برقرار خواهد شد، اما با این حال شما قدار خواهید بود یک رابطه دو طرفه یا در واقع یک Trust از نوع Two-way را هم ایجاد کنید. اما Non Transitive ها عمدتاً به صورت کلی، در موارد زیر پیاده سازی می شوند:

DCهای ویندوز سرور 2003 و ویندوز NT
DC موجود در ویندوز سرور 2003 به بعدی که در سطح یک Forest و یا حتی سایر Forest های دیگری که Join نشده باشند.
اما با استفاده از ایجاد  Trustها به صورت دستی یا Manually هم مدیران شبکه قادر به ایجاد Non Transitive Trust های زیر خواهید بود:

External trust : این نوع Non Transitive Trust معمولاً بین DC های ویندوز سرور 2003 و NT و یا حتی ویندوز سرور 2000 انجام می شود. وقتی که DC  ویندوز NTرا به ویندوز سرور 2003 Upgrade می کنید، تمامی Trust  ها و کلیه روابطی که از قبل بین DC ها بر قرار بوده همچنان پابرجا خواهد بود. ضمن این که تمامی این Trust  ها از نوع Non Transitive می باشند.

trust-in-active-directory-concepts-part-i-06-technet24فقط باید توجه داشت که برای ایجاد External Trust بین دو Forest همان طوری که به DNS Server احتیاج است، متقابلاً برای بحث احراز هویت کاربرانی که از یک Forest خارجی قصد ورورد دارند نیز، وجود سرویس Kerberos الزامی است. یعنی یوزری که در Forest الف ساخته شده و می خواهد به Forest  ب login کند باید توسط سرویس Kerberos اهراز هویت شود. لازم به ذکر است که یوزر های هر Domain هم برای Trust کردن به وسیله Kerberos  شناسایی و اهراز هویت می شوند و بعد از اهراز هویت به Domain مورد نظرشان با همان Delegate هایشان وارد می شوند.  

Realm trust: این Non Transitive Trust در واقع بین AD یا همان Active Directory  و پروتکل Kerberos V5 که کار Authentication کردن یا همان احراز هویت در AD را عهده دار است خواهد بود.

مفاهیم Trust در Active Directory قسمت دوم
مفاهیم Trust در Active Directory قسمت سوم

3 دیدگاه
  1. احسان ملکی says

    عالی بود مهندس.

    1. Sadeghpour says

      ممنونم زنده باشین

  2. محسن says

    سلام. اگر لطف کنین مطالب ادامه بدین خیلی عالی میشه

دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.