Windows Server постачається з увімкненим брандмауером, і це правильне налаштування за замовчуванням: усе, що намагається під'єднатися ззовні, відхиляється, якщо правило не дозволяє інакше. Змінювати це доведеться, коли ви запустите щось своє: вебзастосунок на порту 8080 чи сервіс, до якого має ходити лише ваш офіс. Ця інструкція робить усе через PowerShell у Windows Server 2022. Кожне правило ми випробували на нашому образі й перевірили з другої машини, тож ви знаєте, що порт справді відкривається чи закривається.
Відкрийте PowerShell від імені адміністратора. Якщо ще не зробили, спершу захистіть RDP: та інструкція розповідає, як обмежити сам віддалений робочий стіл.
1. Подивіться, що ввімкнено
Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction
Get-NetConnectionProfile | Format-Table InterfaceAlias, NetworkCategory
На нашому свіжому сервері всі три профілі (Domain, Private, Public) були ввімкнені, а мережевий адаптер був у Public. DefaultInboundAction показує NotConfigured, тобто стандартну поведінку Windows: вхідні блокувати, вихідні дозволяти. Отже, важать правила для профілю Public.
Щоб побачити, що дозволено на вхід:
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow |
Group-Object DisplayGroup | Sort-Object Count -Descending |
Select-Object Count, Name -First 8
Ми нарахували 54 увімкнені вхідні правила. Більшість належить самій Windows (Core Networking, Cast to Device, mDNS), плюс три правила віддаленого робочого столу. Ping серед них не було.
2. Відкрийте порт
Припустімо, ваш застосунок слухає TCP-порт 8080:
New-NetFirewallRule -DisplayName 'Web app 8080' -Direction Inbound `
-Protocol TCP -LocalPort 8080 -Action Allow
Правило працює з моменту створення. З другої машини порт 8080 із закритого став відкритим, а порт 8081, на якому теж слухала програма, лишився закритим. Правило без -Profile діє в усіх профілях, зокрема в Public.
Для діапазону чи списку використовуйте -LocalPort 8000-8010 або -LocalPort 80,443. Для UDP змініть -Protocol.
3. Пускайте лише потрібні адреси
Більшості сервісів не треба приймати весь інтернет. Обмежте правило адресами, які мають під'єднуватися:
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
Ми перевірили обидва варіанти. Із чужою адресою в -RemoteAddress наша тестова машина більше не могла під'єднатися. Коли додали її власну адресу, змогла. Той самий параметр можна поставити на правила віддаленого робочого столу, щоб RDP був доступний лише з офісу. Якщо ваш домашній IP часто змінюється, подумайте двічі, перш ніж робити так для RDP.
4. Увімкніть ping
З коробки Windows не відповідає на ping. Правило є, але вимкнене:
Enable-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)'
Після цього наш сервер одразу почав відповідати на ping. Це потрібно системам моніторингу, які перевіряють доступність через ping. Щоб вимкнути знову, використайте Disable-NetFirewallRule з тією самою назвою.
5. Записуйте, що блокується
Коли щось не може під'єднатися й незрозуміло чому, хай брандмауер записує, що він відкидає:
Set-NetFirewallProfile -Profile Public -LogBlocked True -LogMaxSizeKilobytes 4096
Get-Content C:\Windows\System32\LogFiles\Firewall\pfirewall.log -Tail 20
Кожна заблокована спроба стає таким рядком:
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
Читається він так: дата й час, дія, протокол, адреса джерела, адреса вашого сервера, порт джерела, порт призначення. Наберіться терпіння: Windows пише журнал порціями, і в нашому тесті записи з'явилися приблизно за хвилину після спроб. Ліміт 4 МБ не дає файлу рости безкінечно.
6. Збережіть правила й наведіть лад
Перед великою зміною збережіть усі правила у файл:
netsh advfirewall export C:\fw-backup.wfw
Наш експорт зайняв 148 КБ. netsh advfirewall import C:\fw-backup.wfw повертає саме цей набір, замінюючи все, що є зараз. Непотрібне правило видаляється за назвою:
Remove-NetFirewallRule -DisplayName 'Web app 8080'
Якщо ви закрили собі доступ
Якщо правило відрізало ваш власний віддалений робочий стіл, відкрийте консоль в особистому кабінеті. Вона працює не через RDP, тож ви зможете увійти й виконати Remove-NetFirewallRule або Set-NetFirewallRule, щоб усе скасувати.
NAT чи власний IP
На тарифах із NAT інтернет потрапляє на ваш сервер через один персональний порт, що веде на віддалений робочий стіл. Інші порти ззовні недоступні, хоч би що ви дозволили в брандмауері Windows. Щоб тримати сайт чи приймати з'єднання на інші порти, потрібен власний IPv4: Windows Small-IP (4 vCPU, 4 ГБ, 50 ГБ, $28/міс) дає його з усіма відкритими портами, і тоді вирішує вже брандмауер Windows. Windows-Small з NAT коштує $11/міс. Усі чотири Windows-тарифи — на сторінці Windows VPS, оплата в USDT, USDC або ETH у мережах Base, Ethereum або Polygon.
Коментарі
Поки немає коментарів. Будьте першим.