Теоретически брандмауэру Windows требуется огромное количество правил: 65536 для входящего и 65536 для исходящего трафика только для TCP (и, конечно же, это еще нужно умножить на шесть). Однако в реальности точные правила обычно нужно создавать не более чем для нескольких десятков портов и приложений.

 Брандмауэр Windows сам знает, что делать с неупомянутыми портами, поскольку PowerShell позволяет определить правила по умолчанию с помощью команды set-NetFirewallProfile: set-netfirewallprofile profilenamel -all -DefaultlnboundAction AllowlBlock -DefaultOutboundAction AllowlBlock Параметр profilename может принимать значения Public, Private и Domain.

Если вы постоянно читаете эту рубрику или знакомы с основами PowerShell, то сразу догадаетесь, что текущие параметры системы можно узнать с помощью следующей однострочной команды: get-netfirewallprofile I select name, DefaultlnboundAction, DefaultOutBoundAction I ft -a В ответ на эту команду на экран выдаются три профиля и заданные для них по умолчанию действия в отношении входящего и исходящего трафика.

Для большинства систем в результате выполнения команды мы узнаем, что брандмауэр Windows по умолчанию блокирует все входящие порты, а все исходящие оставляет открытыми. Параметр name -profilename name можно пропустить, указав -all, чтобы контролировать

В ответ на такую команду Windows возразит, что это неудачная идея. Восстановить состояние по умолчанию можно с помощью команды: set-netfirewallprofile -all -DefaultlnboundAction Block -DefaultOutboundAction Allow