Windows Server przychodzi z włączoną zaporą i to jest dobre ustawienie domyślne: wszystko, co próbuje połączyć się z zewnątrz, zostaje odrzucone, chyba że przepuszcza to reguła. Zmienić to trzeba, gdy uruchomisz coś własnego, na przykład aplikację webową na porcie 8080 albo usługę, do której ma dostęp tylko Twoje biuro. Ten poradnik robi wszystko w PowerShell na Windows Server 2022. Każdą regułę wypróbowaliśmy na naszym obrazie i sprawdziliśmy z drugiej maszyny, więc wiesz, że naprawdę otwiera albo zamyka port.
Otwórz PowerShell jako administrator. Jeśli jeszcze tego nie zrobiłeś, najpierw zabezpiecz RDP: tamten poradnik opisuje ograniczanie samego Pulpitu zdalnego.
1. Sprawdź, co jest włączone
Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction
Get-NetConnectionProfile | Format-Table InterfaceAlias, NetworkCategory
Na naszym świeżym serwerze wszystkie trzy profile (Domain, Private, Public) były włączone, a karta sieciowa była w Public. DefaultInboundAction pokazuje NotConfigured, czyli domyślne zachowanie Windows: blokować przychodzące, wpuszczać wychodzące. Liczą się więc reguły profilu Public.
Żeby zobaczyć, co jest dozwolone na wejściu:
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow |
Group-Object DisplayGroup | Sort-Object Count -Descending |
Select-Object Count, Name -First 8
Naliczyliśmy 54 włączone reguły przychodzące. Większość należy do samego Windows (Core Networking, Cast to Device, mDNS), plus trzy reguły Pulpitu zdalnego. Pinga wśród nich nie było.
2. Otwórz port
Załóżmy, że Twoja aplikacja nasłuchuje na porcie TCP 8080:
New-NetFirewallRule -DisplayName 'Web app 8080' -Direction Inbound `
-Protocol TCP -LocalPort 8080 -Action Allow
Reguła działa od chwili utworzenia. Z naszej drugiej maszyny port 8080 zmienił się z zablokowanego na otwarty, a port 8081, na którym też nasłuchiwał program, pozostał zablokowany. Reguła bez -Profile działa we wszystkich profilach, także w Public.
Dla zakresu albo listy użyj -LocalPort 8000-8010 lub -LocalPort 80,443. Dla UDP zmień -Protocol.
3. Wpuszczaj tylko wybrane adresy
Większość usług nie musi przyjmować całego internetu. Ogranicz regułę do adresów, które mają się łączyć:
Set-NetFirewallRule -DisplayName 'Web app 8080' -RemoteAddress 203.0.113.10
Set-NetFirewallRule -DisplayName 'Web app 8080' -RemoteAddress 203.0.113.10, 198.51.100.0/24
Sprawdziliśmy oba warianty. Z obcym adresem w -RemoteAddress nasza maszyna testowa nie mogła się już połączyć. Po dodaniu jej własnego adresu mogła. Ten sam parametr możesz ustawić na regułach Pulpitu zdalnego, żeby RDP był dostępny tylko z biura. Jeśli Twój domowy IP często się zmienia, zastanów się dwa razy, zanim zrobisz tak dla RDP.
4. Włącz ping
Fabrycznie Windows nie odpowiada na ping. Reguła istnieje, ale jest wyłączona:
Enable-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)'
Potem nasz serwer od razu zaczął odpowiadać na ping. Potrzebują tego narzędzia monitorujące, które sprawdzają dostępność przez ping. Żeby wyłączyć go z powrotem, użyj Disable-NetFirewallRule z tą samą nazwą.
5. Loguj, co jest blokowane
Gdy coś nie może się połączyć i nie wiesz dlaczego, niech zapora zapisuje, co odrzuca:
Set-NetFirewallProfile -Profile Public -LogBlocked True -LogMaxSizeKilobytes 4096
Get-Content C:\Windows\System32\LogFiles\Firewall\pfirewall.log -Tail 20
Każda zablokowana próba staje się taką linią:
2026-10-25 02:07:25 DROP TCP 198.51.100.7 203.0.113.25 43386 445 60 S 2112839481 0 64240 - - - RECEIVE 4
Czyta się ją tak: data i godzina, akcja, protokół, adres źródłowy, adres Twojego serwera, port źródłowy, port docelowy. Uzbrój się w cierpliwość: Windows zapisuje log partiami, a nasze testowe wpisy pojawiły się mniej więcej minutę po próbach. Limit 4 MB nie pozwala plikowi rosnąć w nieskończoność.
6. Zrób kopię i posprzątaj
Przed dużą zmianą zapisz wszystkie reguły do pliku:
netsh advfirewall export C:\fw-backup.wfw
Nasz eksport miał 148 KB. netsh advfirewall import C:\fw-backup.wfw przywraca dokładnie ten zestaw i zastępuje to, co jest obecnie. Niepotrzebną regułę usuniesz po nazwie:
Remove-NetFirewallRule -DisplayName 'Web app 8080'
Jeśli odciąłeś sobie dostęp
Jeśli reguła odetnie Twój własny Pulpit zdalny, otwórz konsolę w panelu. Nie działa przez RDP, więc możesz się zalogować i uruchomić Remove-NetFirewallRule albo Set-NetFirewallRule, żeby to cofnąć.
NAT czy własny IP
Na planach z NAT internet dociera do serwera przez jeden osobisty port, który prowadzi do Pulpitu zdalnego. Pozostałe porty są z zewnątrz niedostępne, niezależnie od tego, co dopuścisz w Zaporze Windows. Żeby serwować stronę albo przyjmować połączenia na innych portach, potrzebujesz własnego IPv4: Windows Small-IP (4 vCPU, 4 GB, 50 GB, $28/mies.) daje go ze wszystkimi portami otwartymi i wtedy decyduje Zapora Windows. Windows-Small z NAT kosztuje $11/mies. Wszystkie cztery plany Windows są na stronie Windows VPS, a płatność odbywa się w USDT, USDC lub ETH w sieciach Base, Ethereum lub Polygon.
Komentarze
Brak komentarzy. Bądź pierwszy.