قفل شدن حساب Active Directory میتواند برای سازمانها بسیار مشکل ساز شود. موارد مستندی وجود دارد که مهاجمان از ویژگی قفل حساب در نوعی حمله انکار سرویس استفاده میکنند. با وارد کردن گذرواژههای نامناسب متعدد به عمد، مهاجمان میتوانند تمام کاربران را از دسترسی به حساب خود باز دارند.
توانایی سیستمعامل ویندوز در عیبیابی قفل شدن حسابها تا حدودی محدود است، اما مواردی وجود دارد که میتوانید انجام دهید. به عنوان مثال میتوانید از Windows PowerShell برای تعیین اینکه چه حسابهایی قفل شدهاند استفاده کنید.
دستور انجام این کار:
با تعیین پارامتر UsersOnly میتوانید جستجو را به حساب های کاربری محدود کنید، در حالی که دستور Select-Object لیست نتایج را فیلتر میکند تا فقط نام کاربر و نام حساب کاربری وی نمایش داده شود.
اگر متوجه شدید که حسابها قفل شدهاند، به چند روش میتوان قفل آنها را باز کرد.
با استفاده از این دستور میتوانید هربار یک حساب را باز کنید:
اگر میخواهید قفل حسابهای کاربری را به صورت عمده باز کنید، میتوانید این کار را با این دستور انجام دهید:
گرچه میتوانید هر زمان که خواستید قفل حسابهای کاربری را باز کنید ، اما به همان اندازه مهم است که بتوانید دلیل قفل شدن حساب ها را نیز بدانید. با استفاده از یک تغییر در دستور Search-ADAccount که در بالا با آن آشنا شدید میتوانید کمی از این مسئله مطلع شوید.
این دستور اطلاعات اضافی در مورد تمام حسابهای قفل شده را نمایش میدهد. با استفاده از این اطلاعات میتوانید بفهمید آخرین بار در چه زمانی کاربر وارد شده و آیا رمز ورود کاربر منقضی شده است یا خیر. از آنجا که این دستور میتواند دادههای زیادی را بازگرداند، نوشتن نتایج در یک فایل CSV برای شما مفید خواهد بود.
در اینجا مثالی از نحوه انجام این کار آورده شده است:
با عیبیابی Active Directory با استفاده از ابزارهای بومی ویندوز می توانید کارهای بیشتری انجام دهید، اما برای انجام اینکار قبل از وقوع قفل شدن حساب باید در تنظیمات سیاست گروه خود تغییر ایجاد کنید زیرا دلیل قفل حساب به طور پیش فرض ثبت نمیشود.
با باز کردن ویرایشگر Group Policy و پیمایش از طریق درخت کنسول به
Computer Configuration | Windows Settings | Security Settings | Advanced Audit Policy Configuration | System Audit Policies | Account Management
میتوانید حسابرسی هر دو حالت موفق و عدم موفقیت را برای مدیریت حساب کاربر فعال کنید.
هنگامی که تنظیم سیاست جدید گروه در سراسر دامنه اعمال شود، باعث میشود هر زمان که یک حساب قفل شد، رویداد شماره 4740 در گزارش رویداد امنیتی نوشته شود.
برای محدود کردن نتایج نشان داده شده میتوانید از Select-Object cmdlet استفاده کنید. اگر به عنوان مثال فقط میخواهید ده نتیجه اخیر را ببینید،
میتوانید از این دستور استفاده کنید:
توجه داشته باشید که ما منابع مربوط به UserID و Message را در Select-Object cmdlet گنجاندهایم. UserID باعث نمایش نام کاربری میشود و مراجعه به Message باعث میشود PowerShell اطلاعات دقیق مربوط به این رویداد را نمایش دهد. شاید مفیدترین مورد نمایش داده شده در پیام ، Caller Computer Name باشد كه نام دستگاهی را نشان میدهد كه باعث قفل شدن حساب كاربری شده است. در صورت لزوم، میتوانید از ویژگی TimeCreated نیز استفاده کنید تا بفهمید چه زمانی قفل اکانت اتفاق افتاده است.
دستور نشان داده شده در بالا میتواند پیام را قطع کند. اگر این اتفاق برای شما افتاد، میتوانید با اضافه کردن دستور Format-List مانند زیر این مشکل را برطرف کنید:
شناسایی مواردی که باعث قفل حساب میشود و اصلاح این مسئله بخشی از این مشکل است. برای رسیدگی کلی به این موضوع بخشهای IT باید به کاربران امکان باز کردن حسابهای شخصی خود را به صورت ایمن در هر زمان و هر مکان را بدهند.
توانایی سیستمعامل ویندوز در عیبیابی قفل شدن حسابها تا حدودی محدود است، اما مواردی وجود دارد که میتوانید انجام دهید. به عنوان مثال میتوانید از Windows PowerShell برای تعیین اینکه چه حسابهایی قفل شدهاند استفاده کنید.
دستور انجام این کار:
کد:
[INDENT]Search-ADAccount -LockedOut -UsersOnly | Select-Object Name, SamAccountName[/INDENT]
اگر متوجه شدید که حسابها قفل شدهاند، به چند روش میتوان قفل آنها را باز کرد.
با استفاده از این دستور میتوانید هربار یک حساب را باز کنید:
کد:
[INDENT]Unlock-ADAccount -Identity <username>[/INDENT]
کد:
[INDENT]Search-ADAccount –LockedOut | Unlock-ADAccount[/INDENT]
کد:
[INDENT]Search-ADAccount -LockedOut | Select-Object *[/INDENT]
در اینجا مثالی از نحوه انجام این کار آورده شده است:
کد:
[INDENT]Search-ADAccount -LockedOut | Select-Object * | Export-CSV -Path c:\temp\lockout.csv[/INDENT]
با باز کردن ویرایشگر Group Policy و پیمایش از طریق درخت کنسول به
Computer Configuration | Windows Settings | Security Settings | Advanced Audit Policy Configuration | System Audit Policies | Account Management
میتوانید حسابرسی هر دو حالت موفق و عدم موفقیت را برای مدیریت حساب کاربر فعال کنید.
هنگامی که تنظیم سیاست جدید گروه در سراسر دامنه اعمال شود، باعث میشود هر زمان که یک حساب قفل شد، رویداد شماره 4740 در گزارش رویداد امنیتی نوشته شود.
کد:
[INDENT]Get-WinEvent -FilterHashtable @{logname="Security"; ID=4740}[/INDENT]
میتوانید از این دستور استفاده کنید:
کد:
[INDENT]Get-WinEvent -FilterHashtable @{logname="Security"; ID=4740} | Select-Object UserID, Message -Last 10[/INDENT]
دستور نشان داده شده در بالا میتواند پیام را قطع کند. اگر این اتفاق برای شما افتاد، میتوانید با اضافه کردن دستور Format-List مانند زیر این مشکل را برطرف کنید:
کد:
[INDENT]Get-WinEvent -FilterHashtable @{logname="Security"; ID=4740} | Select-Object UserID, Message -Last 10 | Format-List[/INDENT]