برای فعالسازی Remote Desktop روی ویندوز سرور، در Server Manager گزینه Remote Desktop را در بخش Local Server روی Enabled بگذارید، فقط کاربران مجاز را به گروه Remote Desktop Users اضافه کنید و پورت 3389 را در فایروال ویندوز باز نگه دارید. بعد از آن، با برنامه Remote Desktop Connection (دستور mstsc) به آدرس سرور وصل میشوید. اتصال بدون محافظت اضافی، یکی از رایجترین راههای حمله به سرورهای ویندوز است؛ پس همان لحظه NLA، رمز قوی و محدودیت آدرس را هم تنظیم کنید.
اگر نیاز به بیش از دو نشست همزمان مدیریتی دارید، به لایسنس RDS (Remote Desktop Services) و CAL نیاز است؛ توضیح آن در لایسنس ریموت دسکتاپ ویندوز سرور آمده است. این راهنما فقط فعالسازی و امنسازی RDP برای مدیریت سرور را پوشش میدهد.
پیشنیازهای فعالسازی Remote Desktop
- یک حساب با دسترسی مدیر روی سرور
- آدرس IP یا نام سرور که از کلاینت قابل دسترس باشد
- اگر سرور پشت NAT یا فایروال شبکه است، دسترسی TCP به پورت RDP از مسیر مجاز باشد
مدیریت کلی سرورهای ویندوزی در مدیریت ویندوز سرور توضیح داده شده است.
مرحله اول: فعالسازی Remote Desktop با Server Manager و PowerShell
از رابط گرافیکی:
- Server Manager را باز کنید و به Local Server بروید.
- روی مقدار کنار Remote Desktop (معمولاً Disabled) کلیک کنید.
- گزینه Allow remote connections to this computer را انتخاب کنید.
- گزینه Allow connections only from computers running Remote Desktop with Network Level Authentication را روشن نگه دارید.
با PowerShell:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "UserAuthentication" -Value 1خط اول اتصال را مجاز میکند، خط دوم قانونهای فایروال مربوط به RDP را فعال میکند و خط سوم NLA را الزامی میکند.
مرحله دوم: تعیین کاربران مجاز
اعضای گروه Administrators همیشه میتوانند وصل شوند. برای بقیه، کاربر را به گروه Remote Desktop Users اضافه کنید:
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "alice"
Get-LocalGroupMember -Group "Remote Desktop Users"اگر سرور عضو دامنه است، گروه مناسب را در Active Directory بسازید و بهجای تکتک کاربران، آن را اضافه کنید. تنظیمات دامنه در Active Directory در ویندوز سرور آمده است. فقط افرادی که واقعاً نیاز دارند دسترسی بگیرند.
مرحله سوم: اتصال از کلاینت
در ویندوز، Win + R را باز کنید، mstsc را بزنید و آدرس سرور را بنویسید. در مک و موبایل، برنامه Windows App (Remote Desktop سابق) از فروشگاه رسمی مایکروسافت را به کار ببرید. برای اتصال به پورت غیراستاندارد، آدرس را به شکل 203.0.113.10:3390 بنویسید.
امنسازی RDP
RDP که مستقیم روی اینترنت باز باشد، مدام هدف حدس رمز است. اقدامات زیر را بهترتیب اولویت اجرا کنید:
| اقدام | چرا |
|---|---|
| NLA فعال باشد | قبل از ساخت نشست، احراز هویت میخواهد |
| رمز قوی و قفل حساب | جلوی حدس رمز را میگیرد |
| دسترسی فقط از IP مجاز یا VPN | سطح حمله را کم میکند |
| عدم استفاده از حساب Administrator پیشفرض | نام کاربری هدف حدسزدنی نباشد |
| بهروزرسانی ویندوز | آسیبپذیریهای RDP برطرف میشوند |
| ثبت و بررسی لاگ ورودها | حمله زودتر دیده میشود |
بهترین کار این است که RDP را مستقیم روی اینترنت باز نگذارید و از VPN یا Remote Desktop Gateway استفاده کنید.
محدود کردن آدرس در فایروال
قانون پیشفرض RDP از همه آدرسها اجازه میدهد. آن را فقط به آدرسهای مجاز محدود کنید:
Set-NetFirewallRule -DisplayGroup "Remote Desktop" -RemoteAddress 203.0.113.0/24
Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Get-NetFirewallAddressFilterآدرس نمونه است؛ آدرس دفتر یا VPN خودتان را بنویسید. اگر فایروال سختافزاری یا میکروتیک هم دارید، آنجا هم محدودیت بگذارید. روشهای ساخت قانون در مدیریت فایروال آمده است.
قفل حساب برای حدس رمز
سیاست قفل شدن حساب بعد از چند تلاش ناموفق از Local Security Policy یا Group Policy تنظیم میشود:
- Account lockout threshold: مثلاً 5 تلاش
- Account lockout duration: مثلاً 15 دقیقه
عدد را با نیاز سازمان تنظیم کنید؛ مقدار خیلی کم، کاربران واقعی را هم قفل میکند و ممکن است حمله را به قفل کردن عمدی حسابها (DoS) تبدیل کند.
تغییر پورت پیشفرض
تغییر پورت 3389 به عدد دیگر نویز اسکن را کم میکند، ولی امنیت واقعی نمیآورد. اگر میخواهید، در رجیستری مقدار PortNumber را در مسیر HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp عوض کنید، در فایروال پورت جدید را باز کنید و سرویس یا سرور را راهاندازی مجدد کنید. اتصال را در یک نشست دوم امتحان کنید پیش از بستن نشست فعلی. با ابزار تست پورت باز میتوانید ببینید پورت از بیرون در دسترس است یا نه.
مشکلات رایج اتصال
| پیام یا نشانه | علت و راه حل |
|---|---|
| «Remote Desktop can’t connect to the remote computer» | RDP خاموش است، فایروال یا مسیر شبکه مسدود کرده یا آدرس اشتباه است |
| «The connection was denied because the user account is not authorized» | کاربر عضو Remote Desktop Users نیست |
| «The number of connections to this computer is limited» | نشستهای همزمان پر است؛ نشست قدیمی را ببندید یا لایسنس RDS تنظیم کنید |
| «An authentication error has occurred. The function requested is not supported» | NLA یا CredSSP کلاینت و سرور همخوان نیست؛ هر دو را بهروز کنید |
| «Your credentials did not work» | نام کاربری یا رمز اشتباه، یا حساب قفل شده |
| اتصال برقرار میشود ولی صفحه سیاه است | مشکل درایور گرافیک یا نشست قبلی؛ نشست را Reset کنید |
برای دیدن و بستن نشستها از خط فرمان:
query user
logoff 2عدد 2 شناسه نشست است که از خروجی دستور اول میگیرید.
سوالات متداول
آیا باز گذاشتن RDP روی اینترنت خطرناک است؟
بله. RDP مستقیم روی اینترنت یکی از اهداف اصلی حدس رمز و سوءاستفاده از آسیبپذیریهاست. از VPN یا Remote Desktop Gateway و محدودیت IP استفاده کنید.
چند نفر همزمان میتوانند وصل شوند؟
برای مدیریت، ویندوز سرور معمولاً دو نشست همزمان مدیریتی میدهد. بیشتر از آن، نقش RDS و CAL لازم دارد.
با کاربر Administrator وصل نمیشوم، چرا؟
ممکن است حساب غیرفعال، قفل یا محدود به محل خاص باشد. وضعیت حساب و سیاستهای گروهی را بررسی کنید.
آیا بدون رابط گرافیکی هم میشود؟
بله. در نصب Server Core از PowerShell و ابزار sconfig استفاده کنید و RDP را با دستورهای بالا فعال کنید.





