ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопасность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

5 минут чтени€

Windows включает в себ€ надежный (в целом 🙄), но простой в использовании, брандмауэр с расширенными возможност€ми. ј с помощью PowerShell 7 можно легко настроить его из командной строки. ¬ этой статье описываютс€ общие команды, используемые в межсетевом экране Windows, а также возможные способы их использовани€.

ћодуль NetSecurity хорошо задокументирован. ”чтите, что эта стать€ относитс€ только к операционной системе Windows. ƒл€ других операционных систем существуют другие инструменты командной строки, которые могут использоватьс€ дл€ выполнени€ тех же задач, такие как UFW или IPTables в Linux.


¬ызов модул€ NetSecurity

ѕредустановленный в системе модуль NetSecurity обладает всем необходимым функционалом дл€ управлени€ правилами межсетевого экрана Windows. „тобы задействовать данный модуль, достаточно импортировать его показанным ниже способом (конечно же команду запускаем в PowerShell):

Import-Module -Name 'NetSecurity'

¬ывод списка правил

 омандлет Get-NetFirewallRule выводит список настроенных правил. ¬ системе большое количество предварительно настроенных правил, но дл€ примера мы выбрали первые 10:

Get-NetFirewallRule | Select-Object DisplayName, Enabled, Direction, Action -First 10
Get-NetFirewallRule

ѕо умолчанию, командлет выводит все параметры, но на примере выше мы выбрали всего четыре из них (они, собственно, перечислены в команде). ј получить все параметры можно командой:

Get-NetFirewallRule | Select-Object * -First 1
Get-NetFirewallRule | Select-Object * -First 1

—оздание нового правила

—оздать новое правило позвол€ет команда New-NetFirewallRule. ќсновные параметры, которые нужно передать команде следующие:

  • DisplayName - название правила;
  • Direction - Ќаправление трафика, которое нужно блокировать. ћожет быть либо вход€щим (Inbound), либо »сход€щим (Outbound);
  • Action - ƒействие правила. ѕравило может быть либо –азрешающим (Allow), либо «апрещающим (Block).
$Params = @{ "DisplayName" = 'Block WINS' "Direction" = 'Inbound' "Action" = 'Block' "RemoteAddress" = 'WINS' }
New-NetFirewallRule @Params

≈сли не указан параметр Name, система сгенерирует случайный GUID. DisplayName может быть читабельным, но сам Name будет сгенерирован случайным образом.


»зменение существующего правила

„то если нужно изменить какой-то параметр правила, не удал€€ и пересоздава€ его? ƒл€ этого нужно задействовать командлет Set-NetFirewallRule.

$Params = @{
"DisplayName" = 'Block WINS'
"Action" = 'Allow'
}

Set-NetFirewallRule @Params

ƒанна€ команда также позвол€ет вносить изменени€ в несколько правил сразу. Ёто можно сделать, передав команде одно из трех параметров правила:

  • Name - ѕараметр по умолчанию. ≈сли команде переданы несколько параметров Name в виде строки или же через пайплайн (|), изменени€ коснутс€ каждого из правил;
  • DisplayName - так же, как и в случае с параметром Name, команде можно передать нескольких правил, чтобы изменить их;
  • DisplayGroup или Group - ≈сли несколько правил сгруппированы, то команде можно передать название этой группы и внести изменени€ во все члены указанной группы.

”даление правила

», наконец, мы хотим удалить правило, которое больше не нужно. ƒл€ этого запускаем командлет Remove-NetFirewallRule. “акже при удалении часто рекомендуетс€ использовать параметр WhatIf, который позвол€ет убедитьс€ в том, что будет удалено нужное правило.

Remove-NetFirewallRule -DisplayName "Block WINS"

—ледует отметить, что данный командлет позвол€ет удал€ть несколько правил сразу. Ќа примере ниже мы удал€ем все отключенные правила, которые содержит группова€ политика firewall_gpo в домене ad.local.test.

Remove-NetFirewallRule -Enabled 'False' -PolicyStore 'ad.local.test\\firewall_gpo'

«апущенный сам по себе командлет Remove-NetFirewallRule достаточно полезный, но в то же врем€ опасный, так как удал€ет все локально созданные правила. ≈сли есть доменна€ группова€ политика, определ€юща€ правила межсетевого экрана, данна€ команда удалит все локальные правила, конфликтующие с правилами групповой политики.


ƒополнительные возможности

ћодуль NetSecurity включает в себ€ множество других команд, которые мы не затронули в данной статье. ѕоэтому ниже приводим список и возможности данных команд.

  • Copy-NetFirewallRule - данна€ команда копирует существующее правило и все св€занные с ними фильтры в то же или другое хранилище политик;
  • Disable-NetFirewallRule - отключает ранее созданное правило. ќтключенное правило не удал€етс€ из базы, но уже никак не вли€ет на трафик. ≈сли запустить эту команду без параметров, то она отключит все активные правила на целевой машине. ѕоэтому если не указано конкретное правило или группа правил, рекомендуетс€ всегда запускать данную команду с параметром WhatIf;
  • Enable-NetFirewallRule - в противовес предыдущей команде, данный командлет включает все отключенные правила. ≈сли не указано конкретное правило, то данную команду также рекомендуетс€ запускать с параметром WhatIf;
  • Get-NetFirewallProfile - эта команда отображает параметры, настроенные дл€ указанного профил€, например, профилей Domain, Private или Public;
  • Get-NetFirewallSettings - глобальные параметры брандмауэра можно получить с помощью команды Get-NetFirewallSettings. Ёто такие параметры, как параметры сертификатов, организаци€ очередей пакетов или списки авторизации;
  • Rename-NetFirewallRule - данна€ команда позвол€ет переименовать существующее правило. Ёто полезно, если правило было создано без указани€ имени, таким образом получив случайный GUID в качестве название, и предпочтительно назначить читабельное название;
  • Set-NetFirewallProfile - дл€ установки определенных параметров отдельных профилей можно использовать команду Set-NetFirewallProfile. Ёто позвол€ет каждому профилю иметь различные настройки;
  • Set-NetFirewallSettings - позвол€ет настроить поведение межсетевого экрана независимо от используемого профил€ сети;
  • Show-NetFirewallRule - эта вспомогательна€ команда отображает правила брандмауэра и св€занные с ними объекты в виде отформатированного списка.

ƒанный модуль также включает расширенные возможности дл€ управлени€ IPSec. ”казанные выше команды управл€ют стандартными настройками межсетевого экрана Windows.


«аключение

—уществует множество команд дл€ управлени€ межсетевым экраном Windows. ¬ этой статье рассматриваютс€ только некоторые из них, наиболее важные команды дл€ быстрого вывода списка, создани€, изменени€ и удалени€ правил брандмауэра. Ќо с помощью модул€ NetSecurity можно сделать настройки и посложнее.