رفتن به محتوا
ارزیابی رایگان سطح حمله بیرونی سازمان شماثبت درخواست
نت‌گارد — اسکنر آسیب‌پذیری و هاردنینگ

هاردنینگ ویندوز سرور: چک‌لیست امن‌سازی Windows Server در ۱۲ گام

هاردنینگ ویندوز سرور گام‌به‌گام: چک‌لیست امن‌سازی ویندوز شامل LAPS، SMB، RDP، فایروال، ممیزی، Defender و TLS، همراه با دستورات PowerShell و GPO.

نویسنده: نت‌گاردبه‌روزرسانی: ۱۰ دقیقه مطالعهRead in English

جلد مقاله هاردنینگ ویندوز سرور و چک‌لیست امن‌سازی Windows Server

هاردنینگ ویندوز سرور یعنی تغییر تنظیمات پیش‌فرض Windows Server به پیکربندی‌ای که سطح حمله را کوچک کند و حرکت مهاجم در شبکه را سخت‌تر کند. نصب پیش‌فرض ویندوز برای سازگاری حداکثری طراحی شده، نه امنیت حداکثری؛ به همین دلیل پروتکل‌هایی مثل LLMNR و NetBIOS روشن‌اند، سیاست ممیزی محدود است و هر مدیری می‌تواند با یک رمز مشترک به همه سرورها وارد شود. این مقاله یک چک‌لیست امن‌سازی ویندوز در ۱۲ گام است، با دستورات PowerShell و مسیرهای GPO که می‌توانید همین امروز اجرا کنید.

بیشتر حملات باج‌افزاری در شبکه‌های ویندوزی از همین ضعف‌ها استفاده می‌کنند: سرقت هش رمز از طریق LLMNR، حرکت جانبی با رمز مشترک مدیر محلی، و RDP باز. مقاوم‌سازی ویندوز سرور این مسیرها را یکی‌یکی می‌بندد.

پیش از شروع هاردنینگ ویندوز سرور

  • خط مبنا را انتخاب کنید: پروفایل Level 1 از CIS Benchmark مربوط به نسخه دقیق سرور (2019، 2022 یا 2025) و Microsoft Security Baseline از Security Compliance Toolkit دو مرجع اصلی‌اند. پروفایل Domain Controller و Member Server را از هم جدا کنید.
  • نقش سرورها را بشناسید: سرور فایل، وب، پایگاه داده و کنترل‌کننده دامنه نیازهای متفاوتی دارند.
  • در صورت امکان Server Core نصب کنید: نسخه بدون رابط گرافیکی اجزای کمتری دارد و در نتیجه سطح حمله و تعداد وصله‌ها کمتر است.
  • با GPO اعمال کنید، نه دستی: تنظیمات دستی روی هر سرور دیر یا زود از بین می‌روند. دستورات PowerShell این مقاله برای آزمون و سرورهای مستقل مناسب‌اند.
  • ابتدا آزمون کنید: هر تغییر را روی یک سرور آزمایشی یا یک OU کوچک امتحان کنید.

چک‌لیست امن‌سازی ویندوز در یک نگاه

حوزه اقدام کلیدی روش اعمال
حساب‌ها Windows LAPS، غیرفعال بودن Guest GPO، ماژول LAPS
رمز عبور حداقل ۱۴ کاراکتر، قفل حساب پس از ۵ تلاش Default Domain Policy
SMB حذف SMBv1، الزام امضای SMB GPO، PowerShell
شبکه خاموش کردن LLMNR، NetBIOS و NTLMv1 GPO
RDP NLA، محدودیت آدرس مبدأ GPO، فایروال
فایروال فعال در هر سه پروفایل، Block ورودی GPO، PowerShell
ممیزی Advanced Audit Policy و ارسال لاگ GPO، auditpol
Defender حفاظت لحظه‌ای، Tamper Protection، ASR Intune، GPO، PowerShell
سرویس‌ها غیرفعال کردن Print Spooler و نقش‌های اضافه GPO، PowerShell
TLS غیرفعال کردن SSL 3.0، TLS 1.0 و 1.1 رجیستری SCHANNEL
وصله نصب ماهانه به‌روزرسانی تجمعی WSUS، Configuration Manager
اینفوگرافیک چک‌لیست هاردنینگ ویندوز سرور شامل LAPS، SMB، RDP، فایروال، ممیزی، Defender و TLS
چک‌لیست هاردنینگ ویندوز سرور

۱ و ۲. حساب‌ها، LAPS و سیاست رمز عبور

مدیر محلی و Windows LAPS

اگر رمز مدیر محلی (Local Administrator) روی همه سرورها یکسان باشد، نفوذ به یک سرور یعنی نفوذ به همه. Windows LAPS رمز این حساب را برای هر سرور یکتا و تصادفی می‌کند، آن را به‌طور دوره‌ای تغییر می‌دهد و در Active Directory یا Entra ID نگه می‌دارد. Windows LAPS در Windows Server 2019 و نسخه‌های جدیدتر (با به‌روزرسانی‌های آوریل 2023 به بعد) به‌صورت داخلی وجود دارد.

Import-Module LAPS
Update-LapsADSchema
Set-LapsADComputerSelfPermission -Identity "OU=Servers,DC=corp,DC=local"
# After enabling the LAPS GPO settings for that OU:
Get-LapsADPassword -Identity "SRV-APP01" -AsPlainText
Disable-LocalUser -Name "Guest"

علاوه بر این، حساب‌های Domain Admins نباید روی سرورهای عضو یا ایستگاه‌های کاری وارد شوند. مدل لایه‌بندی دسترسی (Tiering) و گروه Protected Users در مقاله هاردنینگ Active Directory توضیح داده شده است.

سیاست رمز عبور و قفل حساب

مقادیر زیر با توصیه‌های رایج CIS هم‌راستا هستند؛ پیش از اعمال، آن‌ها را با نسخه Benchmark خود تطبیق دهید:

Set-ADDefaultDomainPasswordPolicy -Identity "corp.local" -MinPasswordLength 14 -PasswordHistoryCount 24 -ComplexityEnabled $true -LockoutThreshold 5 -LockoutDuration "00:15:00" -LockoutObservationWindow "00:15:00"
# Standalone (non-domain) server:
net accounts /minpwlen:14 /uniquepw:24 /lockoutthreshold:5 /lockoutduration:15 /lockoutwindow:15

برای حساب‌های سرویس، از gMSA (Group Managed Service Account) استفاده کنید تا رمز به‌صورت خودکار و طولانی مدیریت شود.

۳ تا ۷. پروتکل‌ها، RDP و فایروال

۳ و ۴. حذف SMBv1 و الزام SMB Signing

SMBv1 پروتکلی قدیمی است که بدافزارهای معروفی مثل WannaCry از آن سوءاستفاده کردند. امضای SMB نیز جلوی حملات NTLM Relay روی SMB را می‌گیرد.

Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol, RequireSecuritySignature
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
Uninstall-WindowsFeature -Name FS-SMB1   # restart required
Set-SmbServerConfiguration -RequireSecuritySignature $true -Force
Set-SmbClientConfiguration -RequireSecuritySignature $true -Force

معادل GPO در مسیر Security Settings > Local Policies > Security Options قرار دارد: «Microsoft network server: Digitally sign communications (always)» و «Microsoft network client: Digitally sign communications (always)» را روی Enabled بگذارید.

۵. خاموش کردن LLMNR، NetBIOS و NTLMv1

LLMNR و NetBIOS Name Service به ابزارهایی مثل Responder اجازه می‌دهند پاسخ جعلی بدهند و هش رمز کاربران را جمع کنند. LLMNR را با GPO در مسیر Administrative Templates > Network > DNS Client و تنظیم «Turn off multicast name resolution» روی Enabled خاموش کنید. NetBIOS over TCP/IP را روی کارت‌های شبکه غیرفعال کنید:

Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration -Filter "IPEnabled = TRUE" |
  Invoke-CimMethod -MethodName SetTcpipNetbios -Arguments @{ TcpipNetbiosOptions = [uint32]2 }

همچنین تنظیم «Network security: LAN Manager authentication level» را روی «Send NTLMv2 response only. Refuse LM & NTLM» بگذارید تا LM و NTLMv1 پذیرفته نشوند.

۶. محدودسازی RDP و الزام NLA

RDP هرگز نباید مستقیماً روی اینترنت باز باشد؛ دسترسی را از طریق VPN، سرور پرش (Jump Server) یا RD Gateway فراهم کنید. NLA را در GPO از مسیر Remote Desktop Session Host > Security با تنظیم «Require user authentication for remote connections by using Network Level Authentication» الزامی کنید و حق ورود از طریق RDP را فقط به گروه مدیران مشخص بدهید.

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'UserAuthentication' -Value 1
New-NetFirewallRule -DisplayName 'RDP - admin subnet only' -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 10.10.50.0/24 -Action Allow
Disable-NetFirewallRule -DisplayGroup 'Remote Desktop'

هشدار: اگر خودتان از بیرون زیرشبکه مدیریتی متصل هستید، با اجرای خط آخر دسترسی‌تان قطع می‌شود.

۷. فایروال ویندوز

فایروال باید در هر سه پروفایل Domain، Private و Public روشن باشد، ترافیک ورودی به‌طور پیش‌فرض مسدود شود و فقط پورت‌های لازم برای نقش سرور باز بمانند:

Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True -DefaultInboundAction Block -DefaultOutboundAction Allow -LogBlocked True -LogMaxSizeKilobytes 16384
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction, LogBlocked

۸. سیاست ممیزی و ثبت لاگ

بدون ممیزی درست، تشخیص نفوذ تقریباً ممکن نیست. Advanced Audit Policy را از مسیر Security Settings > Advanced Audit Policy Configuration تنظیم کنید و گزینه «Audit: Force audit policy subcategory settings» را فعال کنید تا تنظیمات قدیمی جایگزین آن نشوند. برای آزمون روی یک سرور:

auditpol /set /subcategory:"Credential Validation" /success:enable /failure:enable
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Special Logon" /success:enable
auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
auditpol /set /subcategory:"Security Group Management" /success:enable
auditpol /set /subcategory:"Process Creation" /success:enable
auditpol /get /category:*
wevtutil sl Security /ms:1073741824

نام زیرمجموعه‌ها در دستور auditpol مربوط به ویندوز انگلیسی است. گزینه «Include command line in process creation events» و «Turn on PowerShell Script Block Logging» را هم فعال کنید و لاگ‌ها را با Windows Event Forwarding یا عامل SIEM به یک مخزن مرکزی بفرستید. رویدادهای کلیدی:

شناسه رویداد معنا
4624 / 4625 ورود موفق / ناموفق
4672 ورود با امتیازات ویژه
4720 ایجاد حساب کاربری
4728 / 4732 افزودن عضو به گروه امنیتی
4740 قفل شدن حساب
4688 ایجاد فرایند جدید
1102 پاک شدن لاگ امنیتی

۹ و ۱۰. Defender، ASR و سرویس‌های غیرضروری

۹. Microsoft Defender و قوانین ASR

حفاظت لحظه‌ای و Tamper Protection باید فعال باشند. قوانین ASR (Attack Surface Reduction) رفتارهای رایج بدافزار را مسدود می‌کنند؛ آن‌ها را ابتدا در حالت Audit اجرا کنید، رویدادهای 1122 را در لاگ Microsoft-Windows-Windows Defender/Operational بررسی کنید و سپس به حالت Enabled ببرید. پشتیبانی از ASR به نسخه ویندوز سرور بستگی دارد.

Get-MpComputerStatus | Select-Object AMServiceEnabled, RealTimeProtectionEnabled, IsTamperProtected
Set-MpPreference -PUAProtection Enabled
# ASR: block credential stealing from LSASS (audit first)
Add-MpPreference -AttackSurfaceReductionRules_Ids 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 -AttackSurfaceReductionRules_Actions AuditMode

فعال کردن LSA Protection و Credential Guard نیز سرقت اطلاعات احراز هویت از حافظه را سخت‌تر می‌کند.

۱۰. سرویس‌ها و نقش‌های غیرضروری

هر نقش یا سرویسی که استفاده نمی‌شود، باید حذف یا غیرفعال شود. نمونه شاخص، Print Spooler روی سرورهایی است که کار چاپ ندارند، به‌ویژه کنترل‌کننده‌های دامنه:

Get-WindowsFeature | Where-Object Installed
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled

۱۱ و ۱۲. TLS و به‌روزرسانی

۱۱. غیرفعال کردن SSL 3.0، TLS 1.0 و TLS 1.1

فقط TLS 1.2 و در نسخه‌های جدیدتر TLS 1.3 را فعال نگه دارید. پیش از اجرا مطمئن شوید برنامه‌های قدیمی و کلاینت‌ها TLS 1.2 را پشتیبانی می‌کنند؛ برای برنامه‌های ‎.NET Framework نیز SchUseStrongCrypto را بررسی کنید. پس از تغییر، سرور باید راه‌اندازی مجدد شود.

$base = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols'
foreach ($p in 'SSL 3.0','TLS 1.0','TLS 1.1') {
  foreach ($side in 'Server','Client') {
    $key = "$base\$p\$side"
    if (-not (Test-Path $key)) { New-Item -Path $key -Force | Out-Null }
    New-ItemProperty -Path $key -Name 'Enabled' -Value 0 -PropertyType DWord -Force | Out-Null
    New-ItemProperty -Path $key -Name 'DisabledByDefault' -Value 1 -PropertyType DWord -Force | Out-Null
  }
}

۱۲. به‌روزرسانی و وصله منظم

مایکروسافت به‌روزرسانی‌های امنیتی را معمولاً در دومین سه‌شنبه هر ماه (Patch Tuesday) منتشر می‌کند. با WSUS یا Configuration Manager، وصله‌ها را ابتدا روی گروه آزمایشی و سپس روی بقیه سرورها نصب کنید و آسیب‌پذیری‌هایی را که در فهرست KEV آژانس CISA آمده‌اند، در اولویت بگذارید. جزئیات این فرایند را در مقاله مدیریت وصله ببینید.

نت‌گارد چگونه به هاردنینگ ویندوز سرور کمک می‌کند

نت‌گارد با اسکن احرازهویت‌شده، پیکربندی سرورهای ویندوز را در برابر CIS Benchmark و خط مبنای سفارشی سازمان ممیزی می‌کند؛ از SMBv1 و امضای SMB تا سیاست ممیزی و پروتکل‌های TLS. انحراف پیکربندی پس از هر اسکن مشخص می‌شود، وصله‌های نصب‌نشده بر اساس اطلاعات بهره‌برداری فعال و اهمیت دارایی اولویت‌بندی می‌شوند و اسکن مجدد، اصلاح هر مورد را تأیید می‌کند. برای جزئیات بیشتر صفحه ممیزی هاردنینگ نت‌گارد را ببینید.

سوالات متداول

هاردنینگ ویندوز سرور چیست؟

هاردنینگ ویندوز سرور یعنی تغییر تنظیمات پیش‌فرض Windows Server برای کاهش سطح حمله؛ مثل حذف SMBv1، خاموش کردن LLMNR، الزام NLA در RDP، فعال کردن فایروال و سیاست ممیزی، استفاده از LAPS و غیرفعال کردن سرویس‌های اضافه. معمولاً بر پایه CIS Benchmark یا Microsoft Security Baseline انجام می‌شود و با GPO روی همه سرورها اعمال می‌شود.

بهترین استاندارد برای مقاوم‌سازی ویندوز سرور کدام است؟

رایج‌ترین مرجع، پروفایل Level 1 از CIS Benchmark مربوط به همان نسخه ویندوز سرور است که پروفایل جداگانه برای Domain Controller و Member Server دارد. Microsoft Security Baseline هم مرجع رسمی مایکروسافت است و از طریق Security Compliance Toolkit به‌صورت GPO آماده ارائه می‌شود. بسیاری از سازمان‌ها ترکیبی از این دو را به‌عنوان خط مبنا استفاده می‌کنند.

آیا غیرفعال کردن SMBv1 مشکلی ایجاد می‌کند؟

برای بیشتر محیط‌ها خیر، چون نسخه‌های پشتیبانی‌شده ویندوز از SMBv2 و SMBv3 استفاده می‌کنند. مشکل معمولاً در دستگاه‌های بسیار قدیمی مثل برخی چاپگرها، دستگاه‌های NAS یا سیستم‌عامل‌های منسوخ دیده می‌شود. پیش از حذف، می‌توانید ممیزی دسترسی SMBv1 را فعال کنید تا مشخص شود چه دستگاه‌هایی هنوز از آن استفاده می‌کنند.

LAPS چیست و چرا برای ویندوز سرور مهم است؟

LAPS ابزار مایکروسافت برای مدیریت رمز حساب مدیر محلی است. برای هر سرور رمزی یکتا و تصادفی می‌سازد، آن را به‌طور دوره‌ای تغییر می‌دهد و در Active Directory یا Entra ID ذخیره می‌کند. این کار جلوی حرکت جانبی با رمز مشترک را می‌گیرد؛ یعنی اگر مهاجم یک سرور را تصاحب کند، با همان رمز به سرورهای دیگر دسترسی پیدا نمی‌کند.

چطور بفهمیم هاردنینگ ویندوز سرور درست اعمال شده است؟

با ممیزی پیکربندی در برابر خط مبنا. ابزارهای سازگار با CIS، سرور را به‌صورت احرازهویت‌شده بررسی می‌کنند و درصد انطباق و فهرست تنظیمات رد شده را نشان می‌دهند. ابزارهای داخلی مانند gpresult و auditpol نیز برای بررسی موردی کاربرد دارند. این ممیزی باید دوره‌ای تکرار شود تا انحراف پیکربندی سریع کشف شود.

  • #هاردنینگ ویندوز سرور
  • #مقاوم‌سازی ویندوز سرور
  • #چک‌لیست امن‌سازی ویندوز
  • #امن‌سازی Windows Server
  • #هاردنینگ ویندوز
  • #Windows Server hardening
  • #CIS Windows Server

ببینید مهاجمان چه چیزی می‌بینند — پیش از آن‌که آن‌ها ببینند

یک ارزیابی رایگان از سطح حمله بیرونی و گزارش اولویت‌بندی‌شده از مهندسان امنیت ما دریافت کنید.