
Брандмауэр Windows Defender с расширенными функциями безопасности — это ваш первый реальный уровень защиты на сервере Windows. Правильная политика брандмауэра снижает количество атак, предотвращает случайное раскрытие информации и упрощает устранение неполадок, поскольку вы точно знаете, что разрешено.
Это руководство предназначено для серверов, доступных из внешней сети: Windows VPS на VPS-хостинге, где «открыть все» никогда не является безопасным вариантом по умолчанию.
Брандмауэр Windows имеет три профиля. В большинстве развертываний VPS активным профилем является «Публичный». Безопасная базовая настройка:
# View current profile settings
Get-NetFirewallProfile | Select Name, Enabled, DefaultInboundAction, DefaultOutboundAction
# Enable firewall for all profiles (recommended)
Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True

RDP необходим для администрирования, но это также один из наиболее сканируемых портов в Интернете. Безопасный подход:
Важно: всегда держите наготове консоль провайдера / вариант экстренного доступа, прежде чем ужесточать правила RDP, чтобы не заблокировать себе доступ.

# Replace x.x.x.x with your public IP address
New-NetFirewallRule -DisplayName "RDP (3389) - My IP only" `
-Direction Inbound -Protocol TCP -LocalPort 3389 `
-Action Allow -RemoteAddress x.x.x.x
Создайте явные правила для служб, которые вы действительно используете. Типичные примеры на VPS с Windows:
# Web traffic
New-NetFirewallRule -DisplayName "HTTP (80)" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS (443)" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
# Example: SQL Server on 1433 restricted to a management subnet
New-NetFirewallRule -DisplayName "SQL Server (TCP 1433) - Office" `
-Direction Inbound -Protocol TCP -LocalPort 1433 `
-Action Allow -RemoteAddress 203.0.113.0/24
По возможности отдавайте предпочтение правилу для программы для серверных приложений, поскольку оно привязывает разрешение к конкретному исполняемому файлу. Правила для портов проще и чаще используются для серверов, но они могут непреднамеренно разрешить доступ неожиданным приложениям, прослушивающим тот же порт.
Для пользовательских приложений и автоматизации используйте область действия (RemoteAddress), чтобы ограничить круг лиц, имеющих доступ к службе.
Ведение журнала показывает, что блокируется, а что разрешается. Это чрезвычайно полезно, когда пользователи говорят: «не подключается».
Set-NetFirewallProfile -Profile Domain,Private,Public `
-LogFileName "C:WindowsSystem32LogFilesFirewallpfirewall.log" `
-LogMaxSizeKilobytes 32768 `
-LogAllowed True `
-LogBlocked True
pfirewall.log на наличие заблокированных соединений.# From a client/jump host
Test-NetConnection -Port 443
Test-NetConnection -Port 3389
На современных версиях Windows Server рекомендуется использовать PowerShell (модуль NetSecurity). Но в некоторых устаревших скриптах вы все еще можете увидеть netsh advfirewall.
# Example: enable built-in Remote Desktop rule group
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
Стратегия безопасного брандмауэра Windows Server проста и эффективна: по умолчанию блокировать входящий трафик, разрешать только необходимые службы, ограничивать порты управления по IP-адресам и включать ведение журналов для обеспечения прозрачности.
Для рабочих нагрузок в производственной среде разверните систему на надежном VPS под Windows с предсказуемым сетевым взаимодействием на VPS-хостинге — и обеспечьте, чтобы правила брандмауэра были минимальными, задокументированными и легко поддавались аудиту.