Skip to content
VDS · Windows Server

Брандмауер Windows: відкриваємо потрібне

Як відкрити порт для вашого сервісу, обмежити доступ за адресою та переконатися, що правило справді працює, не втративши доступ до сервера.

Оновлено 23 серпня 2026 р.

На VDS із Windows Server брандмауер — це єдиний фільтр між вашими сервісами та інтернетом: IPv4-адреса публічна, і перед машиною немає зовнішнього щита. Тож правило просте: назовні відкрито лише те, що ви відкрили свідомо.

Що відкрито зараз

Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction
Get-NetFirewallRule -Enabled True -Direction Inbound |
  Where-Object Action -eq Allow |
  Get-NetFirewallPortFilter | Select-Object Protocol, LocalPort -Unique
Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess

Остання команда показує, які порти взагалі прослуховуються. Сервіс, що слухає лише на 127.0.0.1, недоступний ззовні незалежно від правил.

Відкрити порт

Вебсервер:

New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

Власний сервіс лише для довірених адрес:

New-NetFirewallRule -DisplayName "App 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 `
  -RemoteAddress 203.0.113.5,198.51.100.0/24 -Action Allow

Правило для конкретної програми замість порту надійніше, якщо застосунок використовує динамічні порти:

New-NetFirewallRule -DisplayName "MyApp" -Direction Inbound -Program "C:\apps\myapp.exe" -Action Allow

Видалити та переглянути правило:

Remove-NetFirewallRule -DisplayName "App 8080"
Get-NetFirewallRule -DisplayName "App 8080" | Format-List

Що тримати закритим

Ніколи не відкривайте назовні без обмеження за адресами:

ПортСервісЧому
3389RDPперебір паролів починається вже в перші години, див. Захист RDP
1433MS SQLбаза даних не повинна бути доступною з інтернету, див. MS SQL Server
5985, 5986WinRMвіддалене керування, лише з ваших адрес
445SMBкласична ціль масових атак

Якщо потрібен доступ до бази даних зі свого комп'ютера, не відкривайте 1433; натомість перенаправте порт усередині сесії RDP або налаштуйте VPN.

Перевірка

Те, що порт прослуховується зсередини машини, ще не означає, що він доступний ззовні. Перевірте з іншого хоста:

nc -vz YOUR_ADDRESS 443
curl -I http://YOUR_ADDRESS

Якщо ззовні закрито, але Get-NetTCPConnection показує слухача, проблема в правилі або в мережевому профілі: переконайтеся, що правило створено в активному профілі (зазвичай «Публічна мережа»).

Типові помилки

  • Повне вимкнення брандмауера «для діагностики». Машину знайдуть раніше, ніж ви закінчите. Натомість створіть тимчасове правило з обмеженням за адресами.
  • Порт відкрили, а про застосунок забули. Багато сервісів за замовчуванням слухають лише на localhost; правило тут ні до чого.
  • Заблокували собі доступ до RDP. Після цього зайдіть через вкладку «Консоль» у панелі /hosting/vds/m/<id>, режим «Екран», і відредагуйте правило звідти.
  • Створили правило дозволу поверх правила заборони. У Windows заборона завжди перемагає дозвіл — шукайте блокувальне правило з тим самим портом.

Після кожної зміни корисно зберегти знімок конфігурації: Get-NetFirewallRule -Enabled True | Export-Csv C:\fw.csv. Так ви зрозумієте, що змінилося, коли сервіс раптом перестане відповідати.