Настройка Windows Firewall при помощи PowerShell

В будущих релизах Windows Microsoft планирует отказаться от использовании утилит netsh и для настройки сетевых функций и Windows Firewall будут использоваться только командлеты PowerShell. В Windows Server 2012 и Windows 8 доступен соответствующий модуль NetSecurity, содержащий 27 командлетов для настройки брандмауэра Windows в режиме повышенной безопасности WFAS (Windows Firewall with Advanced Security), охватывающих все возможные настройки и полностью заменяющие «netsh advfirewall».
Список модулей для настройки WFAS

Просмотреть их список очень просто:

PS> Import-Module NetSecurity
PS> Get-Command -Noun "*Firewall*"

Узнать подробную информацию по работе каждого можно при помощи командлета Get-Help. Знакомство упрощает то что названия командлетов пересекаются с командами netsh. Разберем некоторые примеры.
Смотрим текущие установки профилей:

PS> Get-NetFirewallProfile

Настройка профилей

Включаем все профили (Domain, Public, Private).

PS> Set-NetFirewallProfile -All -Enabled True

Вместо параметра «All» можем указать конкретный профиль:

PS> Set-NetFirewallProfile -Profile Domain -Enabled True

Установим для профиля Domain блокировку всех входящих как действие по умолчанию

PS> Set-NetFirewallProfile –Name Domain –DefaultInboundAction Block

Командлет Set-NetFirewallProfile позволяет настроить все параметры профиля: журналирование, добавить IP, порт, протокол и многое другое. Например, можем исключить Ethernet интерфейс из профиля Public, добавляем правило:

PS> Set-NetFirewallProfile -name Public -DisabledInterfaceAliases Ethernet

Все манипуляции с правилами производятся при помощи 7 командлетов *-NetFirewallRule. Для просмотра установленных правил используем командлет Get-NetFirewallRule. Например, выберем только блокирующие правила:

PS> Get-NetFirewallRule -Enabled true -Action block

Создадим правило блокирующее исходящие соединения для IE в двух профилях.

PS> New-NetFirewallRule -Program “C:\Program Files\Internet Explorer\iexplore.exe” -Action Block -Profile Domain, Private -DisplayName “Block IE” -Description “Block IE” -Direction Outbound
PS> New-NetFirewallRule -DisplayName "Allow Inbound OpenVPN Client" -Direction Inbound -LocalPort 1194 -Protocol UDP -Action Allow

Правило может содержать и прочие атрибуты — порт, протокол, интерфейс, направление, путь к программе и т.п. Для примера добавим к правилу протокол, порт и IP удаленной и локальной системы.

PS> Set-NetFirewallRule -DisplayName “Block IE” -Protocol TCP -RemotePort 80 -RemoteAddress “192.168.1.1” -LocalAddress “192.168.1.10”

Смотрим команды:

PS> Get-NetFirewallRule -DisplayName*IE*

Отключается правило очень просто

PS> Disable-NetFirewallRule -DisplayName “Block IE”

Для удаления используется командлет Remove-NetfirewallRule.
Параметр -DisplayGroup позволяет группировать правила, чтобы в дальнейшем задавать параметры сразу всем правилам в группе.

PS> Set-NetFirewallRule -DisplayGroup "Windows Firewall Remote Management" -Enabled True
Теги: , ,

Понравилась статья? Оставьте комментарий или подпишитесь на RSS рассылку.

Комментарии

Комментариев пока что нет

Оставить комментарий

(required)

(required)