اصل «کمترین دسترسی»
اصل کمترین دسترسی : راه نجات از نفوذها
چی هست؟
یعنی هر کاربر، سرویس یا گروه فقط حداقل سطح دسترسی موردنیاز برای انجام وظایفش را داشته باشد — نه بیشتر، نه کمتر.
چرا مهمه؟
هر دسترسی اضافی، یک درِ بالقوه برای نفوذگر است.
حسابهایی با دسترسی زیاد، در حملات lateral movement و privilege escalation هدف اصلی هستند.
بسیاری از نفوذها، نه از طریق ادمین، بلکه از طریق یک کاربر با دسترسی بیشتر از حد لازم شروع میشود.
چطور پیادهسازی کنیم؟
۱. Role-Based Access Control (RBAC)
یعنی بهجای دادن دسترسی مستقیم به کاربران، نقشها تعریف کن (Role Groups) و بر اساس وظیفه، دسترسی بده.
مثالها:
| نقش | گروه پیشنهادی | نباید |
|---|---|---|
| Helpdesk | Helpdesk Support | نباید عضو Domain Admins شود |
| Developers | DevOps | نباید دسترسی به کل Forest داشته باشند |
| HR | HR Group | نباید به فایلهای مالی دسترسی داشته باشد |
مشکل:
حساب ادمینی که همیشه فعال باشد، ریسک بزرگی دارد.
راهکار:
با PAM یا PIM:
دسترسی موقت به Domain Admin یا سایر گروههای privileged بده.
درخواست باید تایید (Approval) شود.
بعد از اتمام زمان مشخص، دسترسی بهصورت خودکار حذف شود.
ابزارها:
Microsoft PIM (در Azure AD Premium P2)
Privileged Access Management در AD On-Prem (Windows Server 2016+)
Third-party مثل CyberArk, BeyondTrust, Thycotic
۳. Group Managed Service Accounts (gMSA)
برای سرویسها، اسکریپتها یا برنامههایی که نیاز به اجرا با دسترسی خاص دارند، از gMSA استفاده کن تا:
پسورد سرویساکانتها بهصورت خودکار چرخش کند.
پسوردها در AD ذخیره شود، نه روی فایل یا رجیستری.
فقط سرورهای مجاز بتوانند از آن حساب استفاده کنند.
مثال PowerShell:
# ایجاد حساب gMSA
New-ADServiceAccount -Name gmsaApp -DNSHostName gmsaApp.yourdomain.com `
-PrincipalsAllowedToRetrieveManagedPassword “YourServer$”
# نصب gMSA روی سرور مجاز
Install-ADServiceAccount -Identity gmsaApp
# تست
Test-ADServiceAccount -Identity gmsaApp
✅ این روش بسیار امنتر از ساخت یک سرویساکانت با رمز ایستا و اشتراکی است.
🧹 ۴. سایر اقدامات مکمل:
بررسی ادواری عضویتها در گروههای Privileged مثل
Domain Admins,Enterprise Admins,Schema Adminsمستندسازی و محدود کردن افرادی که به Remote PowerShell, GPO, Backup, و Delegation دسترسی دارند
استفاده از Audit Logging برای هرگونه تغییر سطح دسترسی یا عضویت گروهها