−25%

روی پرداخت سالانه Windows، تا ۳۱ اکتبر. مشاهده پلن‌ها

EQVPS
شروع کنید

چگونه RDP را روی VPS ویندوزی ایمن کنیم: NLA، قفل حساب و فهرست IPهای مجاز

پنج گام PowerShell که RDP روی VPS با Windows Server 2022 را از «باز برای همه» به «فقط پاسخ به شما» می‌رساند: احراز هویت در سطح شبکه، قفل حساب، فهرست IPهای مجاز برای همهٔ قانون‌های درگاه 3389 و راهی برای دیدن اینکه چه کسی برای ورود تلاش می‌کند.

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

از راه RDP PowerShell را به‌عنوان مدیر باز کنید (چگونه وصل شویم) و به ترتیب پیش بروید. گام 4 را آخر انجام دهید: فقط همین گام ممکن است شما را پشت در بگذارد.

1. رمز طولانی و یکتا

اگر هنوز رمز نخستین ورود را به کار می‌برید، در داشبورد آن را به رمزی طولانی (20 نویسه یا بیشتر، از مدیر رمز) تغییر دهید. همهٔ گام‌های زیر فرض می‌کنند که خود رمز قابل حدس نیست.

2. احراز هویت در سطح شبکه (NLA) را روشن کنید

با NLA، ویندوز اعتبارنامه‌های شما را پیش از ساختن نشست و کشیدن صفحهٔ ورود بررسی می‌کند. اتصال‌های احراز نشده هرگز به کد میزکار نمی‌رسند، و مشهورترین ضعف‌های RDP درست همان‌جا بودند. وضعیت کنونی را ببینید:

(Get-CimInstance -Namespace root/cimv2/TerminalServices -ClassName Win32_TSGeneralSetting -Filter "TerminalName='RDP-tcp'").UserAuthenticationRequired

1 یعنی NLA روشن است. اگر 0 دیدید، روشنش کنید:

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1

کلاینت‌های کنونی Remote Desktop برای ویندوز، macOS و لینوکس (xfreerdp) از NLA پشتیبانی می‌کنند. اتصال بعدی پیش از نمایش صفحهٔ دور، رمز را می‌پرسد.

3. پس از تلاش‌های ناموفق، حساب را قفل کنید

نصب پیش‌فرض Windows Server 2022 هر چقدر هم رمز نادرست برسد، هیچ حسابی را قفل نمی‌کند. روی سرورهایی که از 24 اکتبر 2026 با ایمیج ما نصب شده‌اند، حد زیر از قبل تنظیم شده است؛ روی سرورهای قدیمی‌تر خودتان آن را بگذارید:

net accounts /lockoutthreshold:5 /lockoutwindow:15 /lockoutduration:15
net accounts

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

4. RDP را فقط از نشانی IP خودتان مجاز کنید

این گام تقریباً همهٔ نویز را از بین می‌برد. قانون‌های دیوارهٔ آتش ویندوز فهرستی از نشانی‌های دور می‌پذیرند؛ نشانی خودتان را بگذارید. IP عمومی کنونی‌تان را در هر صفحهٔ «IP من چیست» ببینید، سپس:

$myIp = '203.0.113.10'   # your public IP; several: '203.0.113.10','198.51.100.0/24'
Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule | Set-NetFirewallRule -RemoteAddress $myIp

این فرمان همهٔ قانون‌های ورودی درگاه 3389 را پیدا می‌کند، نه فقط گروه داخلی «Remote Desktop» را. این نکته مهم است: سرورهایی که پیش از 24 اکتبر 2026 با ایمیج ما نصب شده‌اند قانونی اضافه به نام «EQVPS RDP 3389» دارند که درگاه را برای همه باز می‌کند، و نرم‌افزارهای دیگر هم می‌توانند قانون‌های خودشان را اضافه کنند. اگر فقط گروه داخلی را محدود کنید، چنین قانونی درگاه را باز نگه می‌دارد. ما خودمان هنگام آزمون دقیقاً همین اشتباه را کردیم. نتیجه را بررسی کنید:

Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule |
  Select-Object DisplayName, @{n='Remote';e={($_ | Get-NetFirewallAddressFilter).RemoteAddress}}

در هر سطر باید نشانی شما دیده شود. در آزمون ما اتصال از هر نشانی دیگری بی‌پاسخ ماند و نشانی مجاز وارد شد.

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

اگر IP شما عوض شود، RDP به خود شما هم پاسخ نمی‌دهد. کنسول مرورگر را از داشبورد باز کنید (از RDP و دیوارهٔ آتش نمی‌گذرد)، وارد شوید و فرمان را با نشانی تازه اجرا کنید. برای برداشتن کامل فهرست، از -RemoteAddress Any استفاده کنید.

5. ببینید چه کسی برای ورود تلاش می‌کند

ورودهای ناموفق رویداد 4625 در گزارش Security هستند. این فرمان نام حساب و نشانی هر تلاش را نشان می‌دهد:

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20 |
  Select-Object TimeCreated, @{n='User';e={$_.Properties[5].Value}}, @{n='SourceIP';e={$_.Properties[19].Value}}

پیش از فهرست IPهای مجاز، انتظار جریانی پیوسته از Administrator، admin و user از نشانی‌های ناشناس را داشته باشید. پس از آن، فهرست باید آرام شود.

کارهایی که ارزش وقت ندارند

  • عوض کردن درگاه RDP. در پلن با IPv4 اختصاصی فقط نویز گزارش را کم می‌کند؛ اسکنرها درگاه تازه را زود پیدا می‌کنند. در پلن NAT دسترسی شما را خراب می‌کند، چون هدایت به 3389 می‌رود.
  • خاموش کردن دیوارهٔ آتش «تا کار کند». اگر پس از تغییر قانون RDP پاسخ نداد، قانون را از کنسول مرورگر درست کنید.

به‌روز نگه دارید

جدی‌ترین رخدادهای RDP از ضعف‌های پروتکل آمده‌اند، نه از رمزها. Windows Server 2022 تا 14 اکتبر 2031 به‌روزرسانی امنیتی می‌گیرد؛ پس Windows Update را روشن نگه دارید و هر وقت خواست راه‌اندازی دوباره کنید.

ایمیج، Windows Server 2022 با مجوز خود شماست (BYOL چگونه کار می‌کند). پلن‌ها از Windows-Small شروع می‌شوند: 4 vCPU، 4 GB حافظه، 50 GB، با NAT ماهانه $11. با IPv4 اختصاصی، Windows Small-IP ماهانه $28 است. هر چهار پلن در صفحهٔ Windows VPS هستند. برای SSH در کنار RDP، OpenSSH روی Windows Server را ببینید.

پرسش‌های متداول

آیا عوض کردن درگاه RDP کافی است؟

نه. درگاه دیگر نویز گزارش‌ها را کم می‌کند، اما هر اسکنری ظرف چند ساعت پیدایش می‌کند. در پلن NAT اصلاً عوضش نکنید: درگاه بیرونی شخصی شما به 3389 درون سرور هدایت شده و جابه‌جا کردن RDP این هدایت را خراب می‌کند. فهرست IPهای مجاز کاری را می‌کند که تغییر درگاه فقط وانمود به انجامش می‌کند.

آیا فهرست IPهای مجاز در پلن NAT کار می‌کند؟

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

اگر IP خانه‌ام عوض شود و پشت در بمانم چه؟

از داشبورد کنسول مرورگر را باز کنید. این کنسول مستقیم به صفحهٔ سرور وصل می‌شود، نه از راه RDP، پس دیوارهٔ آتش جلویش را نمی‌گیرد. آنجا وارد شوید و با همان فرمان Set-NetFirewallRule نشانی تازه را تنظیم کنید.

آیا یک بات می‌تواند حساب Administrator مرا قفل کند؟

با سیاست قفل بله، هر بار برای 15 دقیقه: در بیلدهای کنونی Windows Server 2022، Administrator داخلی هم مانند هر حساب دیگری قفل می‌شود (ما بررسی کردیم). به همین دلیل فهرست IPهای مجاز مهم است: باتی که به درگاه 3389 نمی‌رسد، قفل را هم نمی‌تواند به راه بیندازد.

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

بله. جدی‌ترین حمله‌ها به RDP از ضعف‌های خود پروتکل استفاده کرده‌اند، نه از رمزها. Windows Server 2022 تا 14 اکتبر 2031 به‌روزرسانی امنیتی دریافت می‌کند، پس Windows Update را روشن نگه دارید.

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.