Group Policy (GPO) مکانیزم مدیریت متمرکز تنظیمات امنیتی، سیستمی و رفتاری در اکوسیستم ویندوز است که همراه با Active Directory معرفی شد.
هدف اصلی آن از ابتدا یک چیز بود: اعمال سیاستهای یکسان، قابل کنترل و قابل Audit روی تعداد زیادی سیستم، بدون وابستگی به کاربر یا نرمافزار جانبی.
برخلاف ابزارهای امنیتی Third-Party که بعداً روی سیستم نصب میشوند، Group Policy در لایهی Native سیستمعامل عمل میکند. یعنی دقیقاً جایی که مهاجم سعی میکند کنترل را به دست بگیرد.
به همین دلیل قبل از اجرای بدافزار، قبل از Escalationو قبل از Lateral Movement میتواند جلوی بسیاری از سناریوهای حمله را بگیرد.
چرا Group Policy برای Hardening اینقدر مهم است؟
Hardening یعنی کاهش قابلیت سوءاستفاده از سیستم بدون مختل کردن عملکرد عادی آن.
Group Policy دقیقاً برای همین ساخته شده است، چون میتواند:
🔒 رفتار پیشفرض ویندوز را تغییر دهد
🧱 Attack Surface را کوچک کند
👤 اختیارات کاربران را محدود کند
🕵️ دید امنیتی (Visibility) ایجاد کند
و مهمتر از همه:
بدون نصب حتی یک Agent یا Software اضافه
تمرکز این Cheat Sheet دقیقاً روی چیست؟
این راهنما بهجای توضیح تئوری، روی چهار محور عملی تمرکز دارد:
1️جلوگیری از نفوذ (Prevention)
✔ هاردنینگ احراز هویت
✔ جلوگیری از اجرای کد ناامن
✔ بستن مسیرهای رایج حمله مثل NTLM، RDP ضعیف، Script Abuse
2️ کاهش سطح حمله (Attack Surface Reduction)
✔ غیرفعالسازی قابلیتهایی که واقعاً استفاده نمیشوند
✔ محدود کردن محل اجرای فایلها
✔ حذف دسترسیهای غیرضروری
3️ کنترل رفتار کاربران
✔ جلوگیری از Admin شدن بیمورد
✔ محدودسازی USB، Script، ابزارهای سیستمی
✔ اعمال Least Privilege در عمل، نه فقط روی کاغذ
4️ افزایش Visibility برای لاگ و Incident Response
✔ فعالسازی لاگهایی که پیشفرض خاموشاند
✔ ثبت Command Line و رفتارهای مشکوک
✔ آمادهسازی سیستم برای SIEM و Threat Hunting
🎯 اصول پایه قبل از شروع Hardening با Group Policy
این اصول از تجربه عملی تیمهای Blue Team، استانداردهای امنیتی (مثل CIS, Microsoft Security Baselines) و خطاهای رایج در محیطهای واقعی استخراج شدهاند.
1 . هرگز GPO را مستقیم روی Domain اعمال نکنید.
اعمال مستقیم Policy روی Domain Level ممکن است باعث موارد زیر شود:
اعمال Group Policy در سطح Domain به این معناست که سیاست موردنظر بهصورت همزمان روی تمام کاربران و سیستمها اعمال میشود.
در چنین شرایطی، حتی یک تنظیم اشتباه میتواند اثرات گسترده و غیرقابلپیشبینی ایجاد کند.
ریسکهای اصلی اعمال Policy در Domain Level
✔ یک خطای کوچک میتواند باعث اختلال سراسری شود و دسترسی بخش بزرگی از سازمان را مختل کند.
✔ احتمال قفل شدن حسابهای کاربری (User Lockout) بهویژه در Policyهای احراز هویت و دسترسی وجود دارد.
✔ سرویسهای حیاتی سازمان مانند Authentication، File Sharing یا Remote Access ممکن است از کار بیفتند.
به همین دلیل، اعمال مستقیم GPO در Domain Level برخلاف اصول Hardening حرفهای و Best Practice های امنیتی است.
روش صحیح و ایمن پیادهسازی Group Policy
رویکرد اصولی، اجرای مرحلهای و کنترلشده Policyهاست.
مراحل پیشنهادی
- ایجاد یک OU تستی
شامل تعداد محدودی سیستم یا کاربر نماینده از محیط واقعی. - لینک کردن GPO فقط به OU تستی
بدون تأثیرگذاری بر سایر بخشهای Domain . - بررسی نتایج پیش از گسترش
✔ تحلیل لاگهای امنیتی و سیستمی
✔ بررسی رفتار سیستمها و سرویسها
✔ دریافت بازخورد از کاربران یا تیم IT
پس از اطمینان از عملکرد صحیح Policy، میتوان آن را بهصورت تدریجی در OUهای عملیاتی اعمال کرد.
2 . همیشه قبل از تغییرات، GPO Backup بگیرید
Group Policy مثل Registry است. یعنی تغییر اشتباه میتواند:
Authentication ✔ را بشکند
✔ سرویسها را از کار بیندازد
✔ دسترسی Admin را قطع کند
📌 Backup یعنی:
✔ قابلیت Rollback سریع
✔ امکان مقایسه Policy قبل و بعد
Audit ✔پذیری برای تیم امنیت
3 . هر Policy باید دلیل امنیتی مشخص داشته باشد.
اگر با این تفکر کار کنیم که Policy ها را فعال میکنیم چون امنتر است، فکر خطرناکی است.
هر Policy باید جواب این سؤال را بدهد:
✔ کدام Attack را خنثی میکند؟
✔ روی چه Tactic یا Technique اثر دارد؟
✔ اگر فعال نشود چه ریسکی داریم؟
📌 مثال:
✔ غیرفعال سازی NTLM → جلوگیری از Pass-the-Hash
AppLocker ✔ → جلوگیری از Malware Execution
ASR Rules ✔ → کاهش Fileless Attacks
4 . Least Privilege فقط شعار نیست، اصل طراحی است
بیشتر نفوذها نه با Exploit Zero-Day، بلکه با دسترسی بیشازحد کاربران اتفاق میافتند.
Group Policy اجازه میدهد:
✔ کاربران عادی بدون Local Admin
✔ دسترسیها دقیق و قابل کنترل باشند
Escalation ✔ سخت و پرریسک شود
📌 نتیجه: حتی اگر سیستم آلوده شود، مهاجم به بنبست عملیاتی میخورد
لایههای اصلی Hardening در Group Policy
🔐 1 . سیاستهای رمز عبور (Password Policy)
📍 مسیر:
Computer Configuration
→ Policies
→ Windows Settings
→ Security Settings
→ Account Policies
→ Password Policy
|
Policy |
مقدار پیشنهادی |
|
Minimum password length |
12+ |
|
Password must meet complexity requirements |
Enabled |
|
Maximum password age |
60–90 days |
|
Enforce password history |
10 |
|
Store passwords using reversible encryption |
Disabled |
✅ جلوگیری از Brute Force و Credential Stuffing
🚫 2 . قفل حساب کاربری (Account Lockout)
📍 مسیر:
Account Policies → Account Lockout Policy
|
Policy |
مقدار پیشنهادی |
|
Account lockout threshold |
5 |
|
Account lockout duration |
15–30 min |
|
Reset account lockout counter |
15 min |
✅ مقابله مستقیم با حملات Password Guessing
🧑💻 3 . محدودسازی دسترسی ادمین (Local Admin Hardening)
📍 مسیر:
Computer Configuration
→ Policies
→ Windows Settings
→ Security Settings
→ Restricted Groups
✔ فقط گروههای ضروری عضو Administrators باشند
✔ کاربران عادی Local Admin نباشند.
📍 مکمل:
User Rights Assignment
|
Policy |
پیشنهاد |
|
Deny log on locally |
Users غیرضروری |
|
Allow log on locally |
فقط Admin / IT |
🔒 4 . غیرفعالسازی NTLM و اجبار Kerberos
📍 مسیر:
Security Options
|
Policy |
مقدار |
|
Network security: LAN Manager authentication level |
Send NTLMv2 only |
|
Restrict NTLM: Incoming NTLM traffic |
Deny all |
|
Restrict NTLM: Outgoing NTLM traffic |
Deny all |
✅ کاهش شدید Risk حملات Pass-the-Hash
🧯 5 . محدودسازی PowerShell و Script Abuse
📍 مسیر:
Administrative Templates
→ Windows Components
→ Windows PowerShell
|
Policy |
مقدار |
|
Turn on Script Block Logging |
Enabled |
|
Turn on Module Logging |
Enabled |
|
Turn on PowerShell Transcription |
Enabled |
📍 AppLocker (پیشنهادی):
Application Control Policies → AppLocker
✔ فقط Scriptهای امضاشده اجرا شوند
🧱 6 . Application Control (AppLocker / SRP)
📍 مسیر:
Security Settings
→ Application Control Policies
→ AppLocker
قوانین پیشنهادی:
❌ اجرای EXE از:
%AppData%
%Temp%
✅ Allow فقط:
Program Files
Windows
✅ جلوگیری از Malwareهای Fileless و Dropper
🌐 7 . امنیت RDP (یکی از نقاط نفوذ اصلی)
📍 مسیر:
Administrative Templates
→ Windows Components
→ Remote Desktop Services
|
Policy |
مقدار |
|
Require user authentication (NLA) |
Enabled |
|
Limit number of connections |
Enabled |
|
Do not allow clipboard redirection |
Enabled |
|
Set idle session time limit |
15 min |
📍 تکمیلی:
RDP ✔ فقط برای IPهای مشخص
✔ ترجیحاً پشت VPN
🕵️ 8 . فعالسازی لاگهای امنیتی حیاتی
📍 مسیر:
Advanced Audit Policy Configuration
این موارد را فعال کنید:
Log on / Log off
Account Lockout
Object Access
Process Creation
Privilege Use
📌 حتماً:
Include command line in process creation events → Enabled
✅ دید کامل برای Threat Hunting و SIEM (مثل Splunk)
🛑 9 . غیرفعالسازی USB و Mediaهای ناامن
📍 مسیر:
Administrative Templates
→ System
→ Removable Storage Access
|
Policy |
مقدار |
|
Deny execute access |
Enabled |
|
Deny read/write |
Enabled (در صورت نیاز سازمان) |
سیاستهای تکمیلی حیاتی
این تنظیمات جزو آن دسته Policy هایی هستند که کمترین Impact عملیاتی را دارند، بیشترین کاهش ریسک امنیتی را ایجاد میکنند و مستقیماً مسیرهای شناختهشدهی حمله را میبندند
1️ غیرفعال کردن SMBv1
چرا SMBv1 خطرناک است؟
SMBv1 پروتکلی قدیمی، ناامن و بدون مکانیزمهای مدرن احراز هویت و رمزنگاری است. مشهورترین حملهای که از آن سوءاستفاده کرد:
✔ WannaCry Ransomware
✔ EternalBlue Exploit
📌 اگر حتی یک سیستم در شبکه SMBv1 فعال داشته باشد، میتواند نقطهی انتشار آلودگی باشد.
چه حملههایی را میبندد؟
Wormable Malware ✔
Lateral Movement ✔مبتنی بر SMB
Exploit ✔ های بدون نیاز به Credential
اعمال از طریق Group Policy
📍 مسیر:
Computer Configuration
→ Policies
→ Administrative Templates
→ Network
→ Lanman Workstation
|
Policy |
مقدار |
|
Enable insecure guest logons |
Disabled |
📍 تکمیلی (PowerShell در Startup Script):
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
2️ فعال کردن Windows Defender Credential Guard
Credential Guard چیست؟
Credential Guard با استفاده از Virtualization-Based Security (VBS)
Credentialها (NTLM Hash, Kerberos TGT) را در یک محیط ایزوله ذخیره میکند.
حتی اگر سیستم آلوده شود یا مهاجم SYSTEM شود باز هم Credential ها قابل Dump نیستند.
چه حملههایی را میبندد؟
Mimikatz ✔
Pass-the-Hash ✔
Pass-the-Ticket ✔
Credential Dumping ✔
اعمال از طریق Group Policy
📍 مسیر:
Computer Configuration
→ Administrative Templates
→ System
→ Device Guard
|
Policy |
مقدار |
|
Turn On Virtualization Based Security |
Enabled |
|
Credential Guard Configuration |
Enabled with UEFI lock |
📌 نیازمندیها:
UEFI ✔
Secure Boot ✔
Windows 10 Enterprise / Education / Server ✔
3️ فعال کردن Attack Surface Reduction (ASR Rules)
ASR Rules چیست؟
ASR Rules مجموعهای از قوانین پیشگیرانه هستند که رفتارهای مشکوک را مسدود میکنند، حتی اگر فایل Malware شناختهشده نباشد
ASR روی Behavior تمرکز دارد، نه Signature .
نمونه حملات مسدودشده
✔ اجرای Macro مخرب
Abuse PowerShell ✔
✔ اجرای فایل از Email Attachment
Child Process ✔ توسط Office
اعمال از طریق Group Policy
📍 مسیر:
Computer Configuration
→ Administrative Templates
→ Windows Components
→ Microsoft Defender Antivirus
→ Microsoft Defender Exploit Guard
→ Attack Surface Reduction
|
Policy |
مقدار |
|
Configure Attack Surface Reduction rules |
Enabled |
📌 ASR Rules پیشنهادی:
- Block Office from creating child processes
- Block credential stealing from LSASS
- Block executable content from email and webmail
4️ Disable LLMNR & NetBIOS
چرا این دو خطرناکاند؟
LLMNR و NetBIOS برای Name Resolution محلی استفاده میشوند،
اما مهاجم میتواند با ابزارهایی مثلResponderو Inveigh، Credentialها را Capture کند.
📌 این حملات حتی بدون Exploit انجام میشوند.
چه حملههایی را میبندد؟
NTLM Relay ✔
Credential Capture ✔
Man-in-the-Middle ✔داخلی
اعمال از طریق Group Policy
🔹 Disable LLMNR
📍 مسیر:
Computer Configuration
→ Policies
→ Administrative Templates
→ Network
→ DNS Client
|
Policy |
مقدار |
|
Turn off multicast name resolution |
Enabled |
🔹 Disable NetBIOS
📍 مسیر:
Computer Configuration
→ Policies
→ Administrative Templates
→ Network
→ TCPIP Settings
→ NetBIOS over TCP/IP
|
Policy |
مقدار |
|
NetBIOS setting |
Disable NetBIOS |
5️ Enforce Firewall via Group Policy
چرا فایروال محلی مهم است؟
حتی داخل شبکه داخلیLateral Movement اتفاق میافتد و Malware از سرویسهای باز سوءاستفاده میکند. Firewall محلی آخرین سد دفاعی هر سیستم است.
اعمال از طریق Group Policy
📍 مسیر:
Computer Configuration
→ Policies
→ Windows Settings
→ Security Settings
→ Windows Defender Firewall with Advanced Security
تنظیمات پایه پیشنهادی:
|
Policy |
مقدار |
|
Firewall state (Domain / Private / Public) |
On |
|
Inbound connections |
Block |
|
Outbound connections |
Allow (یا محدودسازی تدریجی) |
📌 فقط Ruleهای ضروری را Allow کن (RDP، AD، Backup…)
|
Policy |
ریسک پوشش دادهشده |
|
SMBv1 |
Worm / Ransomware |
|
Credential Guard |
Credential Theft |
|
ASR |
Fileless & Script Attacks |
|
LLMNR / NetBIOS |
NTLM Relay |
|
Firewall |
Lateral Movement |
این بخشها معمولاً نادیده گرفته میشوند، اما دقیقاً همان جاهایی هستند که مهاجمان عاشقشان هستند.
🧾 چکلیست سریع (Quick Review)
|
آیتم |
توضیح کوتاه |
|
Password & Lockout |
رمزهای عبور پیچیده و محدودیت تلاشهای ورود برای جلوگیری از Brute Force و Credential Stuffing |
|
NTLM Disabled |
جلوگیری از استفاده از پروتکل قدیمی NTLM برای کاهش ریسک Pass-the-Hash و Relay Attack |
|
Local Admin Controlled |
محدود کردن دسترسی Admin محلی و اعمال Least Privilege برای کاهش احتمال Escalation داخلی |
|
PowerShell Logged |
فعالسازی Logging و Transcription برای PowerShell جهت شناسایی رفتارهای مشکوک و Malware Script |
|
AppLocker Enabled |
محدود کردن اجرای فایلها و اسکریپتها به مسیرها و نرمافزارهای معتبر برای جلوگیری از اجرای بدافزار |
|
RDP Hardened |
اعمال محدودیت روی RDP شامل NLA، محدودیت تعداد کانکشن، و Idle Timeout برای کاهش نفوذ از راه دور |
|
Audit Logs Active |
فعال کردن لاگهای حیاتی شامل Logon/Logoff، Account Lockout، Object Access و Process Creation برای Threat Hunting و Incident Response |
|
USB Controlled |
محدودسازی یا غیرفعالسازی دسترسی به دستگاههای USB و رسانههای جانبی برای جلوگیری از انتشار Malware و Data Leakage |
🎯 جمعبندی
Group Policy اگر درست پیادهسازی شود:
✔ 70٪ حملات رایج داخلی را متوقف میکند
✔ هزینه امنیت را کاهش میدهد
✔ کنترل و Visibility فوقالعادهای میدهد
این ابزار ساده نیست، اما بسیار قدرتمند است.


