امنیت Windows Server برای هر کسب‌وکاری که سرویس‌های مهم خود را روی ویندوز سرور اجرا می‌کند، یک موضوع حیاتی است؛ از IIS و SQL Server گرفته تا Remote Desktop Services، فایل‌سرور، Active Directory، نرم‌افزارهای مالی، اتوماسیون اداری و پنل‌های اختصاصی. اگر این سرورها درست harden نشوند، یک تنظیم اشتباه در RDP، فایروال، اکانت Administrator یا سرویس‌های فعال می‌تواند به نفوذ، باج‌افزار، سرقت اطلاعات یا قطعی سرویس منجر شود.

با این حال، نصب پیش‌فرض ویندوز سرور همیشه برای بیشترین امنیت طراحی نشده است. بسیاری از تنظیمات پیش‌فرض برای راه‌اندازی سریع، سازگاری و سهولت مدیریت مناسب‌اند، اما برای یک سرور production کافی نیستند. Hardening یا امن‌سازی ویندوز سرور یعنی کم کردن سطح حمله، محدود کردن دسترسی‌ها، حذف سرویس‌های غیرضروری، کنترل RDP، فعال‌سازی فایروال، مدیریت آپدیت‌ها، مانیتورینگ لاگ‌ها و آماده‌سازی سرور برای مقابله با حملات واقعی.

در این مقاله یک چک‌لیست کامل و عملی برای امنیت Windows Server آماده کرده‌ایم؛ مناسب برای مدیران سرور، شرکت‌های هاستینگ، مدیران IT، مدیران شبکه و کسب‌وکارهایی که از هاست ویندوز، هاست ویندوز حرفه ای، سرور مجازی ویندوز یا سرور اختصاصی ویندوز استفاده می‌کنند. هدف مقاله این نیست که فقط چند گزینه امنیتی را روشن کنیم؛ هدف این است که Windows Server را به‌صورت مرحله‌به‌مرحله، قابل مدیریت و بدون شکستن سرویس‌های حیاتی امن‌تر کنیم.

فهرست مطالب

خلاصه سریع چک‌لیست امنیت Windows Server

اگر فرصت خواندن کل مقاله را ندارید، چک‌لیست فوری امنیت Windows Server این است:

  • قبل از هر تغییر، inventory و baseline از Roleها، سرویس‌ها، کاربران، فایروال و تنظیمات فعلی تهیه کنید.
  • ویندوز، .NET، درایورها، نرم‌افزارهای جانبی و firmware را مرتب آپدیت کنید.
  • Roleها، Featureها، سرویس‌ها و نرم‌افزارهای غیرضروری را حذف یا غیرفعال کنید.
  • اکانت Administrator پیش‌فرض را محدود، غیرفعال یا حداقل rename و با رمز بسیار قوی محافظت کنید.
  • برای کارهای روزمره از اکانت غیرادمین و برای مدیریت از اکانت جداگانه استفاده کنید.
  • RDP را هرگز بدون محدودسازی IP، VPN یا Bastion عمومی نگذارید.
  • Windows Firewall را در همه Profileها فعال کنید و فقط پورت‌های ضروری را باز بگذارید.
  • SMBv1، NTLMv1، NetBIOS و سرویس‌های legacy را در صورت عدم نیاز غیرفعال کنید.
  • Microsoft Defender، لاگینگ، Audit Policy و مانیتورینگ رخدادها را فعال کنید.
  • بکاپ خارج از سرور، تست Restore و برنامه Disaster Recovery داشته باشید.
  • برای سرورهای حساس از Microsoft Security Baseline و CIS Benchmark به‌عنوان مرجع تنظیمات استفاده کنید.

در عمل، امنیت Windows Server زمانی قابل اعتماد است که تنظیمات سیستم‌عامل، دسترسی کاربران، سرویس‌های شبکه، سیاست‌های بکاپ و مانیتورینگ همزمان مدیریت شوند؛ نه اینکه فقط یک یا دو گزینه امنیتی فعال شوند.

Hardening ویندوز سرور چیست؟

Hardening Windows Server یعنی مجموعه‌ای از اقدامات فنی و مدیریتی برای کاهش سطح حمله و افزایش مقاومت سرور در برابر نفوذ، سوءاستفاده، خطای انسانی و بدافزار. در عمل، hardening به این معنی است که سرور فقط همان کاری را انجام دهد که برای آن طراحی شده و هیچ دسترسی، سرویس، پورت، کاربر یا قابلیت اضافه‌ای بدون دلیل روشن فعال نباشد.

برای مثال، اگر سرور فقط قرار است یک اپلیکیشن ASP.NET را روی IIS اجرا کند، نیازی نیست سرویس‌های اضافی، اشتراک‌گذاری فایل غیرضروری، مرورگرهای اضافه، RDP باز برای همه اینترنت، کاربرهای بلااستفاده و inbound ruleهای عمومی روی آن فعال باشند. هر مورد اضافی، یک مسیر احتمالی برای حمله یا خطای پیکربندی است.

Hardening یک کار یک‌باره نیست. ویندوز سرور بعد از نصب، با گذشت زمان تغییر می‌کند: آپدیت‌ها نصب می‌شوند، نرم‌افزارها اضافه می‌شوند، کاربران جدید ساخته می‌شوند، سرویس‌ها تغییر می‌کنند و تهدیدهای جدید منتشر می‌شوند. بنابراین hardening باید بخشی از عملیات دائمی سرور باشد، نه فقط کاری که روز نصب انجام می‌دهیم.

چرا امنیت Windows Server مهم است؟

ویندوز سرورها در بسیاری از سازمان‌ها میزبان سرویس‌های حیاتی‌اند. حمله موفق به یک Windows Server می‌تواند پیامدهای جدی داشته باشد:

  • دسترسی غیرمجاز به فایل‌ها و دیتابیس‌ها
  • اجرای باج‌افزار روی سرور یا شبکه داخلی
  • سرقت اطلاعات کاربران و مشتریان
  • استفاده از سرور برای حملات بعدی یا lateral movement
  • اختلال در سرویس‌های وب، RDP، SQL Server یا نرم‌افزارهای سازمانی
  • افزایش هزینه پشتیبانی، بازیابی و پاسخ به رخداد
  • آسیب به اعتبار برند و اعتماد مشتریان

در بازار هاستینگ و VPS، این موضوع مهم‌تر هم می‌شود. سروری که روی اینترنت public است، مخصوصاً اگر RDP یا سرویس‌های مدیریتی آن باز باشند، دائماً توسط botها اسکن می‌شود. برای همین، اگر از خرید سرور مجازی ایران، VPS خارجی، خرید هاست ویندوز یا سرور اختصاصی ویندوز استفاده می‌کنید، امن‌سازی اولیه باید قبل از تحویل سرویس به production انجام شود.

برای سرورهای عمومی، امنیت Windows Server باید قبل از اتصال کامل سرور به اینترنت بررسی شود، نه بعد از مشاهده اولین حمله یا تلاش ناموفق ورود. به همین دلیل، hardening باید بخشی از فرآیند نصب، تحویل، نگهداری و audit دوره‌ای سرور باشد.

مرحله ۱: قبل از تغییرات، baseline و inventory تهیه کنید

اولین قدم hardening این نیست که سریع چند سرویس را غیرفعال کنید. ابتدا باید بدانید چه چیزی روی سرور نصب است، چه نقشی دارد، چه سرویس‌هایی اجرا می‌شوند، چه پورت‌هایی باز هستند و چه کسانی به آن دسترسی دارند.

برای هر Windows Server این موارد را ثبت کنید:

  • نسخه سیستم‌عامل و build number
  • نقش سرور: IIS، SQL Server، Domain Controller، File Server، RDS، Backup Server یا Application Server
  • نرم‌افزارهای نصب‌شده
  • کاربران محلی و گروه‌های دارای دسترسی مدیریتی
  • سرویس‌های فعال و Startup Type آن‌ها
  • پورت‌های باز و Windows Firewall Rules
  • روش‌های remote access مثل RDP، VPN، PowerShell Remoting و ابزارهای third-party
  • وضعیت آپدیت‌ها، Defender، لاگ‌ها و بکاپ

چند دستور مفید PowerShell برای شروع:

Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber
Get-WindowsFeature | Where-Object Installed -eq $true
Get-Service | Sort-Object Status, Name
Get-LocalUser
Get-LocalGroupMember Administrators
Get-NetFirewallRule | Where-Object Enabled -eq True
Get-NetTCPConnection -State Listen

Baseline کمک می‌کند بعداً بفهمید چه چیزی تغییر کرده است. اگر بعد از hardening یک سرویس از کار افتاد، بدون baseline تشخیص علت بسیار سخت‌تر می‌شود.

در عمل، امنیت Windows Server زمانی قابل اعتماد است که تغییرات امنیتی قابل ردیابی، قابل بازگشت و مستند باشند. بنابراین قبل و بعد از هر تغییر مهم، خروجی تنظیمات کلیدی را ذخیره کنید.

مرحله ۲: ویندوز، درایورها، .NET و نرم‌افزارها را به‌روز نگه دارید

Patch Management ستون اصلی امنیت Windows Server است. اگر سرور از نظر به‌روزرسانی عقب باشد، بسیاری از تنظیمات امنیتی دیگر فقط نقش مکمل خواهند داشت. باید هم خود ویندوز و هم اجزای وابسته مثل .NET، IIS، SQL Server، درایورها، agentهای بکاپ، نرم‌افزارهای امنیتی و ابزارهای third-party به‌روز باشند.

برای محیط‌های کوچک، Windows Update ممکن است کافی باشد. اما برای سازمان‌ها و شرکت‌های هاستینگ، بهتر است از WSUS، Microsoft Configuration Manager، ابزارهای RMM یا راهکارهای patch management استفاده شود.

اصول مهم آپدیت:

  • برای سرورهای production پنجره نگهداری مشخص داشته باشید.
  • آپدیت‌های حیاتی امنیتی را بر اساس ریسک، سریع‌تر از چرخه عادی نصب کنید.
  • قبل از نصب روی سرور حساس، در محیط تست یا staging بررسی کنید.
  • بعد از نصب آپدیت، سرویس‌های مهم را تست کنید.
  • آپدیت firmware، hypervisor، driver و agentهای امنیتی را فراموش نکنید.
  • بعد از reboot، Event Viewer و سرویس‌های failed را بررسی کنید.

دستورهای مفید برای بررسی وضعیت سیستم:

systeminfo
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 20
Get-ComputerInfo | Select-Object OsName, OsVersion, OsBuildNumber
Get-WindowsUpdateLog

نکته مهم این است که بعضی hardeningهای ویندوز توسط Windows Update در چند فاز اعمال می‌شوند. Microsoft برای تغییرات hardening مثل Kerberos، Netlogon، Secure Boot، Certificate-based authentication و سایر تغییرات امنیتی، زمان‌بندی و مرحله‌های enforcement منتشر می‌کند. بنابراین مدیر سرور باید علاوه بر نصب آپدیت، guidance و key dates رسمی Microsoft را هم دنبال کند.

مرحله ۳: Roleها، Featureها و سرویس‌های غیرضروری را حذف کنید

هر Role یا Feature اضافه یعنی سطح حمله بیشتر، patch بیشتر، سرویس بیشتر و احتمال misconfiguration بیشتر. یکی از مؤثرترین روش‌های hardening این است که سرور فقط اجزای موردنیاز خود را داشته باشد.

برای بررسی Roleها و Featureهای نصب‌شده:

Get-WindowsFeature | Where-Object Installed -eq $true

برای حذف یک Feature غیرضروری:

Uninstall-WindowsFeature -Name FeatureName

مواردی که باید بررسی شوند:

  • آیا IIS واقعاً لازم است؟
  • آیا File and Printer Sharing لازم است؟
  • آیا RDS یا Remote Desktop Services نیاز واقعی دارد؟
  • آیا WebDAV، FTP، Telnet Client یا ابزارهای legacy نصب هستند؟
  • آیا نرم‌افزارهای قدیمی vendor روی سرور باقی مانده‌اند؟
  • آیا browser یا ابزار دانلود غیرضروری روی سرور نصب است؟

برای سرویس‌ها، بهتر است قبل از غیرفعال‌سازی، وابستگی‌ها را بررسی کنید. همه سرویس‌های ناشناس را ناگهانی disable نکنید؛ اول نقش آن‌ها را مشخص کنید، سپس با برنامه و مستندسازی تغییر دهید.

مرحله ۴: اکانت Administrator و کاربران محلی را امن کنید

اکانت Administrator پیش‌فرض یکی از اولین هدف‌های حملات brute force و password spraying است. در سرورهایی که روی اینترنت public هستند، botها معمولاً سریعاً سراغ نام‌های کاربری رایج مثل Administrator می‌روند.

اقدامات پیشنهادی:

  • در صورت امکان اکانت Administrator پیش‌فرض را غیرفعال کنید.
  • یک اکانت مدیریتی جدید با نام غیرقابل حدس بسازید.
  • برای Administrator حتی در حالت disabled، رمز بسیار طولانی و تصادفی تنظیم کنید.
  • اکانت Guest را غیرفعال نگه دارید.
  • اکانت‌های بلااستفاده، موقت و بدون owner را حذف یا disable کنید.
  • اعضای گروه Administrators را مرتب بازبینی کنید.
  • برای کارهای روزمره از اکانت غیرادمین استفاده کنید.

دستورهای مفید:

Get-LocalUser
Get-LocalGroupMember Administrators
Disable-LocalUser -Name "Guest"
Rename-LocalUser -Name "Administrator" -NewName "Admin-UniqueName"

برای رمزهای مدیریتی، حداقل از رمزهای طولانی، تصادفی و ذخیره‌شده در Password Manager استفاده کنید. اگر سرور عضو Active Directory است، استفاده از Windows LAPS برای مدیریت رمز local admin بسیار مفید است.

مرحله ۵: اصل Least Privilege را اجرا کنید

یکی از اشتباهات رایج در ویندوز سرور این است که برای راحتی کار، دسترسی‌های بیش از حد به کاربران، سرویس‌ها یا گروه‌ها داده می‌شود. اصل Least Privilege می‌گوید هر کاربر یا سرویس فقط باید همان دسترسی‌ای را داشته باشد که برای انجام وظیفه‌اش لازم است؛ نه بیشتر.

مواردی که باید بررسی شوند:

  • چه کسانی عضو گروه Administrators هستند؟
  • آیا کاربران معمولی دسترسی local admin دارند؟
  • آیا service accountها دسترسی بیش از حد دارند؟
  • آیا گروه Everyone یا Authenticated Users دسترسی نامناسب به فایل‌ها دارد؟
  • آیا کاربران می‌توانند از شبکه به shareهای غیرضروری وصل شوند؟
  • آیا Backup Operators یا Remote Desktop Users بیش از حد عضو دارد؟

برای بررسی دسترسی فایل‌ها و فولدرهای حساس، می‌توانید از Properties، تب Security یا ابزارهایی مثل PowerShell و icacls استفاده کنید:

icacls "C:\SensitiveFolder"

برای سرورهای production، دسترسی‌ها باید مستند، قابل توضیح و قابل بازبینی باشند. دسترسی بدون owner مشخص، یک ریسک امنیتی است.

مرحله ۶: Service Accountها را درست طراحی کنید

Service Accountها در بسیاری از رخدادهای امنیتی نقش مهمی دارند. گاهی یک سرویس با اکانت domain admin اجرا می‌شود، رمز آن سال‌ها تغییر نکرده، مالک آن مشخص نیست و در چند سرور استفاده شده است. چنین اکانتی اگر compromise شود، می‌تواند فاجعه ایجاد کند.

اصول امن‌سازی Service Accountها:

  • برای هر سرویس مهم، اکانت جداگانه داشته باشید.
  • از یک اکانت مشترک برای چند سرویس غیرمرتبط استفاده نکنید.
  • به Service Account فقط حداقل دسترسی لازم را بدهید.
  • Login تعاملی را برای Service Accountها محدود کنید.
  • مالک و هدف هر Service Account را در Description ثبت کنید.
  • اکانت‌های سرویس‌های حذف‌شده را disable یا حذف کنید.
  • در محیط Active Directory از Managed Service Account یا gMSA استفاده کنید.

نمونه تنظیم مهم در Local Security Policy:

secpol.msc
Local Policies > User Rights Assignment > Log on as a service
Local Policies > User Rights Assignment > Deny log on locally

اگر از SQL Server، IIS App Pool یا سرویس‌های سازمانی استفاده می‌کنید، Service Accountها را با دقت بیشتری بررسی کنید. هر سرویس باید با حداقل privilege و بدون دسترسی غیرضروری اجرا شود.

علاوه بر این، بازبینی دوره‌ای Service Accountها یکی از بخش‌های مهم امنیت Windows Server است؛ چون این اکانت‌ها معمولاً دسترسی‌های پایدار و حساس دارند.

مرحله ۷: افزایش امنیت Windows Server با کنترل RDP

RDP یکی از رایج‌ترین هدف‌های حملات روی Windows Server است. اگر پورت ۳۳۸۹ برای همه اینترنت باز باشد، سرور شما در معرض brute force، password spraying، credential stuffing و تلاش‌های exploit قرار می‌گیرد.

قوانین مهم برای RDP:

  • RDP را فقط در صورت نیاز فعال کنید.
  • دسترسی RDP را به IPهای مشخص، VPN یا Bastion محدود کنید.
  • Network Level Authentication یا NLA را فعال کنید.
  • از رمزهای طولانی و قوی استفاده کنید.
  • در صورت امکان MFA برای دسترسی مدیریتی داشته باشید.
  • تعداد کاربران مجاز RDP را محدود کنید.
  • ورودهای ناموفق و موفق RDP را مانیتور کنید.
  • Idle session timeout و session limit تنظیم کنید.

برای فعال بودن NLA:

System Properties > Remote > Allow connections only from computers running Remote Desktop with Network Level Authentication

برای محدودسازی دسترسی RDP با Firewall، فقط IPهای مدیریتی را مجاز کنید. اگر سرور روی اینترنت public است، بهتر است RDP مستقیماً public نباشد و از VPN یا Jump Server استفاده شود.

یکی از پایه‌های امنیت Windows Server این است که هیچ پورت مدیریتی بدون دلیل روشن برای همه اینترنت باز نباشد.

در سرویس‌هایی مثل هاست ویندوز ایران یا VPS ویندوز، اگر دسترسی RDP تحویل مشتری می‌شود، سیاست رمز قوی، محدودسازی IP و مانیتورینگ brute force باید جدی گرفته شود.

مرحله ۸: نقش فایروال در امنیت Windows Server

Windows Defender Firewall نباید فقط روشن باشد؛ باید درست تنظیم شود. سیاست امن‌تر این است که inbound traffic به‌صورت پیش‌فرض مسدود باشد و فقط پورت‌های ضروری برای نقش همان سرور باز شوند.

بنابراین، در طراحی امنیت Windows Server باید فایروال را به‌عنوان یک لایه دائمی کنترل دسترسی ببینید، نه فقط ابزاری برای باز و بسته کردن چند پورت.

برای بررسی وضعیت فایروال:

Get-NetFirewallProfile
Get-NetFirewallRule | Where-Object Enabled -eq True

برای فعال‌سازی فایروال در همه profileها:

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

برای تنظیم default inbound به block:

Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block

نمونه باز کردن RDP فقط برای یک IP مشخص:

New-NetFirewallRule -DisplayName "Allow RDP from Admin IP" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 3389 `
  -RemoteAddress 203.0.113.10 `
  -Action Allow

پورت‌هایی که باید با دقت بررسی شوند:

پورتسرویستوصیه امنیتی
۳۳۸۹RDPفقط برای IP/VPN مدیریتی باز شود
۸۰/۴۴۳HTTP/HTTPSبرای وب‌سرور لازم است، اما باید پشت WAF/CDN یا کنترل مناسب باشد
۱۴۳۳SQL Serverبرای اینترنت عمومی باز نشود؛ فقط IPهای اپلیکیشن مجاز باشند
۴۴۵SMBروی اینترنت عمومی باز نباشد
۵۹۸۵/۵۹۸۶WinRMفقط برای مدیریت امن و محدود استفاده شود

مرحله ۹: تنظیمات شبکه، DNS و Time را درست کنید

امنیت فقط به فایروال و رمز عبور محدود نیست. تنظیمات پایه شبکه مثل IP ثابت، DNS درست، نام سرور، PTR، NTP و time synchronization در عیب‌یابی، لاگینگ، Kerberos و ارتباطات سازمانی نقش مهم دارند.

موارد مهم:

  • برای سرور production از IP ثابت استفاده کنید.
  • DNS Serverهای مطمئن تنظیم کنید.
  • نام سرور باید معنی‌دار، مستند و قابل تشخیص باشد.
  • Time Zone و NTP را درست تنظیم کنید.
  • در محیط Domain، هماهنگی زمان برای Kerberos حیاتی است.
  • PTR و DNS رکوردها را برای سرورهای ایمیل یا سرویس‌های عمومی بررسی کنید.

دستورهای مفید:

hostname
ipconfig /all
nslookup example.com
w32tm /query /status
w32tm /query /configuration

برای سرورهای مستقل، یک NTP معتبر تنظیم کنید. برای سرورهای Domain، معمولاً Domain Controller منبع زمان است و باید ساختار time sync دامنه درست طراحی شود.

مرحله ۱۰: SMBv1، NTLMv1، NetBIOS و پروتکل‌های قدیمی را حذف کنید

پروتکل‌های قدیمی یکی از ریسک‌های جدی در ویندوز سرور هستند. بسیاری از آن‌ها برای سازگاری با سیستم‌های legacy باقی مانده‌اند، اما در محیط production مدرن نباید بدون نیاز فعال باشند.

مواردی که باید بررسی شوند:

  • SMBv1
  • NTLMv1
  • LM Hash storage
  • Anonymous enumeration
  • NetBIOS over TCP/IP
  • LMHosts lookup
  • Remote Registry
  • Null Session shares و pipes

بررسی وضعیت SMBv1:

Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

غیرفعال‌سازی SMBv1:

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart

برای NTLM و Kerberos، بهتر است از Group Policy و Security Baseline استفاده کنید؛ چون تنظیمات اشتباه ممکن است روی نرم‌افزارهای قدیمی اثر بگذارد. قبل از حذف پروتکل‌های legacy، dependencyها را بررسی و مستند کنید.

مرحله ۱۱: Microsoft Defender و ضدبدافزار را فعال و مانیتور کنید

در نسخه‌های جدید Windows Server، Microsoft Defender نقش مهمی در امنیت endpoint دارد. اما فقط نصب بودن Defender کافی نیست؛ باید فعال، به‌روز و مانیتور شود.

موارد مهم:

  • Real-time protection فعال باشد.
  • Signatureها به‌روز باشند.
  • Scheduled Scan تعریف شود.
  • Exclusionها با دقت و حداقل‌گرایی تنظیم شوند.
  • هشدارهای Defender مانیتور شوند.
  • Tamper Protection و قابلیت‌های پیشرفته در صورت امکان فعال شوند.

دستورهای مفید PowerShell:

Get-MpComputerStatus
Get-MpPreference
Update-MpSignature
Start-MpScan -ScanType QuickScan

برای سرورهای SQL Server، Exchange، IIS یا نرم‌افزارهای حساس، exclusionها باید با مستندات رسمی همان محصول هماهنگ باشند. Exclusion بیش از حد، امنیت را ضعیف می‌کند؛ exclusion کمتر از حد لازم، ممکن است performance یا عملکرد سرویس را مختل کند.

مرحله ۱۲: BitLocker و رمزنگاری داده‌ها را بررسی کنید

رمزنگاری دیسک برای همه سناریوها یکسان نیست، اما برای سرورهایی که داده حساس دارند، BitLocker می‌تواند بخشی از کنترل‌های امنیتی باشد. این موضوع مخصوصاً در سرورهای فیزیکی، محیط‌های شعبه، دیتاسنترهای shared یا سناریوهایی که ریسک دسترسی فیزیکی مطرح است، مهم‌تر است.

موارد قابل بررسی:

  • آیا اطلاعات حساس روی دیسک ذخیره می‌شود؟
  • آیا سرور فیزیکی است یا VM؟
  • کلیدهای recovery کجا و چگونه نگهداری می‌شوند؟
  • آیا BitLocker با backup و recovery سازگار تست شده است؟
  • آیا رمزنگاری روی performance اثر قابل قبول دارد؟

برای بررسی وضعیت BitLocker:

manage-bde -status

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

مرحله ۱۳: IIS و SQL Server را جداگانه harden کنید

اگر Windows Server شما برای میزبانی وب یا اپلیکیشن استفاده می‌شود، امن‌سازی خود سیستم‌عامل کافی نیست. IIS، SQL Server، .NET، اپلیکیشن و فایل‌سیستم هم باید harden شوند.

چک‌لیست سریع IIS

  • فقط Role Serviceهای لازم IIS را نصب کنید.
  • Directory Browsing را غیرفعال کنید.
  • HTTP Response Headerهای غیرضروری را حذف یا محدود کنید.
  • TLS قدیمی و Cipherهای ضعیف را غیرفعال کنید.
  • Application Poolها را با identity جداگانه اجرا کنید.
  • Upload مسیرها را محدود و مانیتور کنید.
  • لاگ IIS را فعال و نگهداری کنید.
  • Request Filtering را تنظیم کنید.

چک‌لیست سریع SQL Server

  • پورت SQL Server را برای اینترنت عمومی باز نگذارید.
  • از Windows Authentication در صورت امکان استفاده کنید.
  • اکانت sa را غیرفعال یا بسیار سخت‌گیرانه مدیریت کنید.
  • Backup دیتابیس‌ها را رمزنگاری و خارج از سرور نگهداری کنید.
  • حداقل دسترسی برای loginها و userهای دیتابیس رعایت شود.
  • SQL Server و SSMS را به‌روز نگه دارید.
  • Audit و لاگ ورودهای ناموفق را فعال کنید.

اگر وب‌سایت‌های ASP.NET یا نرم‌افزارهای تجاری روی سرور دارید، استفاده از هاست ویندوز حرفه ای یا سرور ویندوز مدیریت‌شده می‌تواند ریسک پیکربندی اشتباه را کاهش دهد.

مرحله ۱۴: Audit Policy، Event Log و مانیتورینگ را فعال کنید

بدون لاگ، بعد از رخداد امنیتی تقریباً کور هستید. باید بدانید چه کسی وارد شده، چه چیزی تغییر کرده، چه سرویس‌هایی stop/start شده‌اند، چه خطاهایی رخ داده و چه تلاش‌های ناموفقی برای ورود انجام شده است.

موارد مهم Audit Policy:

  • Logon/Logoff
  • Account Logon
  • Account Management
  • Policy Change
  • Privilege Use
  • Object Access برای مسیرهای حساس
  • System Events
  • PowerShell Logging

برای بررسی Audit Policy:

auditpol /get /category:*

برای فعال‌سازی نمونه‌ای از audit:

auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Account Lockout" /success:enable /failure:enable
auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable

Event Logها باید اندازه کافی و retention مناسب داشته باشند. لاگی که بعد از چند ساعت overwrite شود، در رخداد واقعی کمک زیادی نمی‌کند.

مسیر بررسی:

Event Viewer > Windows Logs > Security
Event Viewer > Windows Logs > System
Event Viewer > Windows Logs > Application

برای سازمان‌ها، بهتر است لاگ‌ها به SIEM، Syslog collector، Microsoft Sentinel یا ابزار مانیتورینگ مرکزی ارسال شوند.

مرحله ۱۵: بکاپ، System State و Disaster Recovery را جدی بگیرید

Hardening فقط جلوگیری از نفوذ نیست؛ آمادگی برای بازیابی هم بخشی از امنیت است. اگر سرور باج‌افزاری شود، فایل‌ها حذف شوند، آپدیت مشکل ایجاد کند یا دیتابیس خراب شود، بدون بکاپ قابل بازیابی، حتی بهترین تنظیمات امنیتی هم کافی نیستند.

چک‌لیست بکاپ Windows Server:

  • بکاپ کامل از فایل‌ها و دیتابیس‌ها
  • System State Backup برای سرورهای مهم
  • بکاپ خارج از همان سرور
  • نگهداری چند نسخه در بازه‌های زمانی مختلف
  • رمزنگاری بکاپ‌های حساس
  • تست دوره‌ای Restore
  • مانیتورینگ موفق یا ناموفق بودن backup job
  • مستندسازی RTO و RPO

برای محیط‌های Active Directory، بکاپ Domain Controller و System State اهمیت ویژه دارد. برای SQL Server، بکاپ دیتابیس باید با روش صحیح و قابل restore گرفته شود، نه فقط کپی فایل‌های MDF و LDF در زمان اجرا.

اگر سرور شما روی VPS یا سرور اختصاصی است، به snapshot تنها اکتفا نکنید. Snapshot جایگزین کامل backup application-aware نیست.

در نتیجه، امنیت Windows Server بدون بکاپ قابل بازیابی ناقص است؛ چون هیچ تنظیم امنیتی نمی‌تواند احتمال خطای انسانی، خرابی نرم‌افزار یا رخداد باج‌افزاری را به صفر برساند.

مرحله ۱۶: از Microsoft Security Baseline و CIS Benchmark استفاده کنید

برای hardening حرفه‌ای، بهتر است فقط بر اساس تجربه شخصی تنظیمات را تغییر ندهید. Microsoft Security Baseline و CIS Benchmark دو مرجع مهم برای تنظیمات امن هستند.

Microsoft برای Windows Server 2025 یک Security Baseline رسمی ارائه کرده که شامل بیش از ۳۰۰ تنظیم امنیتی است. این baseline با هدف استانداردسازی تنظیمات امنیتی، کاهش خطاهای پیکربندی و هم‌راستا شدن با نیازهای امنیتی سازمانی طراحی شده است.

CIS Benchmark نیز یکی از منابع معتبر برای hardening سیستم‌عامل‌ها و نرم‌افزارهاست و برای Windows Server هم چک‌لیست‌های تنظیمات امن منتشر می‌کند. البته این benchmarkها باید با نقش واقعی سرور، نرم‌افزارهای نصب‌شده و نیاز عملیاتی سازمان تطبیق داده شوند.

روش پیشنهادی:

  1. نسخه Windows Server و نقش سرور را مشخص کنید.
  2. Baseline مناسب همان نسخه را دانلود و بررسی کنید.
  3. تنظیمات را ابتدا در محیط تست اعمال کنید.
  4. تأثیر روی اپلیکیشن‌ها و سرویس‌ها را بررسی کنید.
  5. در production به‌صورت مرحله‌ای rollout کنید.
  6. استثناها را مستند کنید.

برای محیط‌های Active Directory، بهتر است تنظیمات از طریق Group Policy اعمال شوند تا قابل کنترل، قابل بازگشت و قابل گزارش‌گیری باشند.

نکات مهم برای Windows Server 2025

Windows Server 2025 با تمرکز بیشتر بر baseline امنیتی، قابلیت‌های جدیدتر و بهبودهای امنیتی منتشر شده است. اما حتی در نسخه‌های جدید هم نصب پیش‌فرض به معنی امن بودن کامل نیست.

برای Windows Server 2025 این موارد را جدی بگیرید:

  • Security Baseline رسمی Microsoft را بررسی کنید.
  • تنظیمات SMB، NTLM، Kerberos و credential protection را با دقت اعمال کنید.
  • Windows Defender و قابلیت‌های endpoint security را فعال نگه دارید.
  • RDP را محدود و audit کنید.
  • Roleها و Featureهای غیرضروری را نصب نکنید.
  • در محیط‌های جدید از Server Core برای نقش‌هایی که GUI لازم ندارند استفاده کنید.
  • برای سرورهای Domain Controller، baseline سخت‌گیرانه‌تر در نظر بگیرید.

Server Core سطح حمله کمتری نسبت به نصب Desktop Experience دارد، چون اجزای گرافیکی و بسیاری از components غیرضروری را ندارد. البته فقط زمانی از Server Core استفاده کنید که تیم فنی توان مدیریت آن را داشته باشد.

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

در بازار هاستینگ ایران، بسیاری از کاربران Windows Server را برای RDP، IIS، SQL Server، نرم‌افزارهای مالی، اپلیکیشن‌های ASP.NET یا سرویس‌های سازمانی استفاده می‌کنند. این سرورها معمولاً public IP دارند و همین موضوع ریسک را بیشتر می‌کند.

برای سرورهای ویندوزی public این موارد بسیار مهم است:

  • RDP را فقط برای IPهای مشخص باز کنید.
  • از رمزهای طولانی و غیرقابل حدس استفاده کنید.
  • اکانت Administrator را rename یا disable کنید.
  • Windows Firewall را در همه profileها فعال کنید.
  • SQL Server را روی اینترنت عمومی باز نگذارید.
  • IIS را با TLS مناسب و تنظیمات امن اجرا کنید.
  • Defender و آپدیت‌ها را غیرفعال نکنید.
  • بکاپ خارج از سرور داشته باشید.

اگر نیاز شما میزبانی سایت ASP.NET یا اپلیکیشن تحت وب است، استفاده از خرید هاست ویندوز یا هاست ویندوزی می‌تواند ساده‌تر از مدیریت VPS خام باشد. اگر به کنترل کامل، نصب نرم‌افزارهای خاص یا دسترسی RDP نیاز دارید، سرور مجازی آلمان یا خرید سرور مجازی ایران انتخاب مناسب‌تری است، به شرطی که hardening و نگهداری سرور را جدی بگیرید.

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

همه کسب‌وکارها قرار نیست تیم امنیت یا ادمین ویندوز سرور داشته باشند. اگر هدف شما فقط میزبانی یک سایت ASP.NET، نرم‌افزار تحت وب یا دیتابیس مشخص است، همیشه لازم نیست VPS خام بگیرید و همه چیز را خودتان مدیریت کنید.

در چنین شرایطی، انتخاب سرویس مناسب می‌تواند ریسک فنی را کاهش دهد:

  • برای سایت‌ها و اپلیکیشن‌های ویندوزی، خرید هاست ویندوز انتخاب ساده‌تر و کم‌دردسرتری است.
  • برای پروژه‌های حساس‌تر، هاست ویندوز حرفه ای منابع و پایداری بیشتری ارائه می‌دهد.
  • برای کاربرانی که لوکیشن ایران می‌خواهند، هاست ویندوز ایران می‌تواند latency کمتری برای کاربران داخلی داشته باشد.
  • اگر نیاز به پنل Plesk دارید، صفحه لایسنس Plesk برای بررسی هزینه و انتخاب لایسنس مناسب کاربردی است.
  • اگر کنترل کامل سیستم‌عامل، نصب نرم‌افزار خاص یا دسترسی Administrator نیاز دارید، سرور مجازی گزینه مناسب‌تری است.

در نهایت، انتخاب بین هاست ویندوز، VPS ویندوز و سرور اختصاصی باید بر اساس نیاز واقعی، توان مدیریت، حساسیت داده‌ها، بودجه و سطح پشتیبانی موردنیاز انجام شود؛ نه فقط بر اساس قیمت اولیه سرویس.

چک‌لیست سریع امنیت Windows Server

بخشاقدام پیشنهادیاولویت
Inventoryثبت نسخه، roleها، سرویس‌ها، کاربران، پورت‌ها و مالک سرویسخیلی بالا
Updatesآپدیت ویندوز، .NET، نرم‌افزارها، درایورها و firmwareخیلی بالا
Rolesحذف Roleها و Featureهای غیرضروریبالا
Administratorغیرفعال‌سازی یا rename اکانت Administrator و تنظیم رمز قویخیلی بالا
Usersحذف کاربران بلااستفاده و بازبینی گروه Administratorsخیلی بالا
RDPمحدودسازی به IP/VPN، فعال‌سازی NLA و مانیتورینگ لاگ‌هاخیلی بالا
Firewallفعال‌سازی همه Profileها و default-deny برای inboundخیلی بالا
Legacy Protocolsغیرفعال‌سازی SMBv1، NTLMv1، NetBIOS و Remote Registry در صورت عدم نیازبالا
Defenderفعال‌سازی Real-Time Protection، آپدیت signature و اسکن منظمبالا
Loggingفعال‌سازی Audit Policy و افزایش retention لاگ‌هابالا
Backupبکاپ خارج از سرور، System State و تست Restoreخیلی بالا
Baselineاستفاده از Microsoft Security Baseline و CIS Benchmarkبالا

اگر چند سرور ویندوزی دارید، بهتر است امنیت Windows Server را به‌صورت دوره‌ای audit کنید و نتیجه هر بررسی را مستند نگه دارید. این کار هم در مدیریت داخلی کمک می‌کند و هم هنگام رخداد امنیتی، عیب‌یابی را سریع‌تر می‌کند.

منابع رسمی و تکمیلی برای Hardening ویندوز سرور

برای اجرای دقیق‌تر این چک‌لیست، بهتر است علاوه بر تجربه عملی، از منابع رسمی و استاندارد هم استفاده کنید. Microsoft برای نسخه‌های جدید ویندوز سرور، Security Baseline منتشر می‌کند و CIS نیز Benchmarkهای قابل استفاده برای محیط‌های سازمانی ارائه می‌دهد. همچنین برای پیگیری تغییرات hardening و زمان‌بندی enforcement در آپدیت‌های ویندوز، صفحه راهنمای رسمی Microsoft منبع مهمی است.

جمع‌بندی

امنیت Windows Server فقط با نصب آنتی‌ویروس یا بستن یک پورت حل نمی‌شود. یک سرور ویندوزی امن باید از چند لایه دفاعی استفاده کند: آپدیت منظم، حذف اجزای غیرضروری، کنترل کاربران و ادمین‌ها، محدودسازی RDP، فایروال سخت‌گیرانه، غیرفعال‌سازی پروتکل‌های قدیمی، Defender فعال، لاگینگ دقیق، بکاپ قابل بازیابی و baseline استاندارد.

در محیط‌های هاستینگ، امنیت Windows Server فقط به خود سرور محدود نیست و روی اعتبار سرویس، پایداری سایت‌ها و اعتماد مشتریان هم اثر مستقیم دارد. هرچه تعداد کاربران، سایت‌ها، دیتابیس‌ها یا سرویس‌های وابسته بیشتر باشد، اهمیت hardening و مانیتورینگ هم بیشتر می‌شود.

اگر سرور شما روی اینترنت public است، مخصوصاً اگر RDP یا IIS یا SQL Server دارد، باید hardening را قبل از production انجام دهید. سرورهایی که بدون محدودیت RDP، با اکانت Administrator پیش‌فرض، بدون فایروال درست و بدون patch management اجرا می‌شوند، هدف آسانی برای botها و مهاجمان هستند.

برای کسب‌وکارهایی که مدیریت سرور برایشان پیچیده است، استفاده از هاست ویندوز، هاست ویندوز حرفه ای یا سرویس‌های مدیریت‌شده می‌تواند ریسک عملیاتی را کاهش دهد. اما اگر به VPS یا سرور اختصاصی نیاز دارید، حتماً چک‌لیست hardening را به‌عنوان بخشی از فرایند نصب، نگهداری و audit دوره‌ای سرور اجرا کنید.

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

امنیت Windows Server از کجا شروع می‌شود؟

امنیت Windows Server از شناخت وضعیت فعلی سرور شروع می‌شود. ابتدا باید نسخه سیستم‌عامل، roleها، سرویس‌ها، کاربران، پورت‌ها، فایروال، روش‌های remote access و وضعیت بکاپ را بررسی کنید؛ سپس hardening را مرحله‌به‌مرحله انجام دهید.

Hardening ویندوز سرور یعنی چه؟

Hardening یعنی کاهش سطح حمله و امن‌سازی تنظیمات Windows Server از طریق حذف سرویس‌های غیرضروری، محدودسازی دسترسی‌ها، فعال‌سازی فایروال، کنترل RDP، آپدیت منظم، لاگینگ، بکاپ و استفاده از baselineهای امنیتی.

آیا تغییر پورت RDP امنیت را کامل می‌کند؟

خیر. تغییر پورت فقط اسکن‌های ساده را کاهش می‌دهد. امنیت اصلی با محدودسازی IP، VPN، NLA، رمز قوی، MFA، فایروال و مانیتورینگ لاگ‌ها ایجاد می‌شود.

آیا باید اکانت Administrator را غیرفعال کنیم؟

در بسیاری از سناریوها بهتر است اکانت Administrator پیش‌فرض غیرفعال یا حداقل rename شود و یک اکانت مدیریتی جدید با نام غیرقابل حدس و رمز قوی استفاده شود. قبل از غیرفعال‌سازی، حتماً دسترسی جایگزین را تست کنید.

آیا Windows Defender برای سرور کافی است؟

Defender یک لایه مهم امنیتی است، اما کافی نیست. باید در کنار آپدیت، فایروال، least privilege، محدودسازی RDP، لاگینگ، بکاپ و مانیتورینگ استفاده شود.

آیا باید SMBv1 را غیرفعال کنیم؟

بله، اگر وابستگی legacy ندارید، SMBv1 باید غیرفعال شود. قبل از تغییر در محیط‌های قدیمی، وابستگی نرم‌افزارها و دستگاه‌ها را بررسی کنید.

Windows Firewall باید روشن باشد؟

بله. Windows Defender Firewall باید در Profileهای Domain، Private و Public فعال باشد و inbound traffic به‌صورت پیش‌فرض محدود شود. فقط پورت‌های ضروری باید برای IPهای مجاز باز شوند.

برای سرورهای RDP چه تنظیمی مهم‌تر است؟

مهم‌ترین موارد شامل محدودسازی RDP به IP یا VPN، فعال‌سازی NLA، رمز قوی، محدود کردن کاربران Remote Desktop، فعال‌سازی audit log و بررسی تلاش‌های ناموفق ورود است.

آیا Server Core امن‌تر از Desktop Experience است؟

Server Core سطح حمله کمتری دارد چون اجزای گرافیکی و بسیاری از components اضافی را ندارد. اما فقط زمانی مناسب است که تیم فنی توان مدیریت آن را داشته باشد.

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

اگر شما کاربر هاست ویندوز هستید، بخش زیادی از hardening توسط شرکت هاستینگ انجام می‌شود. اما اگر مدیر سرور ویندوز، VPS یا سرور اختصاصی هستید، اجرای این چک‌لیست برای کاهش ریسک ضروری است.

چند وقت یک‌بار باید hardening ویندوز سرور بازبینی شود؟

بعد از نصب اولیه، بعد از هر تغییر مهم، بعد از نصب نرم‌افزار جدید، بعد از آپدیت‌های امنیتی مهم و به‌صورت دوره‌ای، مثلاً ماهانه یا فصلی، باید تنظیمات hardening بازبینی شوند.