محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

Windows Domain چیست؟ بررسی مفهوم Windows Domain

 در این مقاله به تشریح ساختار و ساختمان دامنه های ویندوزی یا Windows Domains می پردازیم. در این مقاله با معرفی ساختار و ساختمان Domain های ویندوزی را ادامه میدهیم .همانطوری که در قسمت پنجم از این سری مقالات اشاره کردم ، Domain ها چیز چندان جدیدی نیستند .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

مایکروسافت در اصل در ویندوز سرور NT آنها را به عرصه شبکه وارد کرد . در اصل Domain ها بصورت کاملا خود مشمول ( همه چی تو خودش ) فعالیت میکردند به این صورت که یک domain به تنهایی تمامی حسابهای کاربری یک شرکت را در درون خود نگهداری میکرد و مدیر Domain به تمامی این حسابهای کاربری و هر چیزی که در آنها موجود بود دسترسی کامل پیدا میکرد .

پیشنیاز یادگیری و راه اندازی دامین های ویندوزی ، یادگیری دوره آموزش نتورک پلاس برای درک مفاهیم است

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

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

مایکروسافت با ایده ای به نام Trust یا اعتماد برای رفع این مسئله به روی کار آمد . بهترین مقایسه ای که بخواهیم از سیستم Trust در این مثال استفاده کنیم مقایسه آن با سیستم امنیت پرواز فرودگاه است.در ایالات متحده آمریکا مسافرین پروازهای محلی برای اینکه بتوانند وارد هواپیما شوند بایستی گواهینامه رانندگی خود را به مامورین امنیت فرودگاه ارائه دهند .

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

خوب من هم با نشان دادن گواهینامه رانندگی خود میتوانم از دروازه های ورودی فرودگاه عبور کرده و به هواپیما سوار شوم ، آنها به من بصورت شخصی اعتماد نمیکنند اما به مرکزی که این گواهینامه را برای من صادر کرده است اعتماد دارند و بر حسب همان اعتماد به من نیز اعتماد کردند . اعتماد یا Trust در Domain ها نیز به همین شکل است . فرض کنید که من مدیر Domain ای هستم که کاربران سایر Domain ها نیاز دارند به منابع داخلی Domain من دسترسی پیدا کنند .

اگر من در Domain مقصد به عنوان مدیر سمتی نداشته باشم نمیتوانم به کاربران و یا منابع دسترسی های لازم برا ی ورود به سیستم ها و دسترسی به منابع را بدهم . اگر من به مدیر Domain خارجی اعتمادی دارم و میدانم که کار احمقانه ای بر روی Domain من انجام نمیدهد به آنها این دسترسی را میدهم که بتوانند از منابع موجود در شبکه Domain من دسترسی پیدا کنند .

در اینگونه موارد دامین من که به دیگر دامین ها اعتماد گرده است را به اصطلاح Trusting Domain یعنی دامینی که اعتماد کرده است و دامنین هایی را که به دامین من وارد شده و من به آنها دسترسی و اعتماد کرده ام را Trusted Domain یا دامنی های مورد اعتماد واقع شده نامگذاری می کنیم .

( سخت نیست مفهومشو بگیرید ) . در مقاله دومین کنترلر چیست؟ اشاره کردم که Domain Controller ها وظیفه احراز هویت یا Authentication را بر عهده دارند و نه تعیین حدود اختیارات یا Authorization را . این مفهوم حتی با ایجاد کردن اعتماد بین دامین ها نیز همچنان صادق است .

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

برای اینکه بتوانید یک دومین ویندوزی کامل راه اندازی کنید ، یادگیری دوره آموزش MCSA مایکروسافت الزامی است

در ابتدای همین مقاله به این موضوع اشاره کردیم که دامین های تحت ویندوز NT یک ساختار خود مشمول ( همه چی مال خود ) هستند که به وسیله قابلیتی به نام اعتماد با Trust این امکان رو به آن میدهیم که بتواند از منابع سایر دامین های ویندوزی استفاده کنند و یا به کاربران سایر دامین ها اجازه استفاده از منابع داخلی شبکه رو بدند . همین مفاهیم امروزه هم در قالب شبکه های کامپیوتری مورد استفاده قرار میگیرد اما مدل دامین با وارد شدن و معرفی شدن سرویسی به نام اکتیودایرکتوری از سوی مایکروسافت کاملا متحول شد .

اگر در خاطرتون باشد اکتیودایکرکتوری برای اولین بار در سال 2000 و در قالب ویندوز سرور 2000 شرکت مایکروسافت ارائه شد و هم اکنون و با وجود ویندوزهای سرور 2003 و 2008 همچنان با قدرت به فعالیت خود در شبکه ادامه می دهد . یکی از مهمترین تفاوت هایی که دامین های ویندوز NT با ساحتار اکتیودایرکتوری دارد این است که در اکتیودایرکتوری دیگر دامین ها بصورت کاملا ایزوله و جدا از هم مدیریت نمیشوند .

در ویندوز NT واقعا هیچگونه طبقه بندی سازمانی در کار نبود و هیچ ساختار سازمانی قابل تعریف نبود و هر دامنه کاملا مجزا از دامنه های دیگر کار میکرد . در محیط اکتیودایرکتوری اصلی ترین ساختار سازمانی به عنوان جنگل یا بهتر است بگوییم Forest شناخته می شود . یک Forest میتواند چندین دامین زیر مجموعه یا به اصطلاح Tree یا درخت داشته باشد .

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

Windows Domain چیست؟ بررسی مفهوم Windows Domain

ساختار اکتیودایرکتوری از ساختار نامگذاری DNS برای نامگذاری ساختار درختی خود استفاده میکند که چیزی شبیه به همان ساختار نامگذاری است که توسط وب سایت ها مورد استفاده قرار میگیرد . در قسمت سوم از این سری مقالات من در خصوص DNS سرور و چگونگی تبدیل اسم به آدرس IP توضیح داده ام . همان تکنیک ها برای ساختار اکتیودایرکتوری بصورت داخلی مورد استفاده قرار میگیرد. یک لحظه در مورد این موضوع فکر کنید ! DNS مخفف کلمه Domain Naming Service است .

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

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

tosinso.com به عنوان ریشه دامین یا بهتر بگوییم بالاترین سطح دامین ( Top Level ) ما شناخته می شود .اما اگر دی اینترنت بودید tosinso.com دیگر بالاترین سطح دامین نبود و .com به عنوان بالاترین سطح دامین در نظر گرفته میشد و tosinso.com در رده دوم و زیر مجموعه .com ها قرار می گرفت و به عنوان دامین فرزند شناخته می شد . با توجه به این تفاوت اصلی در این میان ، تمامی مفاهیم اصلی در این میان یکسان است .

من براحتی با ایجاد یک دامین فرزند یا Child که از اسم tosinso.com گرفته شده است می توانم یک Child Domain یا دامین فرزند ایجاد کنم . برای مثال edu.tosinso.com به عنوان دامین فزرند tosinso.com شناخته می شود . شما همچنین میتوانید دامین های نوه ( Grandchild) نیز ایجاد کنید برای مثال contact.edu.tosinso.com به عنوان دامین نوه یا Grandchild Domain برای دامین tosinso.com شناخته می شود .

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

اما یادتان باشد که شما هیچ محدودیتی برای ایجاد درخت های زیاد در این ساختار ندارید و براحتی میتوانید بیش از چندین ساختار tree داشته باشید . مثلا دامین tosinso.com شامل چندین دامنه و درخت است و tosinso.com و Devhandler.net جزوی از این ساختار جنگل محسوب می شوند که هیچ محدودیتی برای تعداد آنها وجود ندارد . tosinso.com دامینی است که بیشتر در زمینه مباحص شبکه و امنیت فعالیت میکند و Devhandler.net دامینی است که در زمینه برنامه نویسی و توسعه نرم افزارفعالیت میکند . هر کدام از این دامنه ها نیز برای خود آدرس ایمیل و سرورهای خاص خود را دارند .

زیبایی این ساختار این است که تمامی این دامین ها در قالب یک Forest یا جنگل مشترک فعالیت می کنند . هر کدام از دامین ها میتواند توسط یک مدیر شبکه بصورت مجزا مدیریت و نگهداری شود اما در نهایت این مدیر کل یا بهتری بگوییم Enterprise Forest Administrator است که بر روی تک تک دامین ها بصورت مرکزی میتواند مدیریت داشته باشد و آنها را مدیریت کند در حالی که عملیات های پشتیبانی و نگهداری سیستم اکتیودایرکتوری Delegate یا تقسیم وظیفه شده است .

ساختار اعتماد یا Trust نیز بصورت پیشفرض ایجاد شده و بسیار بسیار ساده تر از ساختار قبلی است ، این طبیعی است که پدر به پسر و نوه به پدر و برعکس اعتماد پیشفرض داشته باشند که در اینجا هم همینطور است و دامین های Child و بالاتر به هم اعتماد دارند و میتوانند از منابع همدیگر استفاده کنند و در صورتیکه بخواهند از منابع Forest یا دامین دیگر نیز استفاده کنند این اعتماد براحتی شکل میگیرد .


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات