Kā mainīt noklusējuma RDP portu Windows serverī: droša secība, ugunsmūris un kļūdu novēršana

Kā mainīt noklusējuma RDP portu Windows serverī

RDP jeb Remote Desktop Protocol ir viens no biežāk izmantotajiem veidiem, kā administrēt Windows serverus attālināti. Pēc noklusējuma šis serviss izmanto 3389. portu, un tieši tāpēc tas ir viens no visvairāk skenētajiem portiem internetā. Praktiski tas nozīmē, ka pat pilnīgi neliels Windows serveris ar publisku IP adresi ļoti ātri sāk saņemt bruteforce mēģinājumus, automātisku skenēšanu un nepārtrauktu fonisko troksni žurnālos. Noklusējuma RDP porta maiņa nav pilnvērtīgs drošības aizstājējs, tomēr tā ir noderīga papildu aizsardzības kārta, kas samazina automatizētu uzbrukumu apjomu un padara vidi sakārtotāku no administrēšanas viedokļa.

Šī tēma ir īpaši aktuāla uz virtuālajiem serveriem, kur administrators pats kontrolē Windows ugunsmūri, portus un attālinātās piekļuves politiku. Ja tiek izmantoti jaudīgāki Windows serveri ar lielāku slodzi vai specifisku uzņēmuma programmatūru, porta maiņa bieži tiek veikta arī uz serveru īres risinājumiem. Savukārt, ja nepieciešama nestandarta piekļuves politika, vairākas Windows instances vai kombinācija ar VPN un papildu tīkla noteikumiem, to parasti realizē ar individuālajiem risinājumiem.

Jau pašā sākumā jāpasaka skaidri: porta maiņa nav galvenais drošības mehānisms. Ja serverim ir vājas paroles, publiski pieejams administratora konts, nav ierobežotu IP sarakstu, nav kontu bloķēšanas politikas un nav regulāru atjauninājumu, tad pat jauns ports neatrisinās būtiskākos riskus. Pareiza pieeja ir izmantot porta maiņu kā mazu, bet noderīgu elementu lielākā drošības shēmā, kur ietilpst stipras paroles, VPN vai IP allowlist, Windows atjauninājumi un regulāra žurnālu pārskatīšana.

Pirms sākat, pārliecinieties, ka jums ir rezerves piekļuves veids. Ideālā gadījumā tas ir hostinga panelis ar konsoli, KVM piekļuve, Hyper-V vai VMware konsole, vai cits neatkarīgs administrēšanas ceļš. Ja vienīgais piekļuves veids ir esošā RDP sesija, tad nepareizi iestatīts ports vai ugunsmūra noteikums var atstāt jūs bez piekļuves serverim. Tieši tāpēc pareizā secība ir svarīgāka par pašu tehnisko izmaiņu.

RDP porta vērtība Windows sistēmā tiek glabāta reģistrā. Tas nozīmē, ka pati izmaiņa nav sarežģīta, taču to ir jāveic precīzi. Vispirms izvēlieties jauno portu. Neizmantojiet populārus portus, kas jau bieži tiek lietoti citos servisos, piemēram, 80, 443, 1433 vai 25. Labāka pieeja ir izvēlēties nestandarta TCP portu augstākā diapazonā, piemēram, 20000–50000 robežās, kur ir mazāks konflikta risks un vieglāka pārvaldība.

regedit

Atveriet Windows Registry Editor un dodieties uz šādu ceļu: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp. Tur atrodiet vērtību PortNumber. Pēc noklusējuma tā būs 3389. Atveriet to rediģēšanai un pārejiet uz Decimal skatu, lai ievadītu jauno portu saprotamā decimālā formā. Piemēram, ja vēlaties izmantot 33901, tieši šo skaitli arī ievadiet. Šis ir būtisks sīkums, jo kļūdaini rediģēta vērtība heksadecimālajā vai decimālajā režīmā ir viens no izplatītākajiem iemesliem, kāpēc pēc izmaiņām pieslēgties neizdodas.

PowerShell:
Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' -Name PortNumber -Value 33901

Pēc reģistra maiņas nekādā gadījumā nesteidzieties uzreiz aizvērt veco portu. Vispirms jāatļauj jaunais ports Windows Defender Firewall. Praktiski drošākā secība ir šāda: vispirms izveidot ienākošo noteikumu jaunajam portam, pēc tam pārstartēt RDP servisu vai pašu serveri, pārbaudīt savienojumu uz jauno portu un tikai tad atspējot vai bloķēt 3389. Ja secība tiek sajaukta, administrators bieži pats sev bloķē piekļuvi.

PowerShell:
New-NetFirewallRule -DisplayName "RDP Custom Port 33901" -Direction Inbound -Protocol TCP -LocalPort 33901 -Action Allow

Ja jūsu infrastruktūrā tiek izmantots arī ārējais ugunsmūris, provider drošības grupa vai maršrutētāja līmeņa filtrēšana, jauno portu jāatver arī tur. Tas ir ļoti biežs klupšanas akmens: lokāli Windows ugunsmūrī viss ir pareizi, bet no interneta ports joprojām nav sasniedzams, jo to bloķē cits tīkla slānis. Tāpēc vienmēr domājiet par pilnu ceļu no klienta līdz serverim, nevis tikai par pašu Windows konfigurāciju.

Pēc konfigurācijas maiņas parasti ir nepieciešams pārstartēt attiecīgo servisu vai pašu serveri. Dažreiz pietiek ar Remote Desktop Services pārstartēšanu, taču ražošanas vidē drošākais ceļš bieži ir kontrolēts servera restarts plānotā logā. Tas garantē, ka visas izmaiņas ir nolasītas korekti un novērš daļu “starpstāvokļa” problēmu, kad reģistrs jau ir mainīts, bet serviss vēl darbojas ar iepriekšējo konfigurāciju.

PowerShell:
Restart-Service -Name TermService -Force

Kad serveris ir pārstartēts vai serviss pārlādēts, saglabājiet esošo veco sesiju atvērtu un no cita loga veiciet jaunu pieslēgšanās testu. RDP klientā servera adresi ievada šādā formā: IP_adrese:ports vai servera-nosaukums:ports. Piemēram: 203.0.113.10:33901. Tikai tad, kad jaunais savienojums ir veiksmīgi izveidots un jūs esat pārliecinājies, ka varat atkārtoti pieslēgties, drīkst aizvērt veco sesiju.

Ja viss darbojas, tad nākamais solis ir vecā 3389 porta slēgšana. Atkarībā no jūsu politikas to var darīt, atspējojot noklusējuma Windows ugunsmūra noteikumu vai izveidojot explicit block noteikumu. No drošības viedokļa šis solis ir jēgpilns tikai pēc tam, kad jaunais ports tiešām ir pārbaudīts. Pretējā gadījumā jūs vienkārši palielināt risku pašam sev.

PowerShell:
Disable-NetFirewallRule -DisplayName "Remote Desktop - User Mode (TCP-In)"

Pēc porta nomaiņas ir vērts sakārtot arī citus iestatījumus. Ja attālā administrēšana notiek tikai no dažām IP adresēm, ierobežojiet piekļuvi tieši uz šīm adresēm. Ja iespējams, izmantojiet VPN, lai RDP vispār nebūtu publiski pieejams visam internetam. Tāpat ieteicams pārdēvēt noklusējuma administratora kontu, izmantot konta bloķēšanu pēc vairākiem neveiksmīgiem mēģinājumiem un pārliecināties, ka Network Level Authentication ir ieslēgta.

Praktiskā diagnostika pēc izmaiņām ir tikpat svarīga kā pati maiņa. Pārbaudiet, vai ports tiešām klausās ar netstat vai PowerShell rīkiem, un pēc tam pārbaudiet piekļuvi no ārēja tīkla. Ja pieslēgšanās neizdodas, vispirms pārbaudiet četrus punktus: vai reģistra vērtība ievadīta decimal formātā, vai jaunais ugunsmūra noteikums tiešām ir aktīvs, vai ārējais ugunsmūris atļauj portu, un vai klients pieslēdzas pareizajam portam. Ļoti bieži problēma ir vienkāršs secības vai sintakses sīkums.

PowerShell:
Get-NetTCPConnection -LocalPort 33901
Test-NetConnection -ComputerName 127.0.0.1 -Port 33901

Žurnāli šajā procesā ir ļoti vērtīgi. Event Viewer var parādīt, vai serviss veiksmīgi startējās, savukārt ugunsmūra žurnāli un drošības žurnāli palīdz saprast, vai joprojām nāk mēģinājumi uz veco portu vai jau ir redzami savienojumi uz jauno. No administrēšanas viedokļa tas ir viens no galvenajiem porta maiņas ieguvumiem: mazāk automātiska trokšņa un skaidrāks priekšstats par reāliem pieslēgumiem.

Pārbaude un ieteicamā prakse pēc izmaiņām

Pēc veiksmīgas porta maiņas izpildiet īsu kontrolsarakstu: saglabājiet dokumentācijā jauno portu, pārbaudiet pieslēgšanos no vismaz viena ārēja tīkla, apstipriniet, ka vecais ports vairs nav pieejams, un pārliecinieties, ka rezerves piekļuves kanāls joprojām ir pieejams. Tas ir īpaši svarīgi serveriem, kurus pārvalda vairāki administratori, jo bez dokumentācijas pēc laika kļūst grūti saprast, kā vide patiesībā ir konfigurēta.

Labākā prakse ir neuzskatīt RDP porta maiņu par “galveno drošības pasākumu”, bet gan par vienu no vairākiem saprātīgiem iestatījumiem. Kombinācijā ar VPN, IP allowlist, stiprām parolēm, regulāriem Windows atjauninājumiem un auditētiem kontiem šis solis ir noderīgs un praktisks. Tas nepadara serveri neredzamu, bet tas samazina automatizētus uzbrukumus uz noklusējuma portu, samazina troksni žurnālos un padara attālās administrēšanas vidi organizētāku.

RDP porta maiņa

Drošības nolūkā iesakām nomainīt Jūsu servera noklusējuma RDP portu uz citu Jūsu izvēlētu portu.

1. Atveram “Registry Editor”

2. Reģistros atrodam sekojošu ievadi:

HKEY_LOCAL_MACHINE
 System
  CurrentControlSet
   Control
    TerminalServer
     WinStations
      RDP-Tcp
       PortNumber

3. Atveram “PortNumber” un izvēlnē izvēlamies “Decimal”

4. Ievadam Jūsu izvēlētu porta numuru un spiežam OK

5. Aizveram “Registry Editor”

Tagad esam nomainījuši RDP noklusējuma porta numuru, bet tas papildus ir jānorāda ugunsmūra uzstādījumos, lai serveris atļautu piekļuvi pie šī porta.

1. Atveram “Control panel” un atveram “Firewall”

2. Atveram “Advanced settings”

3. Atveram “Inbound rules” un izveidojam “New Rule…”

4. Izvēlnē izvēlamies “Port”

5. Norādām “TCP” porta tipu un ierakstam iepriekš izvēlēto porta numuru

6. Izvēlamies “Allow the connection”

7. Norādām, kad šis likums strādās

8. Ievadam likuma nosaukumu un vēlams aprakstu (Šiem laukiem ir galvenokārt informatīva nozīme)

9. Spiežam “Finish”

10. Esam izveidojuši jaunu likumu iekš Jūsu “Firewall”

11. Restartējam serveri, lai izmaiņas stātos spēkā

Jaunās izmaiņa stājas spēkā kolīdz serveris ir restartēts. Pēc servera restarta RDP ir pieejas tikai caur jauno porta numuru.