Port RDP odpowiadający całemu internetowi dostaje próby odgadnięcia hasła kilka minut po uruchomieniu serwera. Długie hasło wytrzyma, ale każda próba to wciąż logowanie, wpis w dzienniku zdarzeń i rozmówca dla następnej luki w RDP. Pięć kroków to naprawia. Każdy jest poleceniem PowerShell i każdy uruchomiliśmy przed publikacją na naszym obrazie Windows Server 2022.
Otwórz PowerShell jako administrator przez RDP (jak się połączyć) i idź po kolei. Krok 4 zrób na końcu: tylko on może odciąć cię od serwera.
1. Długie, unikalne hasło
Jeśli wciąż używasz hasła z pierwszego logowania, zmień je w panelu na długie (20+ znaków, z menedżera haseł). Wszystkie kroki poniżej zakładają, że samego hasła nie da się odgadnąć.
2. Włącz uwierzytelnianie na poziomie sieci (NLA)
Z NLA Windows sprawdza dane logowania zanim utworzy sesję i narysuje ekran logowania. Nieuwierzytelnione połączenia nigdy nie docierają do kodu pulpitu, a właśnie tam były najgłośniejsze luki RDP. Sprawdź obecny stan:
(Get-CimInstance -Namespace root/cimv2/TerminalServices -ClassName Win32_TSGeneralSetting -Filter "TerminalName='RDP-tcp'").UserAuthenticationRequired
1 oznacza, że NLA jest włączone. Jeśli widzisz 0, włącz je:
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1
Obecne klienty Pulpitu zdalnego dla Windows, macOS i Linuksa (xfreerdp) obsługują NLA. Przy następnym połączeniu hasło padnie, zanim pojawi się zdalny ekran.
3. Blokuj konta po nieudanych próbach
Domyślna instalacja Windows Server 2022 nigdy nie blokuje konta, niezależnie od liczby błędnych haseł. Na serwerach zainstalowanych z naszego obrazu od 24 października 2026 r. poniższy limit jest już ustawiony; na starszych ustaw go:
net accounts /lockoutthreshold:5 /lockoutwindow:15 /lockoutduration:15
net accounts
Pięć błędnych haseł w ciągu 15 minut blokuje konto na 15 minut. Sprawdziliśmy: po pięciu nieudanych próbach zablokowany był zarówno zwykły użytkownik, jak i wbudowany Administrator. Blokada znika sama, więc poranek pełen literówek kosztuje kwadrans, a nie serwer.
4. Zezwól na RDP tylko z twojego adresu IP
Ten krok usuwa prawie cały szum. Reguły Zapory systemu Windows przyjmują listę adresów zdalnych; wpisz swój. Swój obecny publiczny IP sprawdzisz na dowolnej stronie „jaki jest mój IP”, potem:
$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
To polecenie znajduje każdą regułę przychodzącą na porcie 3389, nie tylko wbudowaną grupę „Pulpit zdalny”. To ważne: serwery zainstalowane z naszego obrazu przed 24 października 2026 r. mają dodatkową regułę o nazwie „EQVPS RDP 3389”, która otwiera port dla wszystkich, a inne oprogramowanie może dodać własne. Jeśli ograniczysz tylko wbudowaną grupę, taka reguła zostawi port otwarty. Sami popełniliśmy dokładnie ten błąd podczas testów. Sprawdź wynik:
Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule |
Select-Object DisplayName, @{n='Remote';e={($_ | Get-NetFirewallAddressFilter).RemoteAddress}}
W każdym wierszu powinien być twój adres. W naszym teście połączenie z każdego innego adresu nie przechodziło, a z dozwolonego przechodziło.
Na planie NAT działa to tak samo. Przekierowanie z twojego osobistego portu zachowuje twój prawdziwy adres, więc dopuść swój publiczny IP.
Jeśli twój IP się zmieni, RDP przestanie odpowiadać także tobie. Otwórz konsolę w przeglądarce z panelu (nie idzie przez RDP ani przez zaporę), zaloguj się i wykonaj polecenie z nowym adresem. Aby całkowicie zdjąć ograniczenie, użyj -RemoteAddress Any.
5. Zobacz, kto próbuje wejść
Nieudane logowania to zdarzenie 4625 w dzienniku Zabezpieczenia. To polecenie pokazuje nazwę konta i adres każdej próby:
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20 |
Select-Object TimeCreated, @{n='User';e={$_.Properties[5].Value}}, @{n='SourceIP';e={$_.Properties[19].Value}}
Przed listą dozwolonych IP spodziewaj się stałego strumienia Administrator, admin, user z nieznanych adresów. Potem lista powinna ucichnąć.
Czym się nie przejmować
- Zmiana portu RDP. Na planie z własnym IPv4 tylko zmniejsza szum w logu; skanery szybko znajdą nowy port. Na planie NAT psuje dostęp, bo przekierowanie idzie na 3389.
- Wyłączenie zapory, „żeby działało”. Jeśli RDP przestał odpowiadać po zmianie reguły, popraw regułę przez konsolę w przeglądarce.
Aktualizacje
Najpoważniejsze incydenty z RDP wynikały z błędów protokołu, nie z haseł. Windows Server 2022 dostaje aktualizacje zabezpieczeń do 14 października 2031, więc nie wyłączaj Windows Update i restartuj, gdy prosi.
Obraz to Windows Server 2022 z twoją własną licencją (jak działa BYOL). Plany zaczynają się od Windows-Small: 4 vCPU, 4 GB RAM, 50 GB, $11/mies. z NAT. Z własnym IPv4 Windows Small-IP kosztuje $28/mies. Wszystkie cztery plany są na stronie Windows VPS. SSH obok RDP opisuje OpenSSH na Windows Server.
Komentarze
Brak komentarzy. Bądź pierwszy.