Быстрая проверка: включён ли брандмауэр Windows 11
Откройте Центр безопасности Защитника Windows: Пуск → Настройки → Конфиденциальность и защита → Безопасность Windows → «Открыть Центр безопасности Защитника Windows» → «Брандмауэр и защита сети». На этой странице для доменного, частного и общедоступного профиля показан отдельный статус. Зелёная метка «Вкл.» означает, что фильтрация входящего и исходящего трафика активна, красная «Откл.» — что защита снята.
Командный ответ на тот же вопрос даёт одна строка в PowerShell, запущенном от имени администратора: Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction. Значение False в столбце Enabled показывает профиль, который сейчас не фильтрует трафик, даже если интерфейс выглядит благополучно.
Дальше разобраны три уровня проверки: общее состояние, активные сетевые профили и применение конкретных правил. В конце — команды для мониторинга и разбор ситуаций, когда брандмауэр молчит вопреки настройкам.
Через Центр безопасности Защитника Windows
Интерфейс «Безопасность Windows» показывает профили отдельными строками: «Доменная сеть», «Частная сеть», «Общедоступная сеть».
- Зелёная галочка и подпись «Вкл.»: профиль фильтрует трафик, правила применяются.
- Красный крест и «Откл.»: защита выключена, работают только правила стороннего продукта либо ничего.
- Серая строка с пометкой об отсутствии подключения: профиль неактивен. Доменный профиль не работает вне домена Active Directory, поэтому серая строка там ожидаема.
- Клик по строке открывает страницу профиля с переключателем и ссылками на правила для входящих и исходящих подключений.
Отключение брандмауэра Windows дублируется уведомлением в центре уведомлений, но оно теряется в общем потоке. Красный баннер в Центре безопасности держится, пока профиль выключен, поэтому состояние удобнее смотреть в нём.
Через Панель управления
Классический интерфейс открывается командой control firewall.cpl: нажмите Win+R, вставьте строку, Enter. Альтернативный путь: Панель управления → Система и безопасность → Брандмауэр Защитника Windows.
Сверху отображаются блоки «Частные сети» и «Общественные сети» с зелёным щитом и надписью «Подключение: защищено» либо с красным щитом и «Подключение: не защищено». Ссылки «Включение и отключение брандмауэра Защитника Windows» и «Дополнительные параметры» ведут к переключателям и к оснастке wf.msc.
Серые переключатели с пометкой «Параметры управляются администратором» означают, что состояние задаёт групповая политика или профиль MDM. Локально их не изменить даже из-под администратора.
Чек-лист на две минуты:
- Открыть «Безопасность Windows» или control firewall.cpl.
- Проверить индикатор каждого активного профиля.
- Убедиться, что переключатель стоит в положении «Вкл.».
- Если профиль выключен, включить его и сразу проверить доступ к сетевым сервисам: RDP, SMB, публикация приложений.
Расширенные настройки, открытие портов и разрешения для приложений с примерами команд собраны в статье «Брандмауэр Windows 10 и 11: как включить, отключить и настроить».
Проверка сетевых профилей брандмауэра Windows 11
Windows 11 хранит три независимых набора правил: доменный (Domain), частный (Private) и публичный (Public). В каждый момент применяется один профиль — тот, что соответствует типу подключения. Правила остальных профилей лежат без дела.
Практическое следствие: правило, открывающее порт 3389 для RDP в частном профиле, не сработает на ноутбуке в общедоступной сети Wi-Fi, и подключение заблокируется без единой ошибки в интерфейсе брандмауэра.
Как определить текущий сетевой профиль
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
Столбец NetworkCategory принимает значения DomainAuthenticated, Private или Public. Первое означает, что интерфейс получил доменный профиль, второе — частный, третье — публичный. Если у домашней сети категория Public, применяются правила публичного профиля с блокировкой обнаружения сети и общего доступа к файлам.
Графический путь: Параметры → Сеть и Интернет → свойства активного подключения. Там же находится переключатель «Профиль сети» между частной и общедоступной сетью.
Сменить категорию можно командой:
Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory Private
Команда требует прав администратора. Перевод общедоступной сети в частную включает предустановленные правила групп «Обнаружение сети» и «Общий доступ к файлам и принтерам», то есть открывает порты 137–139, 445 и трафик SSDP. В кафе и гостинице так делать не стоит.
Проверка состояния каждого профиля через PowerShell
Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction
| Name | Enabled | DefaultInboundAction | DefaultOutboundAction |
|---|---|---|---|
| Domain | True | Block | Allow |
| Private | True | Block | Allow |
| Public | True | Block | Allow |
Enabled = True означает, что профиль работает. DefaultInboundAction = Block закрывает весь входящий трафик, кроме явно разрешённого правилами. DefaultOutboundAction = Allow пропускает исходящие подключения, если против них нет отдельного запрета.
Включить все три профиля одной строкой:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Без прав администратора команда возвращает ошибку доступа. Проверка результата — повторный Get-NetFirewallProfile: значение False в столбце Enabled после включения говорит о том, что состояние переопределяет групповая политика.
Как проверить, применяются ли правила брандмауэра
Просмотр списка правил и их статуса
Включённые правила выводятся командой:
Get-NetFirewallRule -Enabled True | Select-Object DisplayName, Direction, Action, Profile | Format-Table -AutoSize
Столбцы читаются так: DisplayName — имя правила, Direction — направление (Inbound или Outbound), Action — действие (Allow или Block), Profile — профиль (Domain, Private, Public или Any). Значение Any означает, что правило действует во всех сетях.
Одно правило целиком открывается так: Get-NetFirewallRule -DisplayName "Имя правила" | Format-List *. Порт, приложение и адреса хранятся в связанных объектах: Get-NetFirewallPortFilter, Get-NetFirewallApplicationFilter, Get-NetFirewallAddressFilter.
При конфликте побеждает блокировка: если под один пакет подходят разрешающее и блокирующее правила, трафик отбрасывается. Исключение — правило Allow с включённой опцией переопределения блокировки, когда соединение подтверждено IPsec.
Проверяйте, к какому профилю привязано правило. Правило с Profile = Private не действует в публичной сети, и это самая частая причина ситуации «правило есть, а порт закрыт».
Типы правил, приоритеты и разбор конфликтов между группами правил описаны в руководстве «Настройка брандмауэра Windows: правила, профили и диагностика».
Тестирование правила с помощью telnet и Test-NetConnection
Запись в списке правил не доказывает, что порт открыт: трафик может не дойти из-за маршрутизации, NAT или второго фильтра на хосте. Проверка выполняется подключением к порту с другой машины.
Клиент telnet в Windows 11 по умолчанию отсутствует, устанавливается из-под администратора:
dism /online /Enable-Feature /FeatureName:TelnetClient
Затем: telnet 10.0.0.15 3389. Пустой экран означает, что TCP-сессия установлена и порт отвечает. Сообщение «Could not open connection to the host» говорит о блокировке или об отсутствии слушателя на порту.
Test-NetConnection в PowerShell установки не требует: Test-NetConnection -ComputerName 10.0.0.15 -Port 3389. В выводе две ключевые строки: PingSucceeded и TcpTestSucceeded. Комбинация PingSucceeded = True и TcpTestSucceeded = False указывает, что узел доступен по ICMP, но порт закрыт фильтром или службой.
Сторонние утилиты дают больше деталей: nmap -p 3389 10.0.0.15 показывает состояние open, closed или filtered, а PortQry различает закрытый и отфильтрованный порт. Методика сканирования портов и чтения логов разобрана в статье «Как проверить работу файрвола: диагностика правил и тестирование портов».
Локальный тест даёт ложное спокойствие: трафик на 127.0.0.1 и localhost не проходит через профильные правила, поэтому отклик с той же машины не подтверждает доступ извне. Запускайте проверку с другого узла, а для оценки периметра используйте методику аудита сетевой инфраструктуры: от Nmap до анализа правил межсетевых экранов.
Проверка брандмауэра через PowerShell и командную строку
Команды для проверки состояния и профилей
- Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction — сводка по трём профилям.
- Get-NetFirewallProfile -Name Domain — состояние одного доменного профиля.
- netsh advfirewall show allprofiles — тот же срез в командной строке: для каждого профиля выводятся State (ON или OFF), политика брандмауэра, параметры логирования и уведомлений.
- netsh advfirewall show currentprofile — только активный профиль.
Экспорт для отчёта или сравнения между машинами: Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundAction | Export-Csv C:\Temp\fw-profiles.csv -NoTypeInformation -Encoding UTF8
Командлет Get-NetFirewallProfile отображает текущие настроенные параметры указанного профиля — те же сведения, что представлены на странице свойств брандмауэра Windows в режиме повышенной безопасности с вкладками доменного, частного и общедоступного профилей (Get-NetFirewallProfile, Microsoft Learn). Без параметра -PolicyStore командлет извлекает постоянное хранилище политики, а вариант Get-NetFirewallProfile -PolicyStore ActiveStore показывает активные условия профиля. Командлеты входят в модуль NetSecurity, который предоставляет описания и синтаксис командлетов сетевой безопасности, включая получение и настройку параметров профилей и правил брандмауэра (NetSecurity Module, Microsoft Learn).
Права администратора для этих командлетов и поведение модуля NetSecurity в разных версиях PowerShell в проверенных источниках напрямую не описаны: подтверждено только назначение командлетов и наличие общего слоя совместимости модулей в PowerShell 7, где NetSecurity упоминается в документации Microsoft (PowerShell 7 module compatibility, Microsoft Learn). Если команда не выполняется в обычной сессии, запустите PowerShell от имени администратора и повторите проверку.
В редакции Windows 11 Home редактор локальной групповой политики gpedit.msc не предустановлен: при попытке запуска появляется ошибка «Не удается найти gpedit.msc» (Как включить редактор локальной групповой политики в Windows Home). Оснастка wf.msc в этой редакции также может быть недоступна напрямую; в таком случае откройте пустую консоль mmc и добавьте оснастку «Брандмауэр Windows в режиме повышенной безопасности» вручную. Командлеты и netsh при этом полностью доступны.
Команды для проверки правил
- Get-NetFirewallRule -Enabled True -Direction Inbound | Select-Object DisplayName, Action, Profile — все активные входящие правила.
- Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -eq 3389 } | Get-NetFirewallRule | Select-Object DisplayName, Enabled, Direction, Action, Profile — правила, связанные с портом 3389.
- Get-NetFirewallRule -DisplayGroup "Remote Desktop" — правила одной группы; на русскоязычной системе имя группы указывается так, как оно отображается в оснастке.
- netsh advfirewall firewall show rule name=all — полный список правил в командной строке; фильтровать по порту здесь нельзя, вывод длинный.
Проверка конкретного разрешения целиком: Get-NetFirewallRule -DisplayName "Имя правила" | Get-NetFirewallPortFilter покажет протокол, локальный и удалённый порты.
Регулярный мониторинг состояния брандмауэра
Состояние профиля меняется без участия администратора: сторонний антивирус регистрируется как основной сетевой экран, групповая политика переключает профиль, инсталлятор ПО добавляет разрешающее правило, инженер снимает защиту для теста и забывает включить обратно. Разовые проверки такие изменения пропускают.
Настройка уведомлений при отключении брандмауэра
Скрипт для Планировщика заданий, который пишет предупреждение в журнал приложений, если хотя бы один профиль выключен:
$profiles = Get-NetFirewallProfile
foreach ($p in $profiles) {
if (-not $p.Enabled) {
Write-EventLog -LogName Application -Source FirewallMonitor -EventId 1001 -EntryType Warning -Message "Профиль $($p.Name) отключён"
}
}
Перед первым запуском зарегистрируйте источник событий: New-EventLog -LogName Application -Source FirewallMonitor. Без него Write-EventLog завершится ошибкой. Обе команды требуют прав администратора.
Задача создаётся в Планировщике заданий с триггером «При входе в систему» и вторым триггером «Ежедневно». Действие: программа powershell.exe, аргументы -NoProfile -ExecutionPolicy Bypass -File C:\Scripts\Check-Firewall.ps1. В свойствах задачи отметьте «Выполнять с наивысшими правами» и выберите учётную запись администратора.
Уведомление по почте доставляет команда Send-MailMessage в Windows PowerShell 5.1; в PowerShell 7 она помечена как устаревшая. Для парка машин надёжнее собирать записи журнала на центральном сервере через подписку на события Windows.
Быстрая проверка из консоли: Get-NetFirewallProfile | Where-Object { -not $_.Enabled }. Пустой вывод означает, что все профили включены.
Использование журнала событий для анализа
Просмотр изменений: eventvwr.msc → Журналы Windows → Безопасность, а также отдельный журнал Microsoft-Windows-Windows Firewall With Advanced Security/Firewall. В него попадают смена активного профиля, добавление, изменение и удаление правил, включение и отключение брандмауэра.
Выборка через PowerShell: Get-WinEvent -LogName "Microsoft-Windows-Windows Firewall With Advanced Security/Firewall" -MaxEvents 50 | Select-Object TimeCreated, Id, Message
Аудит изменений политики фильтрации включается командой:
auditpol /set /subcategory:"Filtering Platform Policy Change" /success:enable /failure:enable
По умолчанию аудит Windows Filtering Platform отключён, а включить его на уровне подкатегории можно только через auditpol.exe. Имена категорий и подкатегорий аудита локализованы, поэтому в скриптах вместо названий можно использовать соответствующие GUID, чтобы не зависеть от языка системы (Auditing and logging, Microsoft Learn). Проверить текущее состояние аудита: auditpol /get /subcategory:"Filtering Platform Policy Change".
Включайте только аудит изменений политики. Если добавить аудит подключений платформы фильтрации, журнал заполнится за минуты: событие создаёт каждое разрешённое соединение.
Что делать, если брандмауэр не работает
Типичные симптомы: переключатель возвращается в «Откл.» сразу после включения, правила не фильтруют трафик, порт закрыт при разрешающем правиле, служба не запускается. Причины делятся на четыре группы: остановленная служба, сторонний сетевой экран, доменные политики, повреждённые компоненты системы.
Проверка службы брандмауэра
Фильтрацией занимается служба «Брандмауэр Защитника Windows» с системным именем MpsSvc. Проверка: Get-Service MpsSvc | Select-Object Name, DisplayName, Status, StartType. Остановленная служба означает, что правила не применяются в принципе, какими бы они ни были.
Запуск и автозагрузка:
Start-Service MpsSvc
Set-Service MpsSvc -StartupType Automatic
MpsSvc зависит от службы Base Filtering Engine (bfe). Если BFE остановлен, брандмауэр не стартует и выдаёт ошибку о не запустившейся службе-зависимости. Через интерфейс: services.msc → «Брандмауэр Защитника Windows», тип запуска «Автоматически», кнопка «Запустить»; при ошибке проверьте BFE в том же списке.
Конфликты со сторонним ПО и групповыми политиками
Центр безопасности Windows требует, чтобы стороннее защитное ПО работало как защищённый процесс: если продукт соответствует этому требованию, Windows регистрирует его и он отображается в Центре безопасности; если нет — регистрация не происходит и продукт в Центре безопасности не появляется (Система безопасности Windows не обнаруживает сторонний антивирус). Поэтому при установке комплексной защиты с собственным сетевым экраном на странице «Брандмауэр и защита сети» может отображаться имя стороннего продукта и ссылка на его настройки вместо профилей встроенного брандмауэра. Конкретный набор продуктов (Kaspersky, ESET, Norton и аналоги) и то, отключают ли они встроенный брандмауэр автоматически, в проверенных источниках не подтверждён — уточняйте поведение в документации вендора. Включать встроенный брандмауэр при активном стороннем сетевом экране не рекомендуется: два сетевых экрана на одном хосте дают трудноуловимые конфликты и двойную фильтрацию.
В домене состоянием управляет групповая политика. Что прилетело на конкретную машину, показывает gpresult /h C:\Temp\report.html: отчёт открывается в браузере, параметры брандмауэра ищутся поиском по слову «Брандмауэр». Локальные настройки лежат в gpedit.msc по пути Конфигурация компьютера → Административные шаблоны → Сеть → Сетевые подключения → Брандмауэр Windows; в домене доступны только разделы, не перекрытые политикой. Сценарии, когда доступ блокирует организация, а не локальный брандмауэр, разобраны в статье «Как устранить блокировку сетевого доступа политикой организации в Windows».
Сброс к заводским настройкам: netsh advfirewall reset. Команда удаляет все пользовательские правила и возвращает политику по умолчанию: входящие блокировать, исходящие разрешать. Перед сбросом сохраните текущее состояние: netsh advfirewall export C:\Temp\fw-backup.wfw, обратная операция — netsh advfirewall import C:\Temp\fw-backup.wfw.
Если состояние защищает политика домена, локальный сброс не поможет: после перезагрузки или обновления политики настройки вернутся.
Особенности проверки на сервере и удалённых машинах
На Windows Server применяются те же командлеты NetSecurity, что и на рабочих станциях Windows 11 Pro и Enterprise. Отличия в контексте: серверные роли (IIS, файловый сервер, Hyper-V) добавляют собственные группы правил, а доменная политика часто задаёт единый набор профилей для всех узлов.
Удалённая проверка через PowerShell Remoting:
Invoke-Command -ComputerName SRV-APP01 -ScriptBlock { Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction }
Условия: на целевой машине работает WinRM (включается командой Enable-PSRemoting -Force), открыты правила группы «Windows Remote Management» (порт 5985 для HTTP, 5986 для HTTPS), имя разрешается по DNS, а учётная запись входит в группу администраторов удалённого узла.
Проверка правил на удалённой машине: Invoke-Command -ComputerName SRV-APP01 -ScriptBlock { Get-NetFirewallRule -Enabled True -Direction Inbound | Select-Object DisplayName, Action, Profile }. Для парка машин передайте массив имён в параметр -ComputerName: в выводе появится поле PSComputerName, по нему удобно группировать результат.
После установки обновлений, замены сетевого адаптера и правок GPO проверяйте состояние заново: категория подключения могла измениться, а вместе с ней и активный профиль. Минутная проверка снимает главный риск администрирования брандмауэра — незамеченный открытый порт.