یکی از موارد مهمی که مدیران شبکه و مهندسین زیرساخت با آن سرو کار دارند، پیاده سازی و مدیریت Identity Infrastructure (زیرساخت هویت ها) در شبکه است. هر object در شبکه اعم از کاربران و کامپیوترها دارای یک Identity (هویت) می باشند که هرکدام از این object ها برای استفاده از سرویس های شبکه می بایست مرحله authentication (احراز هویت) را طی کنند.
Microsoft Active Directory یک راهکار مناسب برای ایجاد Identity Infrastructure است و به عنوان یک سرویس دایرکتوری محبوب در دنیای فناوری اطلاعات توانسته است جایگاه برتر خود را از زمان پیدایش (Windows 2000) در بازار حفظ کند. اکتیودایرکتوری مایکروسافت تمام اطلاعات identity یک سازمان را در یک repository متمرکز ذخیره میکند و امکان مرتب سازی آنها را بر اساس یک ساختار سلسله مراتبی سازمانی فراهم میآورد. اکتیودایرکتوری در قالب یک سیستم authentication و authorization عمل میکند و از پروتکل ها و استانداردهای مختلفی برای اداره و محافظت از identity های ذخیره شده در دیتابیس مرکزی استفاده میکند.
ما در این مقاله سعی داریم مزایای استفاده از اکتیودایرکتوری مایکروسافت در شبکه های کامپیوتری را بررسی نماییم.
هر شرکت و سازمانی دارای یک ساختار یا چارت سازمانی مشخص می باشد. معمول ترین راه برای ایجاد چارت سازمانی، گروه بندی بر اساس مسئولیت ها و دپارتمانهای مختلف نظیر فروش، فناوری اطلاعات، تولید، تضمین کیفیت و … میباشد. هدف از ایجاد زیرساخت شبکه در یک سازمان فراهم آوردن بستری برای استفاده کاربران و پرسنل هر دپارتمان از منابع و امکانات سازمان نظیر اینترنت، پورتال سازمانی، نرم افزار اتوماسیون و … می باشد. اکنون که این زیرساخت فراهم شده است کاربران هر بخش با توجه به سمت و دانش و مهارتی که دارند میبایست براساس سطوح دسترسی تعیین شده به این منابع دسترسی داشته باشند تا بتوانند وظیفه خود را برای رسیدن به اهداف سازمان انجام دهند. به طور خلاصه “افراد مشخص در زمان مشخص می بایست به منابع مشخص دسترسی داشته باشند” . این امر در صورت وجود یک سرویس دایرکتوری در شبکه به آسانی محقق می شود. درحال حاضر سرویس های دایرکتوری مختلفی به بازار عرضه شده است از جمله Novell ، Oracle و Redhat اما سرویس Microsoft Active Directory محبوب ترین در دنیای فناوری اطلاعات و شبکههای کامپیوتری است که در زیر به برخی از مزایای آن اشاره می کنیم :
پایگاه داده مرکزی (Centeralized Data Repository) :
اکتیو دایرکتوری تمام اطلاعات هویتی کاربران، برنامه های کاربردی و منابع را بر روی یک دیتابیس multi-master ذخیره میکند. این دیتابیس به صورت یک فایل به نام ntds.dit و در قالب JET (Joint Engine Technology) که database engine توسعه یافته توسط مایکروسافت میباشد، شکل می گیرد. ایجاد تغییرات بر روی این دیتابیس که قابلیت ذخیره سازی 2 میلیارد object را دارد از طریق هر کدام از Domain Controller های دامین امکان پذیر است.
کاربران از هرجایی از شبکه می توانند به اطلاعات هویتی خود بر روی این دیتابیس دسترسی داشته باشند تا بتوانند با انجام فرآیند احراز هویت از منابع و امکانات شبکه استفاده نمایند. شاید برجسته ترین مزیت متمرکز بودن اکتیودایرکتوری روی یک پایگاه داده، برای ادمینهای شبکه باشد. با استفاده از اکتیودایرکتوری، مدیریت authentication و authorization برای مدیران شبکه بسیار آسان تر از حالتی است که اکتیودایرکتوری در شبکه وجود ندارد. چون در این حالت ممکن است تداخل و تکرار identity ها در شبکه به وجود بیاید.
– انعکاس اطلاعات (Replication of Data) :
بسیاری از سازمان ها دارای یک Domain Controller در شبکه می باشند اما زمانی که ساختار کمی پیچیده شود(زمانی که چندین شعبه در مناطق جغرافیایی مختلف داریم و یا سازمان ما از چندین شرکت زیر مجموعه تشکیل شده است) نیاز به Domain Controller های متعدد در شبکه داریم. همانطور که پیشتر گفتیم دیتابیس اکتیودایرکتوری متمرکز است، پس در صورت ایجاد تغییرات بر روی یک identity (به طور مثال تغییر کلمه عبور یک کاربر) این تغییرات می بایست بر روی تمام Domain Controller ها اعمال شود. به فرآیند تبادل اطلاعات و تغییرات بین Domain Controller ها Replication گفته می شود. این Replication می تواند به صورت ورودی (inbound replication) و خروجی (outbound replication) باشد. Replication بین Domain Controller ها می تواند به صورت زمان بندی شده (Scheduled) و تعیین شده بر اساس زیرساخت اکتیودایرکتوری باشد.
– در دسترس بودن (High Availability) :
امروزه مسأله در دسترس بودن برای بسیاری از سازمان ها امری بسیار مهم و حیاتی است. با توجه به ویژگی های متمرکز بودن دیتابیس و Replication بین DC ها، یک مکانیزم Fault Tolerance پیش فرض درون ساختار اکتیو دایرکتوری وجود دارد. به این ترتیب که برای ایجاد redundancy نیازی به استفاده کردن از نرم افزار یا سخت افزار خاصی نداریم و کاربران در هر زمان به هر Domain Controller که دسترسی داشته باشند می توانند از سرویس های آن بهرهمند شوند.
– امنیت (Security) :
با توجه به خطرات و تهدیداتی که ممکن است شبکه یک سازمان را دچار اختلال کند، فراهم کردن امنیت اطلاعات و هویت ها میبایست در دستور کار قرار گیرد. با استفاده از اکتیودایرکتوری میتوانیم مکانیزمهای مختلف authentication را پیاده سازی نماییم و از آنها برای احراز هویت نرم افزارها و سرویس های شبکه استفاده نماییم. قوانین امنیتی متنوعی را برای دپارتمان ها و بخش های مختلف در جهت حفاظت از اطلاعات و منابع وضع و اعمال کنیم. برای اعمال سیاست های امنیتی بهترین راه بهرهگرفتن از Group Policy در اکتیودایرکتوری است. با این روش می توانیم اشخاص را ملزم به رعایت سیاست های امنیتی سازمان نماییم.
– قابلیت های حسابرسی (Auditing Capabilities) :
محافظت از Identity Infrastructure تنها با پیاده سازی سیاست های پیشرفته امنیتی دست یافتنی نیست. با رسیدگی های دوره ای (Periodic Audits) می توان به تهدیدات امنیتی بالقوه در شبکه پی برد. اکتیودایرکتوری به شما این اجازه را می دهد تا Event ها در Identity Infrastructure را ذخیره و بررسی نموده و از آنها در راستای ارتقاء امنیت شبکه و رفع مشکلات کاربران در authentication و authorization استفاده کنید. Event ها می تواند مرتبط با احراز هویت کاربران، تغییرات سرویس دایرکتوری و یا دسترسی غیرمجاز باشد.
– Single Sign-on :
بسیاری از سازمان ها application های مختلفی را در شبکه خود استفاده می کنند که هر کدام از این application ها مکانیزم احراز هویت مختص به خود را دارد. در چنین حالتی مدیریت و رسیدگی به این مکانیزم ها و نگهداری از Credential های مربوطه کاری بس دشوار است. امروزه بسیاری از شرکت های نرم افزاری قابلیت integrate شدن با اکتیودایرکتوری را برای محصولات خود فراهم آورده اند، به طور مثال VMWare و Manage Engine شرکت هایی هستند که محصولات آنها این قابلیت را دارند و به وفور در شبکه های مدرن امروزی استفاده می شوند. بنابراین می توان از اکتیودایرکتوری برای ایجاد یک مکانیزم احراز هویت یکپارچه برای اکثر نرم افزارها و سیستم های غیر مایکروسافتی استفاده نمود.
– ایجاد تغییرات بر روی الگو (Schema Modification) :
هر گونه از دیتابیس دارای ساختار مختص به خود می باشد که به آن Schema می گویند. این مورد در خصوص دیتابیس اکتیودایرکتوری هم صدق می کند یعنی دیتابیس اکتیو دایرکتوری هم دارای یک Schema می باشد.این Schema تمام object های شبکه را توصیف می کند. با شناخت این Schema می توان بر روی آن تغییرات دلخواه را ایجاد کرده و یا آن را بسط و گسترش داد، که این مسأله برای توسعه دهندگان نرم افزارهای یکپارچه با اکتیودایرکتوری بسیار حائز اهمیت است. برای دسترسی به Schema در اکتیودایرکتوری، مایکروسافت ابزار ADSI (Active Directory Service Interfaces) را انتشار داده است.
– Querying and indexing :
با توجه به متمرکز بودن دیتابیس اکتیودایرکتوری، کاربران و نرم افزارها می توانند از object های آن گزارش گیری نمایند و از این گزارش اطلاعات دقیقی به دست آورند. به طور مثال اگر ما بخواهیم یک user account در اکتیودایرکتوری را بیابیم و اطلاعات و attribute های آن را به دست آوریم با انجام یک گزارش گیری (query) ساده می توانیم به اطلاعات مد نظرمان به راحتی دست پیدا کنیم.
همان طور که دیدید بسیاری از قابلیت های اکتیودایرکتوری نشأت گرفته از متمرکز بودن دیتابیس آن است. این متمرکز بودن سبب سهولت بسیاری از فرآیندها در مدیریت و پشتیبانی شبکه های کامپیوتری می شود.
موارد ذکر شده صرفاً اشاره کوچکی به ویژگی های اکتیودایرکتوری مایکروسافت بود. امید است در مقالات بعدی این ویژگی ها به تفصیل مورد بررسی قرار گیرد.