সকল উইন্ডোজ অপারেটিং সিস্টেমে, RDP (রিমোট ডেস্কটপ প্রোটোকল)-এ অ্যাসাইন করা ডিফল্ট পোর্ট হল TCP ৩৩৮৯। উইন্ডোজে RDP সক্ষম করার পর, TermService (Remote Desktop Services) পোর্ট ৩৩৮৯-এ লিসেন করা শুরু করে। এই আর্টিকেলে, আমরা দেখাব কীভাবে ডেস্কটপ সংস্করণের উইন্ডোজ (৭/৮/১০/১১) এবং উইন্ডোজ সার্ভারে রেজিস্ট্রি এডিটর এবং পাওয়ারশেল ব্যবহার করে ডিফল্ট RDP পোর্ট নম্বর পরিবর্তন করা যায়।
লক্ষ্য করুন যে আধুনিক উইন্ডোজ সংস্করণগুলো RDP সংযোগের জন্য TCP-এর পাশাপাশি একই পোর্ট নম্বর (৩৩৮৯) সহ UDP-ও ব্যবহার করে।

আপনি উইন্ডোজে ডিফল্ট RDP পোর্ট নম্বর ৩৩৮৯ থেকে যেকোনো অন্য পোর্টে পরিবর্তন করতে পারেন। এটি সবচেয়ে বেশি তখন ব্যবহার করা হয় যখন আপনাকে আপনার RDP/RDS হোস্টকে পোর্ট স্ক্যানার থেকে লুকাতে হয় যা নেটওয়ার্কে খোলা RDP পোর্ট TCP/৩৩৮৯ সহ উইন্ডোজ হোস্ট খুঁজে বের করে।
RDP পোর্ট পরিবর্তন করলে RDP দুর্বলতা শোষণ (সাম্প্রতিক ক্রিটিক্যাল RDP দুর্বলতা BlueKeep CVE-2019-0708-এ বর্ণিত), RDP ব্রুট ফোর্স আক্রমণের সংখ্যা (RDP সংযোগ লগ নিয়মিত বিশ্লেষণ করা ভুলবেন না), SYN, এবং অন্যান্য ধরণের আক্রমণ কম হয় যখন NLA ডিজেবল থাকে। সবচেয়ে বেশি, RDP পোর্ট পরিবর্তন করা হয় ইন্টারনেটের সাথে সরাসরি সংযোগ থাকা কম্পিউটারে (VPS/VDS), বা उन নেটওয়ার্কে যেখানে এজ রাউটার পোর্ট ৩৩৮৯/RDP একটি উইন্ডোজ হোস্টে আপনার LAN-এ ফরওয়ার্ড করে।
পোর্ট নম্বর পরিবর্তন করলেও, আপনার হোস্টে RDP পোর্ট ইন্টারনেটে খোলা রাখা অনিরাপদ। পোর্ট স্ক্যানার আক্রমণকারীরা নতুন পোর্টে RDP লিসেনার সিগনেচার দিয়ে আবিষ্কার করতে পারে। আপনি আপনার নেটওয়ার্কের একটি কম্পিউটারে RDP অ্যাক্সেস খোলতে চাইলে, ভিপিএন, RD Web Access, RDS Gateway, এবং অন্যান্য নিরাপদ সংযোগ টুল ব্যবহার করা ভালো।
একটি নন-স্ট্যান্ডার্ড RDP পোর্ট নির্বাচন করার সময়, দ্রষ্টব্য যে 1-1023 পরিসরের পোর্টগুলো (স্বীকৃত পোর্ট) ব্যবহার করা পরামর্শ দেওয়া হয় না। RPC পোর্ট পরিসরে (49152 to 65535) একটি ডাইনামিক পোর্ট ব্যবহার করুন, বা 1024 to 49151 পরিসরে যেকোনো পোর্ট যা অন্য কোনো সার্ভিস বা অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হচ্ছে না।
উইন্ডোজে রিমোট ডেস্কটপ পোর্ট কীভাবে পরিবর্তন করবেন?
আমাদের উদাহরণে, আমরা রিমোট ডেস্কটপ সার্ভিস যে পোর্টে লিসেন করছে সেটি ১৩৫০-এ পরিবর্তন করব। এটি করার জন্য:
- রেজিস্ট্রি এডিটর (
regedit.exe) খুলুন এবং রেজিস্ট্রি কী HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp-এ যান; - PortNumber নামে DWORD প্যারামিটারটি খুঁজুন। এই প্যারামিটারটি সেই পোর্টটি দেখায় যেখানে রিমোট ডেস্কটপ সার্ভিস লিসেন করছে। ডিফল্টভাবে ৩৩৮৯ (দশমিক);
- এই প্যারামিটারের মান পরিবর্তন করুন। আমি RDP পোর্টকে ১৩৫০ (দশমিক) এ পরিবর্তন করেছি;
আপনি পাওয়ারশেল ব্যবহার করে রেজিস্ট্রি প্যারামিটার পরিবর্তন করতে পারেন: Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -Name PortNumber -Value 1350 - যদি আপনার কম্পিউটারে উইন্ডোজ ফায়ারওয়াল সক্রিয় থাকে, তবে আপনাকে আপনার নতুন RDP পোর্টে ইনবাউন্ড সংযোগ অনুমতি দেওয়া একটি নতুন 룰 তৈরি করতে হবে। আপনি যদি RDP-এর মাধ্যমে একটি রিমোট উইন্ডোজ হোস্ট রিকনফিগার করছেন, তবে TermService রিস্টার্ট করার আগে ফায়ারওয়ালে অনুমতি রুল তৈরি করুন নিশ্চিত হন, অন্যথায় আপনি সার্ভারের অ্যাক্সেস হারিয়ে ফেলবেন;
- আপনি উইন্ডোজ ডিফেন্ডার ফায়ারওয়াল কনসোল (
firewall.cpl) এ ম্যানুয়ালি বা NetSecurity মডিউল থেকে পাওয়ারশেল কমান্ডলেট ব্যবহার করে আপনার নতুন TCP/UDP RDP পোর্টের জন্য একটি অনুমতি দেওয়া ইনবাউন্ড রুল তৈরি করতে পারেন:New-NetFirewallRule -DisplayName "NewRDPPort-TCP-In" -Direction Inbound -LocalPort 1350 -Protocol TCP -Action allow
New-NetFirewallRule -DisplayName "NewRDPPort-UDP-In" -Direction Inbound -LocalPort 1350 -Protocol UDP -Action allow
- আপনার কম্পিউটার রিবুট করুন বা রিমোট ডেস্কটপ সার্ভিস এই কমান্ড দিয়ে রিস্টার্ট করুন:
net stop termservice & net start termservice
- এই উইন্ডোজ হোস্টের সাথে রিমোট ডেস্কটপের মাধ্যমে সংযোগ করতে, আপনাকে আপনার mstsc.exe ক্লায়েন্টে নতুন RDP সংযোগ পোর্ট নির্দিষ্ট করতে হবে কলন ব্যবহার করে:
RDPComputerName:1350বা IP ঠিকানা দিয়ে:192.168.1.10:1350বা কমান্ড প্রম্পট থেকে:mstsc.exe /v 192.168.1.10:1350
আপনি যদি একাধিক RDP সংযোগ পরিচালনা করতে RDCMan ব্যবহার করেন, তবে আপনি কনফিগার করা RDP পোর্টটি Connection Settings ট্যাবে নির্দিষ্ট করতে পারেন।
- তারপর আপনি নতুন RDP পোর্ট ব্যবহার করে একটি কম্পিউটারের রিমোট ডেস্কটপের সাথে সফলভাবে সংযোগ করবেন। আপনি
netstat –na | Find “LIST”কমান্ড ব্যবহার করে নিশ্চিত করতে পারেন যে আপনার রিমোট ডেস্কটপ সার্ভিস একটি নতুন পোর্টে লিসেন করছে।
লক্ষ্য করুন যে UDP RDP পোর্ট নম্বরটিও স্বয়ংক্রিয়ভাবে ১৩৫০-এ পরিবর্তন হয়েছে (আপনি TCPView টুল দিয়ে এটি চেক করতে পারেন)।

Test-NetConnection কমান্ড ব্যবহার করে চেক করুন যে ডিফল্ট RDP পোর্ট ৩৩৮৯ এখন বন্ধ (TcpTestSucceeded: False):
Test-NetConnection 192.168.3.102 -port 3389 |select TcpTestSucceeded
এখন আপনাকে RDP সংযোগের জন্য নতুন পোর্ট ১৩৫০ ব্যবহার করতে হবে।

নোট। আপনি যদি ডিফল্ট RDP লিসেনিং পোর্ট নম্বর পরিবর্তন করেন, তবে রিমোট অ্যাসিস্ট্যান্স, উইন্ডোজ ১০-এ শ্যাডো RDP সংযোগ, সেইসাথে উইন্ডোজ সার্ভারে RDS শ্যাডোইং ব্যবহার করার সময় কিছু সমস্যা হতে পারে।
আপনি যদি ডোমেন কম্পিউটারগুলোর RDP পোর্ট নম্বর পরিবর্তন করতে চান, তবে আপনি গ্রুপ পলিসি ফিচার ব্যবহার করতে পারেন। একটি নতুন GPO তৈরি করুন যা ডোমেন কম্পিউটারগুলোর কাছে নতুন RDP পোর্ট নম্বর সহ PortNumber রেজিস্ট্রি প্যারামিটার স্থাপন করবে।
পাওয়ারশেল দিয়ে RDP লিসেনিং পোর্ট নম্বর পরিবর্তন করুন
RDP পোর্ট নম্বর পরিবর্তন, ফায়ারওয়াল রুল তৈরি, এবং রিমোট ডেস্কটপ সার্ভিস রিস্টার্ট করার একটি সম্পূর্ণ পাওয়ারশেল স্ক্রিপ্ট নিচেরভাবে দেখতে পারে:
Write-host "Specify the number of your new RDP port: " -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value $RDPPort
New-NetFirewallRule -DisplayName "NewRDPPort-TCP-In-$RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "NewRDPPort-UDP-In-$RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol UDP -Action Allow
Restart-Service termservice -force
Write-host "The number of the RDP port has been changed to $RDPPort " -ForegroundColor Magenta
আপনি একটি রিমোট কম্পিউটারের RDP পোর্ট নম্বর পরিবর্তন করতে পারেন। এটি করার জন্য, আপনাকে রিমোট কম্পিউটারে WinRM সক্ষম করতে হবে, এবং তারপর আপনি Invoke-Command কমান্ডলেট ব্যবহার করে কম্পিউটারের সাথে সংযোগ করতে পারেন:
Invoke-Command -ComputerName wksname112 -ScriptBlock {Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value 1350}
আপনার AD ডোমেনে একাধিক কম্পিউটারের RDP নম্বর রিমোটলি পরিবর্তন করতে হলে (নির্দিষ্ট OU-এ), নিচের স্ক্রিপ্টটি ব্যবহার করুন (Get-ADComputer কমান্ডলেট ব্যবহার করে OU-এ কম্পিউটারদের তালিকা পেতে পারেন):
Write-host "Specify the number of your new RDP port: " -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
$PCs = Get-ADComputer -Filter * -SearchBase "CN=IT,CN=Computers,CN=NY,DC=woshub,DC=com"
Foreach ($PC in $PCs) {
Invoke-Command -ComputerName $PC.Name -ScriptBlock {
param ($RDPPort)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value $RDPPort
New-NetFirewallRule -DisplayName "NewRDPPort-TCP-In-$RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "NewRDPPort-UDP-In-$RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
Restart-Service termservice -force
}
ডিফল্ট RDP পোর্ট পরিবর্তন করার এই গাইড উইন্ডোজ XP (উইন্ডোজ সার্ভার ২০০৩) থেকে শুরু করে আধুনিক উইন্ডোজ ১০, উইন্ডোজ ১১, এবং উইন্ডোজ সার্ভার ২০২২ বিল্ড পর্যন্ত যেকোনো উইন্ডোজ সংস্করণের জন্য উপযুক্ত।