یکی از مسائل مهمی که در هر سازمانی یا شرکتی باید در نظر گرفته شود ، نحوه ی محافظت از منابع اطلاعاتی است و یکی از مواردی که هر ادمین شبکه ای با آن مواجه می شود ، تلاش بر این است که منابع آن سازمان یا شرکت برای افراد غیر مجاز،قابل دسترس نباشد.
خوب این یک روی سکه است، روی مخالف سکه که به اندازه روی قبلی آن اهمیت دارد این است که افراد مجاز به راحتی بتوانند به منابع شبکه آن سازمان یا شرکت دسترسی پیدا کنند. در سازمانها یا شرکتهای کوچک این مسئله و نگرانی اصلا وجود ندارد چون در سازمانهای کوچک چندین دومین به ندرت در کنار هم قرار گرفته اند.خوب با در نظر گرفتن مسئله امنیت در همچنین مواقع ، ادمین ها نیازمند ابزاری برای مدیریت این دسترسی ها در Forest ها ،یا در میان چندین دومین می باشند.
امکانی که وظیفه ی فوق را به خوبی انجام می دهد و از پس آن نیز بر می آید Active Directory Domains and Trusts می باشد.با استفاده از این امکان مدیران شبکه می توانند بین دومین های متفاوت ارتباط برقرار کنند که این ارتباط به کاربران یک دومین ( مثلا دومین A )اجازه استفاده از منابع دومین دیگری ( مثلا دومین B ) را ، بدون آنکه آن کاربر به عضویت آن دومین ( دومین B ) در بیاد استفاده کند .خوب با استفاده از این امکان ،ادمینهای شبکه می توانند این اطمینان خاطر را داشته باشند که کاربران در دومین های مختلف بدون اینکه در آن دومینها دارای اکانتی باشند،از منابع آنها استفاده کنند.در این میان و برای شروع ، این دو واژه را به خاطر داشته باشید :
خوب همانطور که از نام آن بر می آید، Trust در اینجا در بردارند ه ی مفهوم ایجاد اعتماد برای اشتراک گذاری اطلاعات می باشد. پس از نظر امنیتی،شما باید قبل از ایجاد Trust ، بررسی های لازمه را انجام دهید و به خوبی بدانید که کدام نوع Trust را می خواهید پیاده سازی کنید.در ادامه خواهید دید که Trust انواع مختلفی دارد که ادمینهای شبکه متناسب با نوع نیاز و دسترسی هایی که لازم است داشته باشند اقدام به پیاده سازی Trust می کنند.
همواره مراقب باشید که در صورت اعمال تنظیمات نادرست،کاربران خارجی غیرمجاز به اطلاعات و منابع داخلی شما دسترسی پیدا خواهند کرد.Trustمانند یک خیابان است که مستقیما شما را به منابع داخلی Forest هدایت می کند.این درست مانند زمانی است که شما کلید خانه خودتان را به شخصی بدهید و امیدوارید که آن شخص اعتماد شما را سلب نکند. همه دومین کنترلرها فرآیند احراز هویت را انجام میدهند اما همه ی آنها لزوما به یکدیگر اعتماد یا Trust ندارند ! اینجا جایی است که شما وارد عمل می شوید و روابط میان دومین کنترلر ها را تعریف و مشخص می کنید.
Trust ها بصورت کلی دو ویژگی اصلی دارند که به ترتیب جهت اعتماد یا Trust Direction است و دیگری انتقال پذیری اعتماد یاTrust Transitivity است.
نکته: به خاطر داشته باشید که به صورت پیشفرض در ویندوز سرور 2008،رابطه های Trust به صورت دوستانه هستند. به صورت پیشفرض دو Trust متداول در اکتیودایرکتوری ،یعنی Trust های Parent and Child و Tree-root به صورت دو طرفه و transitive می باشند.این بدان معنی است که Trust Path در سرتاسر Forest گسترش پیدا کرده است. همینطور به محض ایجاد اکتیودایرکتوری ، این دو Trust ایجاد می شوند.
برای درک بهتر مفهوم Trust های دو طرفه و Transitive ، بزرگی از این جمله استفاده می کند که "هر کدام از دوستان تو،دوست من نیز هستند". با توجه به مفهوم Trust ها دوطرفه و Transitive که در بالا توضیح دادیم، این یعنی زمانیکه Parent دو مجموعه دومین به یکدیگر اعتماد ( Transitive and bidirectional Trust ) داشته باشند و دوست باشند، کلیه زیر مجموعه های آنان نیز به یکدیگر Trust داشته یا دوست هستند. در ویندوز سرور 2008 انواع دیگری از Trust وجود دارد که در ادامه به معرفی و توضیح هر کدام خواهم پرداخت .
اما چیزی که در این میان حائز اهمیت است،این است که قبل از تعریف و ایجاد Trust ،شمایی از Forest و دومین ها و دومین کنترلرهای داخل آن را بر روی کاغذی برای خود رسم کنید و سپس مشخص کنید که می خواهید بین هر ِDomain یا Forest چه روابطی وجود داشته باشد و کدام دومینها و کاربران هستند که باید به منابع کدام دومینها یا ّForset های دیگر دسترسی داشته باشند.سپس متناسب با این روابط و دسترسی ها ،اقدام به تعریف و ایجاد Trust با انواع متناسب با آن دسترسی ها کنید. زمانیکه متناسب با نیازتان ،اقدام به تعریف هر کدام از انواع Trust کردید، از لحاظ امنیتی برای شما بهتر است که پسوردهایی که تعریف میکنید طولانی،تصادفی و پسوردهای پیچیده ( Complex ) ای باشند.بهترین راه این است که از آپشن New Trust Wizard استفاده کنید تا در هر دو طرف Trust ،پسوردهای قوی برای شما تعریف کند.
دو option دیگری که در رابطه با Trust ها باید با آنها آشنایی داشته باشید،مفاهیم Implicit و Explicitهستند.Implicit Trust، تراست هایی هستند که به صورت اتوماتیک و پیش فرض بین دومینها در Forest ایجاد می شود .به عنوان مثال Implicit Trust بین هر دومین Parent و Child اش و همچنین Root Domain های هر فارست وجود دارد. اما Explicit Trust، تراستی است که توسط Administrator ایجاد می شود.این Trust به صورت اتوماتیک وجود ندارد اما باید با صراحت ایجاد شود.
به عنوان مثال Administrator یک Explicit Trustبین Child Domain های Domain Treeها ، برای ایجاد روابط مستقیم و احراز هویت های سریعتر ، به صراحت ایجاد می کند. درواقع این نوع Trust ،Trust ای است که باید تعریف و ایجاد شود تا بتوان از قابلیتهایی که در مفهوم Trust در اختیارمان قرار می دهد استفاده کنیم .این Trust در نقطه مقابل Trust هایی که به صورت اتوماتیک و پیشفرض ایجاد و تعریف شده اند قرار می گیرد. به شکل زیر دقت کنید:
با توجه به اینکه بین ریشه های دو فارست 2و3 ،رابطه Trust دوطرفه وجود دارد ، پس بین کلیه Domain های موجود در این Forest ها ، Trust برقرار خواهد شد پس Implicit Trust نیز با ایجاد Transitive Two-Way Trust نیز ایجاد می شود.اما چون بین دوForest شماره 1و3 هیچ رابطه ی Trust ای ایجاد نشده است ، پس Implicit Trust ی نیز وجود نخواهد داشت.
تا اینجای مقاله باید متوجه شده باشید که یکی از مزایای اصلی روابط Trust در اکتیودایرکتوری این است که ادمینهای شبکه دیگر نیازی به ایجاد Multiple User Accounts ها که به منابع همه دومینها دسترسی داشته باشند ، نخواهند داشت.حال ادمینهای شبکه تنها باید برای خود یک لیست کنترل دسترسی ( ACL ) برای کنترل دسترسی ها ی User های دومینهای دیگر به منابع خودشان ایجاد کنند.برای بهره بردن از همه ی مزایای Trust ها ،ادمینهای شبکه باید با انواع تراستهایی که وجود دارد آشنا باشند و به خوبی بدانند که در چه زمانی باید از کدام تراست استفاده کرد. از اینرو در ادامه به معرفی انواع تراست ها خواهم پرداخت.
به صورت کلی 5 نوع Trust وجود دارد:
زمانیکه شما ویزارد نصب اکتیودایرکتوری را برای ایجاد یک دومین جدید در فارستی که از قبل وجود داشته است را اجرا میکنید،به صورت پیشفرض دو تراست ایجاد شده است: اولین آنها تراست Parent و Child است و بعدی Tree-root Trust. مابقی انواع تراستهایی که به خدمتتان عرض کردم را می توانید با استفاده از New Trust Wizard یا دستورات مشابه آن در Command-lineنیز نصب کنید. همانطور که پیش تر از این گفته بودم ، این دو تراست به صورت پیش فرض و از قبل توسط مهندسین و کارشناسان محترم شرکت مایکروسافت تعریف و ایجاد شده است .
یعنی برای شما به عنوان دومین Parent به محض تعریف Child ی برای خودتان ( :D ) بین شما و این Child محبت و تراست Parent-Child به صورت مادرزادی ایجاد میشود.در مورد Tree-root Trust هم که آشکار است،ریشه های هر درخت به شاخه های خود اطمینان دارد ، چون این شاخه ها از ریشه ی درخت است که تغذیه میشوند پس روابط صلح آمیزی در میان آنها برقرار است .همینطور به صورت پیش فرض در ویندوز سرورهای 2000،2003،2008 تراستهای پیش فرض یا Default Trust ها به صورت Transitive و Two-way تعریف شده اند.
با توجه به اینکه تراست Parent and Child نیز یک تراست پیش فرض است پس رابطه تراست Transitive و دوطرفه دارد. این خصوصیت باعث می شود در خواستهای احراز هویتی که در Child Domain ایجاد می شوند ، در دومین Parent مورد تایید قرار گیرند.چون تراستها Transitive هستند، درخواستها به سمت دومین Parent و سپس در راستای دومین ریشه پیش میرود تا به namespace domain برسند و مورد بررسی قرار گیرند.خوب اینگونه روابط باعث می شود که هر کاربری در صورتی که Permission های لازم را داشته باشد ، بتواند به کلیه منابع دومین دسترسی داشته باشد.در Tree-root Trust نیز همین رابطه برقرار است ،یعنی کلیه Childها درخواستهای خود را به دومین ریشه یا Root ارسال می کنند و رفتاری مشابه رفتار تراست های Parent and Child نیز دارد.
همانطور که از اسم آن پیداست ،این نوع تراست تنها بین دومینهای ریشه یا Root Domain های بین دو فارست ایجاد می شود. هر دو فارستی که می خواهید بین آنها Forest Trust ایجاد شوند باید دارای یک سیستم عامل ( یا ویندوز سرور 2003 یا 2008 ) باشند.این تراستها می توانند تراستهای یک طرفه یا دو طرفه باشند.همچنین این تراستها به صورت Transitive در نظر گرفته می شوند به این دلیل که Child Domain های درون یک فارست بتوانند برای دسترسی به منابع فارست دیگر ،احراز هویت شوند.
این نوع تراست به شما در مورد ساختار اکتیودایرکتوری کمک می کند.مدیریت منابع بین دو تراست را با کم کردن تعداد External Trust های لازم، به صورت ساده می توان انجام داد.به جای تعریف کردن Multiple External Trust ، یک Forest Trust دوطرفه بین دو Root Domain ، کنترل کامل به دومینهای مورد نظر را می توان اعمال کرد.
به علاوه ، Administrator میتواند از مزایای پروتکلهای احراز هویت Kerberos و NTLM برای انتقال داده های قابل دسترسی بین دو فارست استفاده کند. در نهایت Forest Trust برای داشتن یک اعتماد یا تراست دو طرفه بین دومینهای دو فارست مجزا ارائه شده است. همچنین شما می توانید Multiple Forest ها را ایجاد کنید تا از این طریق داده ها ی ایمنی در فارست داشته باشید و یا Directory Replication بین هر تراست را نیز ایزوله کنید.
شما برای اینکه بتوانید با دومینهای خارج از فارستی که در آن قرار دارید رابطه برقرا کنید ، از این نوع تراست استفاده میکنید. این تراستها بنا بر نیاز شما می توانند یک طرفه یا دوطرفه باشند.این نوع تراست همیشه ذاتا ( D: Non-transitive )است،این بدان معنی است که شما یک Explicit Trust بین دو دومین ایجاد می کنید و دومینهایی که خارج از این اطمینان و تراست هستند، مورد تاثیر قرار نمیگیرند.شما می توانید از این تراست در مواقعی استفاده کنید که رابطه تراست بین فارستی که دومین شما و دومین دیگری که می خواهید با آن ارتباط داشته باشید ، تعریف نشده است ( و یا لزومی به تعریف وجود ندارد ).به شکل زیر دقت کنید:
بعد از اینکه رابطه تراست بین دومینی در داخل فارست با دومینی در خارج از فارست ایجاد شد،Security Principal ها از دومین خارج از دومین قادر به دسترسی به منابع موجود در دومین داخل فارست می شوند.خوب حالا این Security Principal ها چی هستند ؟! Security Principal ها می توانند Users ، Groups ، Computers یا Services از دومین خارجی باشند. در واقع اونها Account Holder هایی هستند که به هرکدوم به طور اتوماتیک یک SID جهت کنترل دسترسی به منابع دومین اختصاص داده میشود.
اکتیودایرکتوری در دومین داخل فارست، Security Principle های خارجی رو ایجاد خواهند کرد ،این یعنی Security Principleهای خارجی به راحتی قابل شناسایی هستند.شما میتوانید از این Security Principleها در Local Groupهای دومین استفاده کنید،از اینرو اعضای جدید مورد اعتماد از خارج فارست خواهند توانست به منابع داخلی دومین دسترسی پیدا کنند.Security Principle های خارجی در کنسول Active Directory Users and Computers قابل مشاهده هستند.به دلیل اینکه اکتیودایرکتوری آنها را به صورت اتوماتیک ایجاد میکند،شما نباید تغییری در آنها به وجود آورید.
Shortcut Trustها در اصل Transitive هستند و میتوانند یک طرفه یا دوطرفه نیز باشند.از این نوع تراست زمانی استفاده می شود که یک کاربر در یک دومین نیاز به دسترسی به منابع دومین دیگری داشته باشد.Shortcut Trust ها بنا بر نیاز و سیاستهای حاکمه میتوانند یک طرفه یا دوطرفه تعریف شوند.با استفاده از این نوع تراست مسیر مربوط به احراز هویت کاربران کوتاه میشود،چرا که دیگر برای دسترسی به منابع دومین دیگری نیازی نیست ابتدا به دومین Parent و یا Root رفته و سپس در دومین مقصد احراز هویت صورت گیرد.
این تراست در سازمانها یا مجموعه هایی که بزرگ هستند و از چندین دومین و Tree تشکیل شده اند بسیار مورد کاربرد و استفاده است.یکی از موارد استفاده از این نوع تراست این است: فرض کنید دو دومین A و B از Subdomain های مختلفی تشکیل شده اند.شما میخواهید بین Edu.A دومین و Info.B دومین رابطه تراست برقرار شود.از اینرو بهترین انتخاب شما Shortcut Trustمیباشد.
یکی از نگرانیهای امنیتی که در رابطه با تراست میتواند وجود داشته باشد Malicious User ها هستند .این کاربران افرادی هستند که با ایجاد دسترسی هایAdministrator ای در دومین های مورد اعتماد،شروع به Sniff یا به طور عامیانه شنود به اطلاعات رد و بدل شده می کنند.با این دسترسی که این کاربران دارند می توانند برای خود SID مقبول در دومینهای قابل اعتماد ایجاد کنند تا بتوانند دسترسی کامل به منابع آن دومینها داشته باشند.
به این نوع از تهدیدات اصطلاحا Elevation Of Privilege Attack می گویند.خوب مکانیزمی که ویندوز سرور 2003 و 2008 جهت مقابله با این نوع تهدیدات به کار میگیرد SID Filtering است. SID Filtering تایید میکند که آیا درخواستهای احراز هویت رسیده شده از دومینهای مورد اعتماد تنها شامل SIDهای مربوط به آن دومینها میباشند یا خیر؟ این کار با استفاده ازخصوصیت SID History در Security Principle مورد استفاده قرار میگیرد.
همانطور که پیشتر در مورد آن صحبت شد Security Principle شامل Object های درون اکتیودایرکتوری می شود،مثل Users ، Groups و ... . SID Filtering از SID های دومین برای تایید هر Security Principle استفاده میکند. بدین صورت که اگر یک Security Principle دارای یک SID Domain تکراری بود، SID Filtering درخواست آن SID را حذف خواهد کرد. این باعث میشه که Malicious Userها نتوانند جهت دسترسی به منابع دومینهای مورد اعتماد،دسترسی های خود را در دومین افزایش دهند .
کارشناس شبکه و مجازی سازی
کارشناس شبکه و مدیریت شبکه های مایکروسافتی ، دارای مدارک MCITP ، CCNA و VCP و علاقمند به مجازی سازی و توسعه شبکه های مجازی مبتنی بر VMware می باشم .
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود