Брандмауэр 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
Что держать закрытым
Никогда не выставляйте наружу без ограничения по адресам:
| Порт | Служба | Почему |
|---|---|---|
| 3389 | RDP | перебор паролей начинается в первые часы, см. Защита RDP |
| 1433 | MS SQL | база не должна быть доступна из интернета, см. MS SQL Server |
| 5985, 5986 | WinRM | удалённое управление, только со своих адресов |
| 445 | SMB | классическая цель массовых атак |
Если к базе нужно ходить со своего компьютера, не открывайте 1433, а пробросьте порт внутри RDP-сеанса или поднимите VPN.
Проверка
Изнутри машины порт слушается — это ещё не значит, что он доступен снаружи. Проверяйте с другого узла:
nc -vz ВАШ_АДРЕС 443
curl -I http://ВАШ_АДРЕС
Если снаружи закрыто, а Get-NetTCPConnection показывает слушателя, дело в правиле или в профиле сети: убедитесь, что правило создано в том профиле, который активен (обычно «Общедоступная сеть»).
Частые ошибки
- Отключить брандмауэр целиком «на время отладки». Машину найдут раньше, чем вы закончите. Вместо этого создайте временное правило с ограничением по адресу.
- Открыть порт, забыв про приложение. Многие службы слушают только localhost по умолчанию, правило тут ни при чём.
- Заблокировать себе RDP. Заходите после этого через вкладку «Консоль» в панели
/hosting/vds/m/<id>, режим «Экран», и правьте правило оттуда. - Создать разрешающее правило поверх запрещающего. В Windows запрет всегда выигрывает у разрешения — ищите блокирующее правило с тем же портом.
После каждой правки полезно сохранять снимок конфигурации:
Get-NetFirewallRule -Enabled True | Export-Csv C:\fw.csv. Так вы поймёте, что изменилось, когда сервис внезапно перестанет отвечать.