सभी विंडोज़ ऑपरेटिंग सिस्टम में, डिफ़ॉल्ट पोर्ट RDP . को सौंपा गया है (रिमोट डेस्कटॉप प्रोटोकॉल) TCP है 3389 . विंडोज़ में आरडीपी सक्षम करने के बाद, TermService
(रिमोट डेस्कटॉप सर्विसेज) पोर्ट 3389 पर सुनना शुरू कर देता है। इस लेख में, हम आपको दिखाएंगे कि विंडोज के डेस्कटॉप संस्करणों (7/8/10/11) और रजिस्ट्री का उपयोग करके विंडोज सर्वर पर डिफ़ॉल्ट आरडीपी पोर्ट नंबर कैसे बदलें। संपादक और पावरशेल।
ध्यान दें कि विंडोज़ के आधुनिक संस्करण भी UDP . का उपयोग करते हैं टीसीपी के अलावा रिमोट डेस्कटॉप कनेक्शन के लिए एक ही पोर्ट नंबर (3389) के साथ।
आप विंडोज़ में डिफ़ॉल्ट आरडीपी पोर्ट नंबर को 3389 से किसी अन्य में बदल सकते हैं। इसका सबसे अधिक उपयोग तब किया जाता है जब आपको अपने RDP/RDS होस्ट को पोर्ट स्कैनर से छिपाने की आवश्यकता होती है जो खुले RDP पोर्ट TCP/3389 के साथ नेटवर्क पर Windows होस्ट की तलाश करते हैं।
आरडीपी पोर्ट को बदलने से आरडीपी कमजोरियों के दोहन की संभावना कम हो जाएगी (आरडीपी ब्लूकीप में अंतिम महत्वपूर्ण भेद्यता सीवीई-2019-0708 में वर्णित है), आरडीपी ब्रूट फोर्स हमलों की संख्या को कम करें (आरडीपी कनेक्शन लॉग का नियमित रूप से विश्लेषण करना न भूलें) , SYN, और NLA के अक्षम होने पर अन्य प्रकार के हमले। अक्सर, आरडीपी पोर्ट को इंटरनेट (वीपीएस/वीडीएस) से सीधे कनेक्शन वाले कंप्यूटरों पर या नेटवर्क में बदल दिया जाता है जहां एज राउटर आपके लैन में विंडोज़ होस्ट के लिए 3389/आरडीपी पोर्ट करता है।
पोर्ट नंबर बदलने के बावजूद, अपने होस्ट पर इंटरनेट पर RDP पोर्ट को खोलना असुरक्षित है। पोर्ट स्कैनर एक हमलावर को एक नए पोर्ट (हस्ताक्षर द्वारा) पर आरडीपी श्रोता की खोज करने की अनुमति देता है। यदि आप अपने नेटवर्क पर किसी कंप्यूटर पर आरडीपी एक्सेस खोलना चाहते हैं, तो वीपीएन, आरडी वेब एक्सेस, आरडीएस गेटवे और अन्य सुरक्षित कनेक्शन टूल का उपयोग करना बेहतर है।
गैर-मानक RDP पोर्ट चुनते समय, कृपया ध्यान दें कि 1-1023
श्रेणी में पोर्ट का उपयोग करने की अनुशंसा नहीं की जाती है (ज्ञात बंदरगाह)। RPC पोर्ट श्रेणी में डायनेमिक पोर्ट का उपयोग करें (49152 to 65535
), या 1024 to 49151
. की सीमा में कोई पोर्ट जो किसी अन्य सेवा या एप्लिकेशन द्वारा उपयोग में नहीं है।
विंडोज़ पर रिमोट डेस्कटॉप पोर्ट कैसे बदलें?
हमारे उदाहरण में, हम उस पोर्ट नंबर को बदल देंगे जिस पर दूरस्थ डेस्कटॉप सेवा सुन रही है 1350 . ऐसा करने के लिए:
- रजिस्ट्री संपादक खोलें (
regedit.exe
) और रजिस्ट्री कुंजी HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp पर जाएं; - DWORD ढूंढें पोर्टनंबर . नाम के साथ पैरामीटर . यह पैरामीटर उस पोर्ट को दिखाता है जिस पर दूरस्थ डेस्कटॉप सेवा सुन रही है। डिफ़ॉल्ट 3389 (दशमलव) है;
- इस पैरामीटर का मान बदलें। मैंने RDP पोर्ट को 1350 . में बदल दिया है (दशमलव); आप PowerShell का उपयोग करके रजिस्ट्री पैरामीटर को बदल सकते हैं:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -Name PortNumber -Value 1350
- यदि आपके कंप्यूटर पर Windows फ़ायरवॉल सक्षम है, तो आपको एक नया नियम बनाना होगा जो आपके नए RDP पोर्ट से इनबाउंड कनेक्शन की अनुमति देता है। यदि आप RDP के माध्यम से किसी दूरस्थ Windows होस्ट को पुन:कॉन्फ़िगर कर रहे हैं, तो सुनिश्चित करें कि आपने TermService को पुनरारंभ करने से पहले फ़ायरवॉल में अनुमति नियम बना लिया है, अन्यथा, आप सर्वर तक पहुंच खो देंगे;
- आप अपने नए टीसीपी/यूडीपी आरडीपी पोर्ट के लिए विंडोज डिफेंडर फ़ायरवॉल कंसोल (
firewall.cpl
में मैन्युअल रूप से एक अनुमति देने वाला इनबाउंड नियम बना सकते हैं। ) या NetSecurity मॉड्यूल से PowerShell cmdlets का उपयोग करना: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
या आईपी पते से:192.168.1.10:1350
या कमांड प्रॉम्प्ट से:mstsc.exe /v 192.168.1.10:1350
यदि आप RDCMan का उपयोग एकाधिक RDP कनेक्शन प्रबंधित करने के लिए कर रहे हैं, तो आप अपने पास मौजूद RDP पोर्ट निर्दिष्ट कर सकते हैं कनेक्शन सेटिंग . में कॉन्फ़िगर किया गया टैब। - तब आप नए RDP पोर्ट का उपयोग करके कंप्यूटर के दूरस्थ डेस्कटॉप से सफलतापूर्वक कनेक्ट हो जाएंगे। आप
netstat –na | Find “LIST”
यह सुनिश्चित करने के लिए आदेश दें कि आपकी दूरस्थ डेस्कटॉप सेवा एक नए पोर्ट पर सुन रही है।
ध्यान दें कि UDP RDP पोर्ट नंबर भी स्वचालित रूप से 1350 में बदल जाता है (आप इसे TCPView टूल से देख सकते हैं)।
यह जांचने के लिए टेस्ट-नेटकनेक्शन कमांड का उपयोग करें कि डिफ़ॉल्ट आरडीपी पोर्ट 3389 अब बंद हो गया है (TcpTestSucceeded: False
):
Test-NetConnection 192.168.3.102 -port 3389 |select TcpTestSucceeded
अब आपको RDP कनेक्शन के लिए नए पोर्ट 1350 का उपयोग करने की आवश्यकता है।
नोट . यदि आप डिफ़ॉल्ट आरडीपी लिसनिंग पोर्ट नंबर बदलते हैं, तो आपको विंडोज 10 में रिमोट असिस्टेंस, शैडो आरडीपी कनेक्शन के साथ-साथ विंडोज सर्वर पर आरडीएस शैडोइंग का उपयोग करने में कुछ परेशानी हो सकती है।
यदि आप डोमेन कंप्यूटर पर RDP पोर्ट नंबर बदलना चाहते हैं, तो आप समूह नीति सुविधाओं का उपयोग कर सकते हैं। एक नया GPO बनाएं जो PortNumber . को परिनियोजित करेगा डोमेन कंप्यूटर के लिए नए RDP पोर्ट नंबर के साथ रजिस्ट्री पैरामीटर।
RDP लिसनिंग पोर्ट नंबर को PowerShell से बदलें
RDP पोर्ट नंबर बदलने, फ़ायरवॉल नियम बनाने और दूरस्थ डेस्कटॉप सेवा को पुनरारंभ करने के लिए एक पूर्ण PowerShell स्क्रिप्ट इस तरह दिख सकती है:
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 cmdlet का उपयोग कर सकते हैं:
Invoke-Command -ComputerName wksname112 -ScriptBlock {Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value 1350}
यदि आपको अपने AD डोमेन (विशिष्ट OU में) में कई कंप्यूटरों पर दूरस्थ रूप से RDP संख्या बदलने की आवश्यकता है, तो निम्न स्क्रिप्ट का उपयोग करें (आप Get-ADComputer cmdlet का उपयोग करके 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 पोर्ट को बदलने के लिए यह मार्गदर्शिका Windows XP (Windows Server 2003) से शुरू होकर आधुनिक Windows 10, Windows 11 और Windows Server 2022 तक के किसी भी Windows संस्करण के लिए उपयुक्त है।