- Настройка брандмауэра Windows из командной строки cmd
- Выключение и включение
- Разрешение протоколов
- Закрытие и открытие портов
- Ограничения по IP адресам
- Правила для приложений
- Комбинирования параметров
- Управление правилами Windows Firewall с помощью PowerShell
- Управление сетевыми профилями брандмауэра Windows из PowerShell
- Создание, редактирование и удаление правил Windows Firewall из PowerShell
- Вывод правил Windows Firewall через PowerShell
- Создание правила ICMP для входящего трафика Create an Inbound ICMP Rule
Настройка брандмауэра Windows из командной строки cmd
Брандмауэром Windows можно управлять не только привычным всем способом — через окна панели управления. Командная строка Windows так же имеет команды для управления собственным файрволом операционной системы Microsoft.
Способ управления брандмауэром через командную строку имеет массу незаменимых преимуществ перед оконным способом. Если вы хорошо владеете командной строкой, то гораздо быстрей выполните необходимые настройки написав нужные команды в cmd, чем кликая курсором по окнам. К тому же, консольный способ дает возможность управлять брандмауэром удаленного компьютера незаметно для его пользователя.
Рассмотрим подробнее какие команды есть для настройки брандмауэра Windows из командной строки CMD.
Для управление брандмауэром с помощью команд, командную строку CMD необходимо запустить с правами администратора.
Выключение и включение
Выключение сетевых профилей:
Включение сетевых профилей:
Запрет всех входящих соединений и разрешение исходящих:
Разрешение протоколов
Следующее правило принимает входящий трафик по ICMP-протоколу, проще говоря разрешает ping:
Закрытие и открытие портов
Разрешение входящих протоколов TCP и UDP на 80 порт:
Запрет входящих протоколов на 80 порт:
Открыть диапозон портов для исходящего UDP трафика
Удаление правил по имени
Ограничения по IP адресам
правило ограничивающие подключение одно ip-адреса
Ограничение подключений с диапазона ip-адресов или сетей.
Правила для приложений
Разрешить соединения для программы MyApp.exe
Комбинирования параметров
Можно использовать длинные выражения путем комбинирования сразу нескольких параметров:
Мы создали правило, которое разрешает входящие соединения к приложению MyApp из сетей с ip-адресами 157.60.0.1,172.16.0.0/16 и доменным профилем сетевого подключения.
На официальном сайте Microsoft можно ознакомится с примерами сравнения старого контекста Windows XP и нового, который начал использоваться в Windows 7.
Управление правилами 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
Если вы управляете настройками 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
Чтобы удалить правило брандмауэре используется командлет 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 сервере.
Создание правила ICMP для входящего трафика Create an Inbound ICMP Rule
Область применения Applies to
- Windows 10 Windows 10
- Windows Server 2016 Windows Server 2016
Чтобы разрешить входящий сетевой трафик ICMP, создайте правила брандмауэра с помощью брандмауэра Защитник Windows с дополнительными службами безопасности в оснастке управления групповыми политиками MMC. To allow inbound Internet Control Message Protocol (ICMP) network traffic, use the Windows Defender Firewall with Advanced Security node in the Group Policy Management MMC snap-in to create firewall rules. Этот тип правила позволяет компьютерам в сети отправить и получить запросы и ответы ICMP. This type of rule allows ICMP requests and responses to be sent and received by computers on the network.
Учетные данные администратора Administrative credentials
Для выполнения этих процедур необходимо быть членом группы «Администраторы домена» или получить другие делегирование разрешений на изменение таких групп. To complete these procedures, you must be a member of the Domain Administrators group, or otherwise be delegated permissions to modify the GPOs.
В этом разделе описывается создание правила порта, которое разрешает входящий сетевой трафик ICMP. This topic describes how to create a port rule that allows inbound ICMP network traffic. Другие типы правил входящие порты см. в: For other inbound port rule types, see:
Создание правила ICMP для входящие ICMP To create an inbound ICMP rule
Откройте консоль управления групповыми политиками для Защитник Windows брандмауэра с расширенными мерами безопасности. Open the Group Policy Management Console to Windows Defender Firewall with Advanced Security.
В области навигации щелкните «Правила для входящие». In the navigation pane, click Inbound Rules.
Щелкните «Действие» и выберите «Новое правило». Click Action, and then click New rule.
На странице «Тип правила» мастера «Новые правила для входящие» щелкните «Настраиваемый» и нажмите кнопку «Далее». On the Rule Type page of the New Inbound Rule Wizard, click Custom, and then click Next.
На странице «Программа» щелкните «Все программы» и нажмите кнопку «Далее». On the Program page, click All programs, and then click Next.
На странице «Протокол и порты» выберите ICMPv4 или ICMPv6 в списке типов протокола. On the Protocol and Ports page, select ICMPv4 or ICMPv6 from the Protocol type list. Если в сети используются как IPv4, так и IPv6, необходимо создать отдельное правило ICMP для каждого из них. If you use both IPv4 and IPv6 on your network, you must create a separate ICMP rule for each.
Нажмите кнопку «Настроить». Click Customize.
В диалоговом окне «Настройка параметров ICMP» сделайте одно из следующих параметров: In the Customize ICMP Settings dialog box, do one of the following:
Чтобы разрешить весь сетевой трафик ICMP, щелкните «Все типы ICMP» и нажмите кнопку «ОК». To allow all ICMP network traffic, click All ICMP types, and then click OK.
Чтобы выбрать один из предварительно определенных типов ICMP, щелкните «Определенные типы ICMP», а затем выберите каждый тип в списке, который необходимо разрешить. To select one of the predefined ICMP types, click Specific ICMP types, and then select each type in the list that you want to allow. Нажмите кнопку ОК. Click OK.
Чтобы выбрать тип ICMP, который не будет отображаться в списке, щелкните «Определенные **** типы ICMP», выберите в списке номер типа, выберите в списке код, нажмите кнопку «Добавить» и выберите в списке только что созданную запись. **** **** To select an ICMP type that does not appear in the list, click Specific ICMP types, select the Type number from the list, select the Code number from the list, click Add, and then select the newly created entry from the list. Нажмите ОК Click OK
Нажмите кнопку Далее. Click Next.
На странице «Область» можно указать, что правило применяется только к сетевому трафику с IP-адресов, введенного на этой странице, или с них. On the Scope page, you can specify that the rule applies only to network traffic to or from the IP addresses entered on this page. Настройте его соответствующим образом и нажмите кнопку «Далее». Configure as appropriate for your design, and then click Next.
На странице действий выберите «Разрешить подключение» и нажмите кнопку «Далее». On the Action page, select Allow the connection, and then click Next.
На странице «Профиль» выберите типы сетевых расположений, к которым применяется это правило, и нажмите кнопку «Далее». On the Profile page, select the network location types to which this rule applies, and then click Next.
На странице «Имя» введите имя и описание правила и нажмите кнопку «Готово». On the Name page, type a name and description for your rule, and then click Finish.