فهرست مطالب این مقاله:
در این مقاله، چرخهی طبیعی کاربران اکتیو دایرکتوری، از ساخت و اعمال تغییرات تا گزارشگیری و حذف، را به همراه چگونگی انجام آن بررسی میکنیم. همچنین راهکار بهینه و مطمئن برای مدیریت کاربران در اکتیو دایرکتوری را نیز ارائه خواهیم داد.
چکیده
مدیریت حسابهای کاربری که از مهمترین اشیاء و اجزای اکتیو دایرکتوری به حساب میآیند نیازمند دقت و رعایت اصول خاصی میباشد. شناخت چرخهی حیات حسابهای کاربری و تمام مواردی که باید در طول حیات حساب کاربری از زمان ساخت و حذف آن در نظر گرفته شود از اهمیت بالایی برخوردار است. در این سند قصد بررسی چرخهی حیات حسابهای کاربری را داریم. همچنین امکانات پیشفرض ویندوز که برای مدیریت حسابهای کاربری در دسترس مدیران شبکه است را بررسی خواهیم کرد و نشان خواهیم داد که چگونه نرمافزارهای مدیریت اکتیو دایرکتوی مانند برنا میتواند مدیریت حسابهای کاربری را کارامدتر، سریعتر و ایمنتر سازد.
چرخهی حیات حسابهای کاربری
تمام مدیران شبکه از چگونگی کار با اکتیو دایرکتوری در خصوص حسابهای کاربری از ساخت آنها تا حذف آنها آگاهی کامل دارند. آنچه که اکثر مدیران شبکه از آن اطلاع کاملی ندارند فرایند مدیریت چرخهی حیات حسابهای کاربری میباشد. شکل 1 مواردی را که برای مدیریت حسابهای کاربری از زمان ساختشان تا زمان حذفشان لازم میباشد را نشان میدهد. هر بخش شامل جزئیات فراوانی است که به سادگی ممکن است در بینابین کارهای روزانه فراموش شود. از این رو استفاده از راهکاری جامع جهت هدایت و سادهسازی این فرایندها ضروری است.
مدیران شبکه به خوبی با ابزارهای پیشفرض مدیریت اکتیو دایرکتوری ویندوز مانند Active Directory Users and Computers، Active Directory Domains and Trusts و همچنین ابزارهای دیگر که برای مدیریت DNS، DHCP و غیره کاربرد دارد آشنایی دارند. در ویندوز ابزارهای پیشرفتهتری مانند PowerShell که تنها افراد خبره با آن آشنایی دارند نیز وجود دارد که گاهاً برای انجام امور پیچیدهتر از آن استفاده میشود. با این همه، هیچ یک از این ابزارها به طور متمرکز جهت تسهیل فرایند مدیریت کاربران طراحی نشدهاند. برای درک بهتر این موضوع، در ادامه تمامی موارد پرکاربرد در مدیریت کاربران را در اکتیو دایرکتوری مورد بررسی قرار خواهیم داد.
شکل 1. چرخهی حیات حسابهای کاربری
چالشهای موجود مدیریت کاربران در اکتیو دایرکتوری
همانطور که اشاره کردیم، حسابهای کاربری چرخهی مشخصی را زمان حیاتشان طی میکنند که در طول آن مدیران شبکه باید موارد متفاوتی را بر روی آنها اعمال کنند (مانند ساخت، غیرفعالسازی، تغییر پسورد و غیره). در این بخش نتها تعداد کمی از این موارد را بررسی خواهیم کرد و روش انجام آنها را با ابزارهای پیشفرض ویندوز نشان خواهیم داد.
ساخت کاربران
در ویندوز ابزاری که اکثر مدیران و کارشناسان برای ساخت حسابهای کاربری از آن استفاده میکنند، Active Directory Users and Computers نام دارد. این ابزار برای مشاهدهی کلی یک دامین و ساختار OUها و چگونگی سازماندهی آنها طراحی شده است. ساخت حساب کاربری با این ابزار بسیار ساده میباشد. اما، این سادگی در بسیاری از موارد مشکلساز است.
در شکل 2 پنجرهای را مشاهده میکنید که در هنگام ساخت کاربران نمایش داده میشود. همانطور که مشاهده میکنید، به دلیل محدودیتهای schema و user creation wizard، تنها تعداد بسیار کمی از صفات کاربران در این پنجره قابل مقداردهی است. عدم انعطافپذیری ویندوز در مواردی که در پنجرهی ساخت کاربران نشان داده میشود برای بسیاری از سازمانها دردسرساز است.
برای مثال، در بسیاری از سازمانها صفاتی مانند کد پرسنلی، شماره تلفن، مسیر local path و فیلدهایی نظیر این ضروری میباشند و سازمانها برای حفظ جامعیت دادههایشان واحد IT را موظف به مقداردهی این فیلدها میکنند. آیا میتوان این سیاست را با ابزارهای ویندوز پیادهسازی کرد؟ به عبارت دیگر، آیا میتوان کارشناسی که در حال ساخت حساب کاربری است را از خالی گذاشتن فیلدهای مذکور منع کرد؟ به طور کلی و با امکانات پیشفرض ویندوز خیر. در حقیقت به طور محدود و بسیار پیچیده میتوان فیلدهایی که در پنجره ساخت کاربر نشان داده میشوند را تغییر داد، اما این امر نیاز به تخصص و مهارت بالای برنامهنویسی و دانش اکتیو دایرکتوری دارد.
به روشنی قابل درک است که کارشناسانی که با انواع درخواستها در روز مواجه هستند، تنظیم فیلدهای ضروری را پس از ساخت کاربر فراموش کنند. خصوصاً اگر تعداد زیادی کاربر همزمان ساخته شود، کارشناس باید مجدداً تمام آن کاربران را تکتک انتخاب کند و موارد ضروری را برای آنها تنظیم کند که هم سربار کاری و هم احتمال فراموش کردن تنظیم صفات برخی کاربران را بالا خواهد برد.
شکل 2. پنجرهی ساخت کاربران در ویندوز
ساخت گروهی کاربران
هنگامی که ساخت کاربران باید به صورت گروهی صورت گیرد، دیگر ابزار Active Directory Users and Computers کارساز نخواهد بود، مگر آنکه کارشناس مربوطه تمایل به افزودن دستی تمام حسابهای کاربری را داشته باشد! فرض کنید که واحد HR سازمان شما، یک فایل CSV شامل 100 کارمند جدید با مشخصات نام، نام خانوادگی، حساب کاربری و مواردی دیگر را به واحد IT ارائه دهد. با فرض عملی بودن سپردن این کار به یک کارشناس تا تمام این اطلاعات را به صورت دستی برای ساخت کاربران وارد اکتیو دایرکتوری کند، درصد خطا و اشتباه طبیعتاً بالا خواهد بود.
سوالی که پیش میآید این است که آیا هیچ ابزاری برای انجام این کار در ویندوز وجود ندارد؟ حقیقتاً، ابزاری به نام CSVDE در ویندوز وجود دارد که میتوان به آن یک فایل CSV حامل نام کاربری و دیگر صفات را معرفی کرد تا کاربران را در اکتیو دایرکتوری بسازد. پس ایراد کار کجاست؟ اولا این ابزار هیچ واسط کاربری گرافیکی ندارد. دوماً، هیچ پیام تایید یا موفقیت یا عدم موفقیت ظاهر نخواهد شد. در حقیقت شما هیچ مکانیزمی برای شناسایی عملیات ناموفق و دلیل آن نخواهید داشت. در نتیجه، در نهایت باید به صورت دستی از ساخت چنین کاربرانی در اکتیو دایرکتوری اطمینان حاصل کنید. شما همچنین میتوانید از ابزار PowerShell برای ساخت کاربران استفاده کنید. اما، این ابزار نیز محدودیتهایی مشابه با همان CSVDE دارد.
اعمال تغییرات در کاربران
بسیاری از موارد ساده، خصوصاً زمانی که باید بر روی تعدادی کاربر خاص اعمال شود دراکتیو دایرکتوری بسیار طولانی و پیچیده خواهد شد. برای مثال فرض کنید که به دلیل چند نقص امنیتی در سیستمهای شما، این شبه ایجاد شده است که رمز عبور کاربران چندین گروه خاص افشا شده است. در چنین حالتی، بهتر است سریعاً رمز عبور تمام این کاربران ریست شود و آنها رمز عبور جدیدی را انتخاب کنند. اما عملاً ریست کردن رمز چندین کاربر با ابزارهای پیشفرض اکتیو دایرکتوری امکانپذیر نیست. برای چنیی کاری نیاز به نوشتن اسکریپت هستید. در صورت نوشتن چنین اسکریپتی، شما باز هم با مشکلاتی مواجه خواهید بود. برای مثال اینکه پسورد کاربران را چه میگذارید بسیار مهم است. اگر پسوردها به صورت تصادفی انتخاب شوند، هیچ تضمینی نخواهد بود که آنها سیاستهای امنیتی رمزعبور که توسط Group Policy اعمال میشود را رعایت کنند. همچنین اگر پسوردها غیر تصادفی باشد، ریسک امنیتی را بسیار بالا خواهد برد. این مشکلات توسط برنا به سادگی قابل حل است. شما میتوانید ابتدا گزارشی از کاربران این گروهها تهیه کنید و سپس رمز عبور تصادفی بر مبنای سیاستهای امنیتی بسازید که با کمتر از چند کلیک امکانپذیر خواهد بود.
گزارشگیری در اکتیو دایرکتوری برای مدیریت کاربران در اکتیو دایرکتوری
گزارشگیری در هر سطح و کیفیتی، توسط ابزارهای با واسط کاربری گرافیکی مانند Active Directory Users and Computers عملاً غیرممکن است. هر چند افراد خبره و با تجربه، با صرف زمان کافی، میتوانند با استفاده از VBScript و PowerShell گزارشاتی را تهیه کنند، این گزارشات به طور پیشفرض در دسترس نیستند. لازم به ذکر است که هزینه و زمان زیادی باید صرف تهیه این گزارشات شود و در مواردی که به دلیل اختلالات و شرایط بحرانی شبکه، نیاز به تهیهی فوری این گزارشات است، عملاً فرایند طولانی اسکریپت نویسی مناسب نخواهد بود.
برای درک پیچیدگی گزارشگیری، نمونه کدی که باید در PowerShell نوشته شود تا فقط نام کاربری کاربرانی که حساب کاربری آنها مسدود شده است در زیر نشان داده شده است. این اسکریپت شامل چندین دستوالعمل است که فقط افراد خبره توانایی نوشتن آن را دارند و نیاز به تسلط برنامه نویسی و شناخت ساختار نگهداری اطلاعات در اکتیودایرکتوری دارد.
$adsiSearcher = New-Object DirectoryServices.DirectorySearcher("LDAP://rootdse") $adsiSearcher.filter = "ObjectCategory=User" $adsiSearcher.findAll() | ForEach-Object ` -Begin ` { "Locating locked out User accounts ..." $UserCount = 0 } ` -Process ` { If(([adsi]$_.path).psbase.invokeGet("IsAccountLocked")) { ([adsi]$_.path).DistinguishedName + " is locked out" $UserCount ++ } } ` -End ` { "There were $userCount locked out User Accounts." }
پاک کردن کاربران و مشکلات امنتی بالقوهی آن
هنگامی که فردی از یک سازمان خارج شده و قطع همکاری میکند، حذف یا غیرفعالسازی حساب کاربری آن از لحاظ امنیتی بسیار حائز اهمیت میباشد. هرچند حذف و غیرفعالسازی کاربران با ابزارهای پیشفرض ویندوز کار چندان سختی نیست، اما مدیریت و نظارت بر چنین مواردی تقریباً غیرممکن است. برای مثال، یک مدیر شبکهی جدید، چگونه میتواند گزارشی از آخرین فعالیت کاربران داشته باشد تا بر اساس آخرین لاگین آنها از کاربرانی که سازمان را ترک کردهاند مطلع شود؟ در عمل، در اکثر سازمانها، پس از گذشت چند سال، تعداد حسابهای کاربری (مرتبط با افراد خارج شده از سازمان) که حذف نشدهاند و یا غیرفعالسازی آنها فراموش شده است به قدری میرسد که در برخی موارد تعداد آنها از کارمندان جاری سازمان بیشتر میشوند. این امر نه تنها مدیریت، پشتیبانگیری و نظارت را سختتر و پیچیدهتر میکند، خطرات امنیتی بالقوهای نیز به همراه خواهد داشت.
برنا
بسیاری از موارد چالشبرانگیز و پیچیده در رابطه با مدیریت کاربران در اکتیو دایرکتوری، به سادگی چند کلیک در نرمافزار مدیریت اکتیو دایرکتوری برنا انجامپذیر است. برنا نه تنها موارد ساده ولی زمانگیر در اکتیو دایرکتوری را سادهتر و سریعتر کرده است، مواردی که با ابزارهای پیشفرض مانند Active Directory Users and Computer غیر ممکن است را نیز عملی ساخته است. در ادامه به بررسی تعداد کمی از ویژگیهای برنا که در خصوص مدیریت کاربران سودمند میباشند را بررسی خواهیم کرد.
ساخت کاربران با استفاده از الگوی ساخت کاربر
یکی از سیاستهای کلیدی که در سازمانها بسیار حائز اهمیت است و در بخشهای قبل به آن پرداختیم این است که سازمانها برای حفظ جامعیت دادههای خود، از مدیران شبکه میخواهند تا تمام فیلدهای ضروری را در هنگام ساخت کاربر مقداردهی کنند تا کاربری بدون اطلاعات ضروری در اکتیو دایرکتوری وجود نداشته باشد. همانطور که دیدید، روشی اصولی و قابل اتکا در ویندوز برای حصول اطمینان از اجرای این سیاست وجود ندارد. نرمافزار برنا، به کمک ویژگی انعطافپذیری به نام الگوها این امر را ممکن میسازد. الگوها که خود به دو دستهی الگوهای کاربران والگوهای کامپیوترها تقسیم میشوند، امکان ساخت صفحهای دلخواه با صفات دلخواه و مقادیر پیشفرض را به مدیران شبکه میدهد. همچنین میتوان فیلدهایی را ضروری و یا غیرقابل تغییر کرد. بر این اساس، اگر فیلدهای ضروری مقداردهی نشوند، کاربر جدید ساخته نخواهد شد که به کمک این ویژگی میتوان سیاست سازمان را به طور کامل پیادهسازی کرد.
شکل 3. ساخت الگوی کاربری در برنا
ساخت گروهی کاربران و مدیریت کاربران در اکتیو دایرکتوری
در برنا شما به راحتی میتوانید با معرفی یک فایل CSV که شامل صفات مورد نظر شما است، تعداد زیادی حساب کاربری را یکجا ایجاد نمایید. در سازمانها متوسط و بزرگ، درخواست ساخت حساب کاربری توسط واحد HR به واحد IT اعلام میشود. از آنجا که این اطلاعات باید در بایگانی یا سیستم HR ذخیره شود، در بسیاری از موارد واحد HR خود نیز این اطلاعات را به صورت فایلی متنی (CSV) در اختیار واحد IT میگذارد. در حقیقت وارد کردن اطلاعات به صورت دستی در اکتیو دایرکتوری دوبارهکاری محسوب میشود. از این راه حل منطقی و اصولی، استفاده از ابزاری است تا بر اساس اطلاعات موجود در فایل تهیه شده توسط واحد HR حسابهای کاربری در اکتیو دایرکتوری به صورت خودکار و در کوتاهترین زمان ایجاد نماید. این کار به سادگی و با چند کلیک در برنا امکانپذیر است.
اعمال تغییرات خودکار (اتوماسیون فرایندها)
نرخ تغییرات در سازمانهای متوسط و بزرگ به حدی است که اغلب به خاطر سپردن اعمال آنها در اکتیو دایرکتوری توسط مدیر شبکه غیرممکن است. مواردی مانند، ارتقاء شغلی، استخدام رسمی، تبدیل کارآموز به کارمند، تغییر کارمند تماموقت به کارمند قراردادی و غیره از مواردی است که بر اثر آن، تغییراتی در سطح دسترسیها و صفات آن کاربر باید ایجاد شود. این تغییرات که اغلب در تاریخ معینی باید اعمال شوند و از هفتهها قبل پیشبینی میشوند، گاهاً در اثر گذر زمان به دست فراموشی سپرده میشوند. حال آنکه اگر امکان زمانبندی این نوع تغییرات وجود داشته باشد، مدیران شبکه دیگر نگران به خاطر سپردن آنها نخواهند بود. برنا با فراهم کردن فرایند خودکارسازی، زمانبندی چنین کارهایی را برای مدیر شبکه ممکن میسازد.
تهیه گزارشات و مدیریت کاربران در اکتیو دایرکتوری
در نرمافزار برنا، بیش از 20 گزارش گوناگون وجود دارد که به طور مستقیم یا غیرمستقیم برای مشاهده یا مدیریت کاربران میتواند مورد استفاده قرار گیرد. این گزارشها در ابزارهایی مانند Active Directory Users and Computers وجود ندارند و برای استخراج آنها مهارت بالای اسکریپت نویسی لازم است. این گزارشات نه تنها مدیریت کاربران را ساده میکند، بلکه اطلاعات جامع و کامل آن، باعث تغییر و بهبود چشمانداز مدیریتی و همچنین ارتقاء سطح امنیت اکتیو دایرکتوری میشود.
برای مثال در برنا، شما میتوانید فهرست کاملی از کاربرانی که به تازگی فعالیت نداشتهاند را مشاهده کنید. مثلا مشخص کنید که کاربرانی که بیش از 30 روز است که فعالیت نداشتهاند نمایش داده شوند. اهمیت این گزارش در پیادهسازی سیاستهای امنیتی خود را نشان میدهد. این گزارش در حقیقت نمایشدهندهی کاربرانی است که از سازمان خارج شدهاند و حساب کاربری آنها هنوز وجود دارد. شما میتوانید به سادگی با چند کلیک تمام این کاربران را غیرفعال کنید و از خطرات بالقوه امنیتی در این خصوص در امان باشید. به عنوان نمونهای دیگر شما میتوانید تمام کاربرانی که رمز عبور آنها تاریخ انقضا ندارد را مشاهده کنید و بر اساس سیاست سازمان برای آنها تصمیمگیری کنید.
شکل 4. گزارش اکانتهایی که به تازگی فعالیت نداشتهاند در برنا
گزارشهای برنا محدود به این چند نمونه نمیشود، ولی بررسی تمام آنها نیازمند چندین صفحه مطلب میباشد. با وجود این، تمام کسانی که چندین سال تجربهی کار با اکتیو دایرکتوری را دارند به خوبی ارزشمند بودن این گزارشات را درک میکنند. برای مشاهده لیست کامل این گزارشات به لینک گزارشهای برنا مراجعه کنید.
تفویض اختیار در امور مربوط به کاربران
هر چند امکان تفویض اختیار در اکتیو دایرکتوری وجود دارد، تمام مدیرانی که در عمر سازمان خود تجربهی تفویض اختیار را داشتهاند، به دلیل مدیریت بسیار دشوار آن، از پیادهسازی آن اجتناب میکنند. هر چند تفویض اختیاری خاص بر روی یک OU بسیار ساده است، اما مشاهده، نظارت و گزارشگیری از آنها تقریباً در اکتیو دایرکتوری غیرممکن است. برای مثال اگر چند سال از عمر یک سازمان بگذرد و یک مدیر بخواهد کاربرانی که به آنها اختیاری تفویض شده است را شناسایی کند با چالشی دشوار روبهرو خواهد بود. حتی مشاهدهی اختیاراتی که تنها به یک کاربر داده شده است نیز نیاز بررسی کل ساختار سازمانی دارد (این امر با مهارت بالای اسکریپتنویسی امکانپذیر است). از این رو اکثر کاربران اکتیو دایرکتوری به دلیل پیچیدگیها و مشکلات مدیریتی بالقوهی تفویض اختیار، از این ویژگی مهم کاربردی صرفهنظر میکنند و یا از آن با احتیاط و به طور کاملا محدود استفاده میکنند.
نرمافزار مدیریت اکتیو دایرکتوری برنا، با ایجاد یک واسط بین کارشناسان و مدیران شبکه با اکتیو دایرکتوری، تمام پیچیدگیهای تفویض اختیار را از دید کاربر پنهان میکنند. شما میتوانید در برنا، نقشهایی را به دلخواه تعریف کنید و بر اساس آن به هر نقش اختیارات و سطح دسترسیهایی دهید. سپس میتوانید مشخص کنید که هر کارشناس از کدام یک از این نقشها، در چه دامین و OUای میتواند استفاده کند. امکان مدیریت و گزارشگیری در برنا بسیار ساده و دقیق بوده و نگرانیها و پیچیدگیهای حاصل از استفاده از تفویض اختیار در اکتیو دایرکتوری را به طور کامل رفع میکند. شکل 5 صفحه مدیریت مجوزها را نشان میدهد که در آن شما میتوانید مجوزهای هر نقش را تعیین کنید.
شکل 5. مدیریت مجوزها در برنا
پاک کردن کاربران با برنا
معمولاً هنگامی که یک کاربر از سازمان خارج میشود، توصیه میشود تا حساب کاربری آن غیرفعال شود و در یک OU جداگانه نگهداری شود. معمولاً پس از گذشت مدت زمانی این حسابهای کاربری به طور کامل از اکتیو دایرکتوری پاک میشوند. در مورد خروج افراد از سازمان، دو سناریو ممکن است به وقوع بپیوندد:
ممکن است شما بر اساس قرارداد کارمندان، تاریخ اتمام و در نتیجه خروج آنها را از سازمان از پیش بدانید. در صورت استفاده از ویژگی اتوماسیون فرایندهای برنا، شما در حقیقت عمل غیرفعال کردن و انتقال به OU دیگر را در زمان ساخت کاربر زمانبندی کردهاید و دیگر نیاز به نگرانی دربارهی این موضوع نخواهید داشت.
اگر هم از زمان خروج کاربر از پیش مطلع نیستید، در زمان غیرفعالسازی و انتقال آن، میتوانید از حذف آن در زمانی خاص توسط اتوماسیون فرایندها اطمینان حاصل کنید.
همانطور که میبینید، در هر دو حالت، حذف و غیرفعالسازی کاربران در برنا سادهتر و مطمئنتر است.
نتیجهگیری
هر چند اکتیو دایرکتوری یک سرویس دایرکتوری بسیار قدرتمند میباشد، ابزارهای پیشفرض ویندوز برای کار با اکتیو دایرکتوری، نوعاً برای مدیریت جامع حسابهای کاربری طراحی نشدهاند. از این رو بسیاری از نیازمندیهای اولیه که برای مدیران شبکه بسیار ارزشمند است در ابزارهای ویندوز موجود نیست. برای رفع این نیازها، مدیران شبکه باید دانش اسکریپت نویسی، برنامهنویسی، PowerShell و ساختار داخلی اکتیو دایرکتوری را داشته باشند که در عمل رسیدن به چنین سطحی از دانش بسیار وقتگیر و هزینهبردار خواهد بود. از این رو استفاده از نرمافزارهای مدیریت اکتیو دایرکتوری مانند برنا به عنوان راهحلی منطقی و مقرون به صرفه توصیه میشود.