Active Directory Security Best-Practices

تقریبا دیگه شرکت یا سازمانی رو نمیشه پیدا کرد که از ساختار متمرکز اکتیو دایرکتوری به جهت پیاده سازی Identity Infrastructure استفاده نکرده باشه.فعلا تو این قسمت از نوشته خیلی مختصر و تیتر وار و بدون ذکر توضیحات اضافه میخوایم بدونیم که حداقل موارد مهم امنیتی که باید تو هر ساختار اکتیو دایرکتوری رعایت بشه تا از آسیب پذیری های مهم جلوگیری کنه چه مواردی هست.تو قسمت های بعدی قطعا موارد جدید رو اضافه میکنم و هر مورد رو با جزییات بیشتر شرح خواهم داد که چرا باید این تنظیم انجام بشه و چه خطراتی در صورت عدم رعایت هر مورد ما رو تهدید میکنه.نکات مهم اولیه که همین حالا باید تو محیط خودتون چک کنید:- برای نصب دامین کنترلر از Template های آماده و حتی Sysprep شده استفاده نکنید،همواره نصب سیستم عامل را Clean و Fresh انجام دهید- همیشه آخرین آپدیت های منتشر شده را روی سیستم عامل های میزبان AD نصب کنید(به شدت حایز اهمیت و ساده!!!)- قابلیت مهم Recycle-Bin رو فعال کنید(مطمئن باشید نجاتتون میده!)- حذف گروه Authenticated Users از پالیسی گروه هایی که میتوانند سیستم ها را به دامنه Join کنند،ترجیحا فقط گروه های Domain-Admins و یک گروه مخصوص کاربران HelpDesk را در این پالیسی تعریف نمایید(در کل پالیسی پیش فرض Domain-Controllers اصلا امن نیست و نیاز به تغییرات زیادی داره)- ادمین های AD حتما برای استفاده از سیستم کلاینت و امور روتین مانند وب گردی و چک کردن ایمیل از یک کاربری Domain-User استفاده نمایند و از کاربری با سطوح دسترسی ادمین صرفا برای امور مدیریت سرویس ها استفاده کنند- به صورت دوره ای اعضای Security Group ها را بررسی نمایید،به خصوص در مورد Nested Groups(این مورد را با بررسی اعضای گروه های مهم و حیاتی آغاز کنید)- به هیچ عنوان با کاربری عضو Domain-Admins برای رفع مشکلات Help-Desk روی کلاینت ها ریموت نزنید- حتما کاربرانی که دسترسی های Admin دارند(حتی فقط روی کلاینت ها) را به عضویت گروه Protected Users در اکتیو دایرکتوری در آورید- کاربری Administrator اصلی دامین را Rename کنید و پسوردی با طول بیش از 15 کاراکتر برای آن تنظیم نمایید و از استفاده از آن بپرهیزید- کاربری Administrator لوکال روی کامپیوترها را حتی المقدور غیر فعال نمایید- کاربری هایی که ویژگی Null-Password برای آنها تنظیم شده را شناسایی و اصلاح نمایید(بسیار مهم)- برای کاربری که میخواهد فقط چند یوزر ایجاد و ریست پسورد کند دسترسی Domain-Admin واگذار نکنید!از Delegation و ACLs استفاده کنید.- پروتکل SMBv1 را حتما روی سیستم عامل غیرفعال نمایید،این پروتکل حدود 30 سال سن داره و مایکروسافت عاجزانه خواهش کرده که از استفاده ازش دست بکشید!!!(بررسی وابستگی به این پروتکل را قبلا انجام دهید)- سرویس Print Spooler را روی دامین کنترلرها متوقف و غیر فعال کنید- گروه Schema Admins همواره خالی از عضو باشد(در صورت نیاز عضویت را با قید زمانی اعطا کنید)- پالیسی تغییر پسورد کاربری ادمین لوکال کامپیوترها و سرورها،پسورد را به صورت ClearText ذخیره می نماید،اگر از قبل از این ویژگی استفاده کردید این پسوردها را نشت شده محسوب کرده و در قدم اول پالیسی را حذف نموده و از مکانیزمی مانند LAPS استفاده نمایید- کاربری متعلق به krbtgt می بایست حداکثر هر 90 روز یکبار 2 بار ریست پسورد شود(ملاحظات این مورد باید در نظر گرفته شود)- پالیسی های مربوط به Audit-Logs و Advanced Auditing Policy حتما تنظیم گردد- پالیسی های مرتبط با Powershell Auditing حتما تنظیم گردد و از اجرای اسکریپت های نا معتبر جلوگیری بعمل آید- کاربری های Inactive حتما Disable گردد و ویژگی Logon-to برای این کاربری ها به مقداری نامعتبر تغییر یابد- کامپیوتر اکانت های Inactive حتما Disable گردد- حتی المقدور برای هیچ کاربری ویژگی Password-Never-Expire تنظیم نگردد- برای کاربری ها تا حد امکان Logon-To و Logon-Hours تنظیم گردد- حتما پسورد پالیسی مناسب ایچاد کنید و برای گروه های کاربری ادمین از پسورد پالیسی ها متفاوت و سختگیرانه تر استفاده نمایید(Fine-Grained Password Policy)- قابلیت Account Lockout حتما در پسورد پالیسی لحاظ گردد- اگر از دامین کنترلرهای ورژن 2003 و 2008 به بالا آپگرید انجام دادید حتما چک کنید که Replication از مکانیزم DFSR استفاده کند و اگر هنوز روی FRS هست حتما به DFSR آپگرید نمایید- کاربران ادمین و HelpDesk برای اتصال ریموت به سیستم ها حتما از ویژگی RestrictedAdmin استفاده نمایند- پالیسی مربوط به جلوگیری و غیرفعالسازی LLNMR را تنظیم نمایید- مدت زمان Session کاربران و صدور و تمدید تیکت های KDC کنترل و محدود گردند- با استفاده از متدهای مورد تایید مایکروسافت از دامین کنترلرها بکاپ بگیرید- روی سرورهای دامین کنترلر هیچ گونه نرم افزار و یا Role دیگری نصب نکنید- به هیچ عنوان دسترسی اینترنت روی سرورهای دامین کنترلر باز نباشد(برای NTP و DNS از سرورهای Upstream استفاده نمایید و مستقیم به اینترنت متصل نکنید)- به هیچ عنوان روی دامین کنترلر مرورگر نصب نکنید!یکی از آسیب پذیرترین نرم افزارها همین مرورگرها هستند- اگر روی دامین کنترلر DNS هم دارید حتما Logهای آن را فعال نموده و توسط Analyzer های موجود دامنه های مشکوک را بررسی نمایید- سرویس DHCP را بر روی دامین کنترلر نصب نکنید!و حتما برای این سرویس مکانیزم Logging را فعال و به صورت دوره ای بررسی نمایید- سیستم عامل های کلاینت و سرور به صورت پیش فرض و بعد از نصب اولیه به هیچ عنوان امن نیستند!!! از Security Baseline ها و ابزارهای مرتبط با این موضوع برای امن سازی بدیهیات اولیه سیستم عامل ها استفاده نمایید.- در حوزه ی مجازی سازی نسبت به نوشتن Rule های Affinity برای تفکیک محل قرارگیری ماشین های دامین کنترلر روی هاست های متفاوت اقدام نمایید.