Windows powershell отключить брандмауэр

Управление правилами Windows Firewall с помощью PowerShell

Эта статья посвящена основам управления настройками и правилами встроенного Windows Firewall из командной строки PowerShell. Мы рассмотрим, как включать/отключать брандмауэр для различных профилей, создавать и удалять правила файервола, и рассмотрим небольшой скрипт, позволяющий сформировать удобную таблицу с текущим набором активных правил брандмауэра.

Вы можете управлять настройками Windows Firewall из графической консоли Control Panel -> System and Security -> Windows Defender Firewall. Однако начиная с Windows 8.1 (Windows Server 2012R2) для управления встроенным брандмауэром в систему был добавлен встроенный PowerShell модуль NetSecurity.

В модуле NetSecurity в Windows 10 доступно 85 команд. Вы можете вывести их список:

Get-Command -Module NetSecurity

Управление сетевыми профилями брандмауэра Windows из PowerShell

В Windows Firewall есть три типа сетевых профилей:

  • Domain (Доменный) – применяется к компьютерам, включенным в домен Active Directory;
  • Private (Частный) – домашние или рабочие сети;
  • Public (Общий) – общедоступные сети.

Каждый профиль может отличаться используемым набором правил файервола. По умолчанию все сетевые интерфейсы компьютера защищены фаейрволом и к ним применяются все три типа профилей.

Чтобы включить все три сетевых профиля Domain, Public и Private, используйте команду:

Set-NetFirewallProfile -All -Enabled True

Либо укажите конкретный профиль вместо All:

Set-NetFirewallProfile -Profile Public -Enabled True

Чтобы отключить файервол для всех трех сетевых профилей, используется команда:

Set-NetFirewallProfile -All -Enabled False

С помощью командлета Set-NetFirewallProfile вы можете изменить параметры профиля (действие по-умолчанию, журналирование, путь и размер файла журнала, настройки оповещений и т.д.).

Как вы вероятно знаете, по умолчанию Windows Firewall включен в современных ОС для всех профилей. В настройках профилей разрешены все исходящие подключения и блокируется входящие (кроме разрешенных).

Изменим действие по-умолчнию для профиля Public – заблокировать все входящие подключения.

Set-NetFirewallProfile –Name Public –DefaultInboundAction Block

Текущие настройки профиля можно вывести так:

Get-NetFirewallProfile -Name Public

Читайте также:  Linux download with curl

Если вы управляете настройками Windows Firewall через GPO, вы можете вывести текущие результирующие настройки профилей так:

Get-NetFirewallProfile -policystore activestore

Проверим, что все параметры брандмауэра применяются ко всем сетевым интерфейса компьютера.

Get-NetFirewallProfile -Name Public | fl DisabledInterfaceAliases

Если все интерфейсы защищены, команда должна вернуть:

Можно отключить определенный профиль для интерфейса (вывести список имен интерфейсов можно с помощью командлета Get-NetIPInterface).

Set-NetFirewallProfile -Name Public -DisabledInterfaceAliases «Ethernet0»

Как вы видите, теперь профиль Public не применяется к интерфейсу Ethernet0:

Вы можете настроить параметры логирования сетевых подключений на уровне каждого профиля. По умолчанию журналы Windows Firewall хранятся в каталоге %systemroot%\system32\LogFiles\Firewall, размер файла – 4 Мб. Вы можете изменить включить журналирование подключений и увеличить максимальный размер файла:

Set-NetFireWallProfile -Profile Domain -LogBlocked True -LogMaxSize 20000 -LogFileName ‘%systemroot%\system32\LogFiles\Firewall\pfirewall.log’

Создание, редактирование и удаление правил Windows Firewall из PowerShell

Для управления правилами брандмауэра есть 9 командлетов:

  • New-NetFirewallRule
  • Copy-NetFirewallRule
  • Disable-NetFirewallRule
  • Enable-NetFirewallRule
  • Get-NetFirewallRule
  • Remove-NetFirewallRule
  • Rename-NetFirewallRule
  • Set-NetFirewallRule
  • Show-NetFirewallRule

Рассмотрим несколко простых примеров открытия портов в Windows Firewall.

Например, вы хотите разрешить входящие TCP подключения на порты 80 и 443 для профилей Domain и Private, воспользуйтесь такой командой:

New-NetFirewallRule -DisplayName ‘WEB-Inbound’ -Profile @(‘Domain’, ‘Private’) -Direction Inbound -Action Allow -Protocol TCP -LocalPort @(’80’, ‘443’)

Вы можете разрешить или заблокировать трафик для конкретной программы. Например, вы хотите заблокировать исходящие соединения для FireFox:

New-NetFirewallRule -Program “C:\Program Files (x86)\Mozilla Firefox\firefox.exe” -Action Block -Profile Domain, Private -DisplayName “Block Firefox” -Description “Block Firefox” -Direction Outbound

Разрешим входящее RDP подключение по порту 3389 только с IP одного адреса:

New-NetFirewallRule -DisplayName «AllowRDP» –RemoteAddress 192.168.1.55 -Direction Inbound -Protocol TCP –LocalPort 3389 -Action Allow

Чтобы разрешить ping для адресов из указанной подсети, используйте команды:

$ips = @(«192.168.1.50-192.168.1.60», «192.165.2.22-192.168.2.200», ”10.10.0.0/16”)

New-NetFirewallRule -DisplayName «Allow inbound ICMPv4» -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -RemoteAddress $ips -Action Allow

New-NetFirewallRule -DisplayName «Allow inbound ICMPv6» -Direction Inbound -Protocol ICMPv6 -IcmpType 8 -RemoteAddress $ips -Action Allow

Чтобы отредактировать имеющееся правило брандмауэра, используется командлет Set-NetFirewallRule. Например, вы хотите разрешить входящие подключения с указанного IP адреса для ранее созданного правила:

Get-NetFirewallrule -DisplayName ‘WEB-Inbound’ | Get-NetFirewallAddressFilter | Set-NetFirewallAddressFilter -RemoteAddress 192.168.1.20

Если нужно добавить в правило файервола несколько IP адресов, используйте такой скрипт:

$ips = @(«192.168.1.50», «192.165.2.22»,”192.168.1.20”)

Get-NetFirewallrule -DisplayName ‘WEB-Inbound’|Set-NetFirewallRule -RemoteAddress $ips

Вывести все IP адреса, которые содержатся в правиле брандмауэра:

Get-NetFirewallrule -DisplayName ‘Allow inbound ICMPv4’|Get-NetFirewallAddressFilter

Вы можете включать/отключать правила файервола с помощью командлетов Disable-NetFirewallRule и Enable-NetFirewallRule.

Disable-NetFirewallRule –DisplayName ‘WEB-Inbound’

Чтобы разрешить ICMP (ping), выполните команду:

Enable-NetFirewallRule -Name FPS-ICMP4-ERQ-In

Читайте также:  Write into file linux

Чтобы удалить правило брандмауэре используется командлет Remove-NetFirewallRule.

Вывод правил Windows Firewall через PowerShell

Список активных правил для входящего трафика можно вывести так:

Если, например, нам нужно вывести список блокирующих исходящих правил:

Get-NetFirewallRule -Action Block -Enabled True -Direction Outbound

Если нужно отобразить имя программы в правиле:

Get-NetFirewallRule -Action Block -Enabled True -Direction Outbound | %

Как вы видите командлет Get-NetFirewallRule не выводит порты сетевые порты и IP адреса для правил брандмауэра. Чтобы вывести всю информацию о разрешенных входящих (исходящих) подключениях в более удобном виде с отображением номеров портов, используйте такой скрипт:

PowerShell предоставляет широкие возможности по управлению правилами Windows Firewall из командной строки. Вы можете автоматически запускать скрипты PowerShell для открытия/закрытия портов при возникновении определенных событий. В следующей статье мы рассмотрим простую систему на базе PowerShell и Windows Firewall для автоматической блокировки IP адресов, с которых выполняется удаленный перебор паролей по RDP на Windows VDS сервере.

Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки.

Инструменты пользователя

Инструменты сайта

Боковая панель

Содержание

Как корректно отключить и включить Брандмауэр Windows

Не рекомендуется полностью останавливать или отключать службу Брандмауэр Windows / Брандмауэр Защитника Windows (mpssvc). Если на время нужно отключить фильтрацию трафика то можно сделать это одним из перечисленных здесь методов.

Утилита netsh

Чтобы выключить все профили брандмауэра Windows с помощью утилиты netsh, с правами администратора выполним команду:

Чтобы включить обратно, выполним команду:

Командлеты PowerShell

Чтобы выключить все профили брандмауэра Windows с помощью PowerShell, с правами администратора выполним команду:

Чтобы включить обратно, выполним команду:

Обратите внимание на то, что если в домене Active Directory правила брандмауэра Windows настраиваются с помощью групповых политик, указанные выше команды могут не дать желаемого результата, не смотря на то, что отрабатывать они будут без ошибок.

Проверено на следующих конфигурациях:

Версия ОС
Windows 10 1803 (17134.345) Professional RU 64-bit

Автор первичной редакции:
Алексей Максимов
Время публикации: 16.10.2018 16:24

Как включить или отключить Брандмауэр в Windows 10

Брандмауэр в Windows 10 — функция, которая проверяет входящий и исходящий сетевой трафик, чтобы разрешить или заблокировать этот трафик в зависимости от правил защиты вашего устройства от несанкционированного доступа. Есть много причин по которым нужно включить или отключить брандмауэр в Windows 10. К примеру, когда вы устанавливаете сторонний брандмауэр, то встроенный брандмауэр Windows 10 автоматически отключается, но не всегда. И в этом случае нужно проверить его вручную, отключен ли он. Или же наоборот, когда вы удалили сторонний брандмауэр, нужно проверить, включен ли встроенный брандмауэр Windows 10. На самом деле причин отключить брандмауэр Windows 10 куда больше, чем кажется, и для каждого они индивидуальны. Какова бы ни была причина, Windows 10 позволяет вам отключать и включать брандмауэр с помощью защитника Windows, панели управления, командной строки и даже PowerShell.

Как отключить или включить Брандмауэр через защитник Windows

Шаг 1. Нажмите в трее двумя щелчками мыши по защитнику Windows, чтобы открыть его параметры. Или откройте «Параметры» > «Обновление и безопасность» > «Безопасность Windows» > справа «Открыть службы Безопасности Windows«. У вас откроются параметры антивируса. Перейдите «Брандмауэр и безопасность сети» и с правой стороны вы увидите три сети: домена, частная и общедоступная. В зависимости хотите вы отключить брандмауэр в Windows 10 или включить, выберите по порядку три сети.

Шаг 2. В каждой из этих сетей будет ползунок с отключением или включением брандмауэра Windows 10. Выберите с вашими потребностями.

Как включить или отключить Брандмауэр через панель управления

Шаг 1. Нажмите сочетание кнопок на клавиатуре Win+R и введите firewall.cpl, чтобы попасть сразу в параметры брандмауэра в панели управления.

Шаг 2. С левой стороны в столбце нажмите на «Включение и отключение брандмауэра защитника Windows«.

Шаг 3. Включите или отключите брандмауэр Windows 10, устанавливая точки в пунктах, с вашими потребностями. Нажмите OK.

Как отключить или включить Брандмауэр в Windows 10 через CMD

Запустите командную строку от имени администратора и введите:

  1. netsh advfirewall set currentprofile state off — отключить.
  2. netsh advfirewall set currentprofile state on — включить.

Дополнительные команды, если кому будут нужны. Просто меняйте в конце off (отключить) на on (включить) с вашими потребностями:

  • netsh advfirewall set allprofiles state off — для всех сетевых профилей (домен, частный и общедоступный).
  • netsh advfirewall set domainprofile state off — для сетевого профиля домена.
  • netsh advfirewall set privateprofile state off — для профиля частной сети.
  • netsh advfirewall set publicprofile state off — для профиля общедоступной сети.

Как включить или отключить Брандмауэр в Windows 10 через PowerShell

Запустите PowerShell от имени администратора и введите следующую команду:

  1. Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False — отключить.
  2. Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False — включить.

Domain , Public , Private (домена, частная, общедоступная) это тип сетей, который вам нужно заменить в команде на свой. На картинке ниже я использовал Public.

Оцените статью