Безопасность серверов

Windows Defender Firewall: правила, PowerShell и журналирование

Как включить Microsoft Defender Firewall, создать узкие правила для портов, программ и IP-адресов, проверить результат и найти причину блокировки.

15 минут
абстрактная иллюстрация правил сетевой защиты Windows Server
Входящие и исходящие правила независимы. Доменные GPO могут менять или ограничивать локальную конфигурацию.
Для настройки Microsoft Defender Firewall определите фактический профиль сети и убедитесь, что защита включена для профилей Domain, Private и Public. Затем создайте минимальное правило для тех профилей, где должен работать сервис: с направлением, действием, протоколом, портом или программой и допустимыми адресами. После изменения проверьте результирующую политику, фильтры правила и журнал отброшенных пакетов. Не отключайте брандмауэр целиком как постоянный способ диагностики: это снимает один уровень контроля и не показывает, какое условие правила было неверным.

Подготовка: доступ, роль сервера и точка отката

Microsoft Defender Firewall — это межсетевой экран Windows с отдельными настройками профилей Domain, Private и Public. Перед изменением зафиксируйте роль сервера, публикуемый сервис, протокол, локальный порт, разрешённые источники, необходимые исходящие зависимости и владельца правила. Для удалённого сервера сохраните отдельный аварийный канал управления: консоль гипервизора, BMC или согласованный локальный доступ.

Не потеряйте удалённый доступ

Не меняйте широкие входящие правила и не включайте запрет без заранее проверенного доступа администратора. В частности, правило для RDP должно учитывать реальный профиль, используемые транспорты и доверенные источники. Полная настройка RDP рассматривается в статье «Защита RDP на Windows Server».

Команды ниже выполняйте в PowerShell от имени администратора. Модуль NetSecurity и рассматриваемые cmdlet документированы для Windows Server начиная с Windows Server 2012 и для клиентских Windows начиная с Windows 8; набор параметров и отдельные условия правила зависят от выпуска ОС и обновлений. Названия пунктов оснастки, доступные поля и поведение при централизованном управлении также могут отличаться. Для своей версии сверяйтесь с официальной документацией Microsoft: справочником модуля NetSecurity, документацией Microsoft Defender Firewall и руководством по журналированию firewall.

Зафиксируйте исходное состояние

Сохраните сведения, которые понадобятся для проверки и отката.

  1. 1
    Определите категорию подключений
    Выполните Get-NetConnectionProfile. Поле NetworkCategory покажет категорию подключения: DomainAuthenticated, Private или Public. Для доменного профиля важно, что сервер действительно распознал доменную сеть, а не просто состоит в домене.
  2. 2
    Посмотрите результирующие профили
    Выполните Get-NetFirewallProfile -PolicyStore ActiveStore. В результате проверьте Enabled, DefaultInboundAction, DefaultOutboundAction, параметры журналирования и разрешение локального объединения правил. ActiveStore показывает применённую, результирующую политику, а не только локальные настройки.
  3. 3
    Экспортируйте локальную конфигурацию
    Создайте каталог с ограниченным доступом и экспортируйте правила в файл .wfw. Файл храните как артефакт изменения: он пригодится для сравнения или контролируемого отката.
  4. 4
    Зафиксируйте план проверки
    Запишите IP-адрес тестового клиента, ожидаемый протокол и порт, время проверки и команду либо прикладной тест. Проверяйте правило именно с разрешённого и с неразрешённого адреса, если это допустимо.
Показывает категорию сети для каждого подключения. `DomainAuthenticated` соответствует Domain, `Private` — Private, `Public` — Public.
Get-NetConnectionProfile
Показывает эффективные настройки всех профилей. Если ожидаемый профиль выключен или параметры отличаются от локально заданных, проверьте применённые GPO.
Get-NetFirewallProfile -PolicyStore ActiveStore | Format-List Name,Enabled,DefaultInboundAction,DefaultOutboundAction,AllowLocalPolicyMerge,AllowLocalIPsecPolicyMerge,LogFileName,LogMaxSizeKilobytes,LogDroppedPackets,LogSuccessfulConnections
Экспортирует текущую локальную политику Microsoft Defender Firewall в файл `.wfw`. Убедитесь, что каталог существует и доступен для записи.
netsh advfirewall export "C:\Backup\firewall-before.wfw"

Профили Domain, Private и Public: включение и проверка

Профиль брандмауэра Windows определяет, какие параметры и правила применяются к подключению. Даже сервер, присоединённый к домену, может фактически использовать Public или Private, если Windows не распознала доменную сеть. Поэтому правило только для Domain не сработает на подключении с категорией Public.

Включает Microsoft Defender Firewall для трёх профилей. После команды повторите `Get-NetFirewallProfile -PolicyStore ActiveStore`: GPO может изменить результирующее состояние.
Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True

Локальное правило и доменная политика — не одно и то же

Локальный администратор обычно меняет PersistentStore — локальное постоянное хранилище. ActiveStore содержит действующий результат после объединения применимых политик. Доменная GPO может задавать параметры профилей и доставлять правила, а также запрещать объединение локальных правил (AllowLocalPolicyMerge); фактическую категорию подключения проверяйте отдельно через Get-NetConnectionProfile. Если локальное объединение запрещено, созданное локально правило может существовать в PersistentStore, но не участвовать в активной политике. Изменения, которыми должна управлять организация, вносите в соответствующую GPO, а не обходите её локальным правилом.

Как открыть входящий TCP- или UDP-порт только нужным IP

Правило межсетевого экрана для серверной роли должно описывать реальный поток. Для входящего сервиса это обычно действие Allow, направление Inbound, TCP или UDP, локальный порт сервера и allowlist удалённых адресов. Не открывайте весь входящий трафик и не подменяйте список источников профилем Any, если сервис доступен только нескольким системам.

Создаёт именованное входящее правило для TCP/443 только от указанных IPv4-источников на доменном профиле. Замените примерные адреса, порт, имя и профиль на свои значения.
New-NetFirewallRule -DisplayName "App HTTPS from management subnet" -Description "TCP 443 only from approved management subnet" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 443 -RemoteAddress "192.0.2.0/24","198.51.100.25" -Profile Domain -Enabled True
Пример отдельного правила для UDP. Порт указывается как локальный, потому что служба принимает датаграммы на сервере.
New-NetFirewallRule -DisplayName "Telemetry UDP from collector" -Description "UDP telemetry from collector only" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 514 -RemoteAddress "192.0.2.40" -Profile Domain -Enabled True
Проверяет, что правило есть в активной политике и содержит ожидаемые направление, действие, порт и адреса. Отсутствие правила в ActiveStore при наличии в PersistentStore указывает в том числе на влияние GPO или настройки объединения политик.
Get-NetFirewallRule -DisplayName "App HTTPS from management subnet" -PolicyStore ActiveStore | Format-List DisplayName,Enabled,Direction,Action,Profile,PolicyStoreSourceType; Get-NetFirewallRule -DisplayName "App HTTPS from management subnet" -PolicyStore ActiveStore | Get-NetFirewallPortFilter | Format-List Protocol,LocalPort,RemotePort; Get-NetFirewallRule -DisplayName "App HTTPS from management subnet" -PolicyStore ActiveStore | Get-NetFirewallAddressFilter | Format-List LocalAddress,RemoteAddress

Для IPv6 добавляйте в -RemoteAddress конкретные IPv6-адреса или префиксы, необходимые вашему сервису. Не считайте IPv4-правило автоматической защитой IPv6-пути: проверяйте оба семейства адресов, если интерфейс и приложение используют IPv6.

Правило для программы и блокировка IP

Правило порта разрешает или блокирует поток по сетевым условиям независимо от исполняемого файла. Правило программы сопоставляет трафик с путём конкретного .exe; оно уместно, когда доступ нужен одному процессу, а не всем приложениям, использующим порт. Путь должен быть стабильным и соответствовать фактически запускаемому процессу. Условия программы, службы, интерфейса, типа интерфейса, адресов, протоколов и портов поддерживаются в разных сочетаниях в зависимости от версии Windows и типа правила.

Разрешает исходящий трафик конкретной программы к указанному адресу. Для ограничения по протоколу и порту добавьте параметры, поддерживаемые вашей версией cmdlet, например `-Protocol TCP -RemotePort 443`.
New-NetFirewallRule -DisplayName "Allow Contoso agent outbound" -Description "Outbound access for approved agent executable" -Direction Outbound -Action Allow -Program "C:\Program Files\Contoso\agent.exe" -RemoteAddress "198.51.100.30" -Profile Domain -Enabled True
Блокирует исходящий трафик указанного исполняемого файла в доменном профиле. Это отдельный пример, а не дополнение к разрешающему правилу выше: явное block-правило имеет приоритет над совпадающим allow-правилом. При необходимости сузьте блокировку протоколом, удалённым портом и адресами.
New-NetFirewallRule -DisplayName "Block Legacy updater outbound" -Description "Block outbound traffic from retired updater executable" -Direction Outbound -Action Block -Program "C:\Program Files\LegacyUpdater\updater.exe" -Profile Domain -Enabled True
Блокирует входящий трафик от одного адреса на всех трёх профилях. Это пример временной меры: укажите основание, владельца и срок пересмотра. Адреса из RFC 5737 здесь приведены только как примеры.
New-NetFirewallRule -DisplayName "Block inbound from suspicious host" -Description "Temporary documented block for one remote address" -Direction Inbound -Action Block -RemoteAddress "203.0.113.77" -Profile Domain,Private,Public -Enabled True
Показывает привязку активного правила к программе. Если путь не совпадает с запущенным исполняемым файлом, правило программы не соответствует трафику.
Get-NetFirewallRule -DisplayName "Allow Contoso agent outbound" -PolicyStore ActiveStore | Get-NetFirewallApplicationFilter | Format-List Program,Package,Service

Входящие и исходящие правила: разные решения

Входящее разрешение определяет, кто может начать соединение с сервисом сервера. Оно не разрешает приложению самого сервера инициировать подключения наружу. Исходящий доступ определяется политикой активного профиля, исходящими правилами и применённой GPO. При фильтрации исходящего трафика сначала опишите зависимости роли: DNS, обновления, каталог, прокси, API, лицензирование, мониторинг и другие фактические назначения.

Порт называется локальным или удалённым относительно защищаемого сервера.

ЗадачаНаправлениеТипичный параметр портаПример
Опубликовать сервис на сервереInbound-LocalPortРазрешить TCP/443 от подсети обратного прокси
Разрешить приложению обратиться к внешнему APIOutbound-RemotePortРазрешить программе TCP/443 к IP API
Запретить серверу обращаться к назначениюOutboundАдрес и при необходимости -RemotePortЗаблокировать TCP/443 к конкретному IP
Создаёт исходящее блокирующее правило для конкретного назначения и порта. Проверьте, не использует ли этот IP несколько легитимных сервисов.
New-NetFirewallRule -DisplayName "Block outbound to retired endpoint" -Description "Block TCP 443 to retired endpoint" -Direction Outbound -Action Block -Protocol TCP -RemoteAddress "203.0.113.90" -RemotePort 443 -Profile Domain -Enabled True
Пример исходящего разрешения для ограничительной политики. Если DNS работает также по TCP, создайте отдельное правило TCP/53 после подтверждения необходимости.
New-NetFirewallRule -DisplayName "Allow outbound DNS to resolvers" -Description "DNS only to approved resolvers" -Direction Outbound -Action Allow -Protocol UDP -RemoteAddress "192.0.2.53","192.0.2.54" -RemotePort 53 -Profile Domain -Enabled True

Разрешение при исходящем запрете

На типичной конфигурации Windows исходящее действие профиля — разрешение, поэтому allow-правило может не менять результат. Оно становится значимым, когда для профиля или GPO задан исходящий запрет по умолчанию либо проектируется явная политика разрешений. Перед переходом к ограничительному исходящему режиму инвентаризируйте зависимости и проводите изменение поэтапно.

Управление правилами через PowerShell и оснастку

Для повторяемой настройки Windows Firewall PowerShell удобнее: правило получает устойчивое имя, описание и проверяется теми же командами. Не полагайтесь только на отображаемое имя, если в среде допускаются дубликаты: в автоматизации полезно хранить соглашение об именовании и описание с владельцем или номером изменения.

Ищет активные правила по части отображаемого имени. Для точечной проверки используйте полное уникальное имя своего правила.
Get-NetFirewallRule -PolicyStore ActiveStore | Where-Object DisplayName -like "*HTTPS*" | Select-Object DisplayName,Enabled,Direction,Action,Profile,PolicyStoreSourceType
Отключает правило, не удаляя его. Проверьте `Enabled` через `Get-NetFirewallRule`; если правило пришло из GPO, меняйте источник политики, а не только локальную копию.
Disable-NetFirewallRule -DisplayName "Block inbound from suspicious host"
Включает ранее отключённое правило.
Enable-NetFirewallRule -DisplayName "Block inbound from suspicious host"
Удаляет правило с указанным отображаемым именем. Сначала выполните `Get-NetFirewallRule -DisplayName "Block inbound from suspicious host"`, чтобы не удалить одноимённые правила.
Remove-NetFirewallRule -DisplayName "Block inbound from suspicious host"

Создание правила через оснастку с расширенной безопасностью

GUI и PowerShell изменяют одну политику, но на управляемом сервере результат всё равно проверяйте в ActiveStore.

  1. 1
    Откройте оснастку
    Откройте компонент Microsoft Defender Firewall with Advanced Security, обычно через wf.msc. Выберите «Входящие правила» или «Исходящие правила» в зависимости от потока.
  2. 2
    Выберите тип и условия
    Для сетевого сервиса создайте правило типа Port, выберите TCP или UDP, задайте нужный локальный либо удалённый порт согласно направлению. Для одного исполняемого файла выберите Program и укажите полный путь к нему.
  3. 3
    Ограничьте область
    В свойствах правила на вкладке Scope задайте Remote IP addresses: отдельные адреса или необходимые подсети. При необходимости настройте интерфейс, профиль или службу, если эти условия доступны и подтверждены вашей конфигурацией.
  4. 4
    Назначьте действие и профиль
    Выберите Allow или Block, отметьте только применимые профили и сохраните понятное имя с описанием. Затем подтвердите параметры через Get-NetFirewallRule и связанные фильтры PowerShell.

Почему allow и block не образуют последовательность правил

Не переносите на Windows модель последовательного обхода цепочки из iptables. Для Microsoft Defender Firewall Microsoft документирует, что явное блокирующее правило имеет приоритет над конфликтующим разрешающим правилом; разрешающее правило может разрешить трафик, который иначе был бы запрещён действием профиля по умолчанию. Исключения, включая правила защищённых служб и настройки, заданные политикой, нужно оценивать по результирующей политике конкретного хоста.

При конфликте сначала найдите совпадающее block-правило по направлению, протоколу, адресам, портам, программе и профилю. Затем проверьте его источник через PolicyStoreSourceType и параметры профиля в ActiveStore. Не пытайтесь «поставить allow выше»: порядок обработки правил у Microsoft Defender Firewall не является пользовательским списком с порядком строк.

Журнал Windows Firewall: отброшенные пакеты и успешные подключения

Журналирование профиля помогает подтвердить, что пакет был отброшен или разрешён межсетевым экраном. Включайте запись успешных подключений (LogSuccessfulConnections) только на время диагностики или при обоснованной потребности: она может заметно увеличить объём журнала. Локальный файл firewall — не замена аудиту действий администратора, Windows Security Event Log и централизованному сбору журналов.

Включает запись отброшенных пакетов для доменного профиля, задаёт путь и размер 16 МБ. Документированный допустимый размер зависит от версии; в типичных версиях он задаётся в килобайтах в диапазоне до 32767 КБ. Используйте значение, поддерживаемое вашей ОС.
Set-NetFirewallProfile -Profile Domain -LogDroppedPackets True -LogSuccessfulConnections False -LogFileName "%systemroot%\system32\LogFiles\Firewall\pfirewall.log" -LogMaxSizeKilobytes 16384
Временно включает журнал успешных подключений для доменного профиля. После проверки верните параметр в `False`, если постоянная запись не требуется.
Set-NetFirewallProfile -Profile Domain -LogSuccessfulConnections True
Подтверждает применённые настройки журнала. Если значения не совпадают с заданными, проверьте GPO.
Get-NetFirewallProfile -Profile Domain -PolicyStore ActiveStore | Format-List Name,LogDroppedPackets,LogSuccessfulConnections,LogFileName,LogMaxSizeKilobytes

Путь к файлу задаётся параметром -LogFileName, размер — -LogMaxSizeKilobytes. Каталог должен существовать, а служба брандмауэра должна иметь возможность записывать в него; иначе журнал может не создаваться или не обновляться. Не размещайте такой файл на произвольной сетевой шаре и не ослабляйте ACL каталога только ради записи: сначала используйте штатный локальный путь либо согласованный защищённый каталог.

Показывает последние 100 строк типового журнала. Сопоставляйте время, действие `DROP` или `ALLOW`, протокол, исходный и целевой адреса и порты с тестом.
Get-Content "$env:SystemRoot\System32\LogFiles\Firewall\pfirewall.log" -Tail 100

Как интерпретировать запись

Строка DROP с ожидаемыми датой и временем, а также пятёркой параметров потока — протоколом, исходными IP и портом, целевыми IP и портом — подтверждает, что пакет отброшен firewall. Отсутствие строки не доказывает, что firewall разрешил поток: проверьте активный профиль, путь журнала, факт теста и то, достиг ли пакет хоста. Детальная настройка Security Event Log, Advanced Audit Policy и журналов PowerShell рассматривается в статье «Аудит Windows Server».

Windows Firewall: правило не работает

Проверка только условий firewall

Эта последовательность отделяет проблему политики брандмауэра от проблем маршрутизации, DNS, службы и сетевой инфраструктуры.

  1. 1
    Подтвердите профиль и включение firewall
    Сопоставьте Get-NetConnectionProfile с Get-NetFirewallProfile -PolicyStore ActiveStore. Если соединение Public, а правило создано только для Domain, добавьте нужный профиль после проверки, почему сеть классифицирована иначе.
  2. 2
    Проверьте правило в ActiveStore
    Убедитесь, что правило включено (Enabled = True), имеет нужные Direction, Action и Profile, а его PolicyStoreSourceType соответствует ожидаемому источнику. Существование правила только в PersistentStore не означает, что оно применяется.
  3. 3
    Проверьте фильтры
    Через Get-NetFirewallPortFilter, Get-NetFirewallAddressFilter и Get-NetFirewallApplicationFilter сравните протокол, локальный или удалённый порт, IP-адреса и путь программы с реальным потоком. Частая ошибка — указать RemotePort для входящего сервиса вместо LocalPort.
  4. 4
    Ищите конфликтующую блокировку
    Найдите активные block-правила, которые могут совпадать с потоком. Явное блокирующее правило имеет приоритет над конфликтующим разрешением.
  5. 5
    Проверьте GPO
    Сравните PersistentStore и ActiveStore, проверьте источник политики и выполните gpresult для просмотра применённых объектов Group Policy. Если локальное объединение правил отключено, исправляйте доменную политику вместе с её владельцем.
  6. 6
    Сопоставьте с журналом и повторите тест
    Включите LogDroppedPackets, повторите подключение с известного клиента и найдите запись DROP. При необходимости кратковременно включите LogSuccessfulConnections и снова выполните тест.
Выводит включённые блокирующие правила из активной политики. Для каждого кандидата отдельно проверьте фильтры адресов, портов, программы и службы.
Get-NetFirewallRule -PolicyStore ActiveStore | Where-Object { $_.Enabled -eq 'True' -and $_.Action -eq 'Block' } | Select-Object DisplayName,Direction,Profile,PolicyStoreSourceType
Показывает применённые к компьютеру GPO. Команда не заменяет просмотр самих параметров GPO, но помогает определить, какая политика могла управлять firewall.
gpresult /scope computer /r

Проблема

Порт всё ещё недоступен после создания allow-правила

Возможные причины

  • Выбран неверный профиль Domain, Private или Public.
  • Правило выключено, задано для другого направления либо использует LocalPort вместо нужного RemotePort или наоборот.
  • Адрес клиента не входит в allowlist, протокол не совпадает или правило программы указывает иной путь.
  • Есть совпадающее block-правило.
  • Доменная GPO задаёт другую политику или запрещает объединение локальных правил.

Решение

Проверьте NetworkCategory, ActiveStore, состояние правила и связанные фильтры. Устраните конфликтующее блокирующее правило только после подтверждения его назначения либо внесите изменение в управляющую GPO. Повторите тест с известного IP и проверьте строку журнала.

Как избежать

Именуйте правила по роли и направлению, фиксируйте допустимые источники и проверяйте ActiveStore после каждого изменения.

Если firewall не фиксирует блокировку и активная политика соответствует ожидаемой, причина может находиться вне этой статьи: служба не слушает порт, приложение отклоняет запрос, неверны маршрут или DNS, трафик фильтруется сетевым устройством либо клиент обращается по другому адресу. Это не повод отключать все профили Microsoft Defender Firewall; диагностику сети продолжайте в материалах кластера networking.

Экспорт, импорт и сброс политики Windows Firewall

Экспорт и импорт через netsh advfirewall работают с файлом политики .wfw. Это средство для контролируемого переноса или отката локальной конфигурации, а не для незаметного обхода доменного управления. После импорта обязательно проверьте ActiveStore: доменные GPO могут снова применить управляемые параметры.

Создаёт резервную копию текущей политики в формате `.wfw` перед рискованным изменением.
netsh advfirewall export "C:\Backup\firewall-before-change.wfw"

Импорт заменяет текущую локальную политику

Команда импорта заменяет текущую политику данными из файла и может удалить рабочие локальные правила. Применяйте её только после экспорта текущего состояния, проверки происхождения файла, согласования изменения и наличия аварийного доступа. Она не отменяет доменные GPO: после обновления политик их параметры могут вновь стать результирующими.
Импортирует ранее сохранённый файл `.wfw`. Сразу после импорта проверьте профили, административный доступ и правила в ActiveStore.
netsh advfirewall import "C:\Backup\firewall-before-change.wfw"

Сброс Windows Firewall к значениям по умолчанию

netsh advfirewall reset удаляет локальные настройки политики и восстанавливает значения по умолчанию. Это допустимо лишь как согласованная мера восстановления на некритичном или контролируемом хосте, когда есть экспорт, консольный доступ и понимание последствий для сервисов. Не используйте сброс как обычный способ «починить порт».
Сбрасывает локальную политику Microsoft Defender Firewall к значениям по умолчанию. Выполняйте только после резервного экспорта и с планом немедленной проверки доступа.
netsh advfirewall reset

Настройка firewall — только один слой политики межсетевого экрана. Базовые настройки Windows Server, локальные политики и GPO рассматриваются в статье «Hardening Windows Server 2019, 2022 и 2025»; сегментация, VPN и bastion host — в материале о сегментации серверной сети.

Термины в статье

Microsoft Defender Firewall — встроенный в Windows межсетевой экран, фильтрующий входящие и исходящие соединения по правилам, профилям сети и параметрам трафика.
Межсетевой экран — средство контроля сетевого трафика, разрешающее или блокирующее его по правилам на границе или между сегментами сети.
Межсетевой экран с отслеживанием состояния — межсетевой экран, который сопоставляет пакеты с состоянием отслеживаемых соединений и потоков и применяет правила с учётом их контекста.
Пересылка событий Windows — механизм доставки записей журналов Windows с источников на сервер-коллектор по подпискам, без установки отдельного агента сбора.
Политика межсетевого экрана — набор правил обработки сетевого трафика, определяющий разрешённые и запрещённые взаимодействия между зонами, узлами, сервисами и интерфейсами.
Порядок обработки правил — механизм определения последовательности проверки правил политики, от которой зависит, какое совпавшее правило применит система безопасности.
Правило межсетевого экрана — элемент политики фильтрации, задающий условия сопоставления трафика и действие над пакетами или соединениями.
Профиль брандмауэра Windows — набор параметров и правил, применяемых к сетевому подключению в зависимости от категории сети: доменной, частной или общедоступной.
Расширенная политика аудита — механизм Windows, задающий детальные подкатегории аудита безопасности вместо общих категорий базовой политики аудита.
Фильтрация исходящего трафика — контроль соединений из защищаемой сети наружу, ограничивающий разрешённые назначения, протоколы, сервисы и источники исходящих пакетов.
Фильтрация пакетов — способ контроля сетевого трафика по полям пакета и правилам, при необходимости дополненный отслеживанием состояния соединений.

Вопросы по теме

Все вопросы и ответы

Почему правило Windows Firewall не работает?

Сначала убедитесь, что правило рассчитано на фактический профиль подключения. Сервер в домене не всегда использует профиль Domain: Windows может определить сеть как Private или Public. Это проверяется командой Get-NetConnectionProfile по полю NetworkCategory.

Затем проверьте результирующую политику: Get-NetFirewallRule -PolicyStore ActiveStore. Локальное правило может существовать в PersistentStore, но не участвовать в активной политике, если доменная GPO задаёт другие параметры или запрещает объединение локальных правил через AllowLocalPolicyMerge.

Для найденного правила проверьте направление, действие, профиль и источник через PolicyStoreSourceType, затем фильтры порта и адресов через Get-NetFirewallPortFilter и Get-NetFirewallAddressFilter. Для правила программы дополнительно сверяйте путь в фильтре приложения с фактически запущенным .exe. Если есть конфликтующее явное правило Block, оно имеет приоритет над совпадающим Allow.

Где посмотреть, почему Windows Firewall заблокировал подключение?

Включайте журналирование на том профиле, который фактически использует подключение. Для доменного профиля можно задать запись отброшенных пакетов командой Set-NetFirewallProfile -Profile Domain -LogDroppedPackets True, указав путь к журналу и его максимальный размер. Параметры активных профилей, включая путь, размер и состояние журналирования, проверяются через Get-NetFirewallProfile -PolicyStore ActiveStore.

После включения журнала повторите проблему с известного тестового клиента: заранее зафиксируйте его IP-адрес, протокол, порт и время проверки. Так запись в журнале можно сопоставить с конкретной попыткой подключения.

Запись успешных подключений LogSuccessfulConnections включайте только временно для диагностики или при обоснованной необходимости: она может заметно увеличить объём журнала. Локальный файл firewall не заменяет аудит действий администратора, Windows Security Event Log и централизованный сбор журналов.

Можно ли отключить Windows Defender Firewall для диагностики?

Нет, не как постоянный способ диагностики. Полное отключение снимает один уровень контроля, но не показывает, какое именно условие правила неверно. Безопаснее проверить активный профиль, результирующую политику, фильтры правила и журнал отброшенных пакетов. Перед изменениями на удалённом сервере нужен аварийный канал доступа.

Разрешит ли входящее правило серверу обратиться к внешнему API?

Нет. Входящее правило управляет тем, кто может начать соединение с сервисом на сервере, и не разрешает исходящие подключения самого сервера. Для внешнего API нужно оценить исходящую политику активного профиля, применённые GPO и при необходимости создать отдельное исходящее правило с удалённым адресом и портом.

Что сработает при конфликте правил Allow и Block?

Явное правило Block имеет приоритет над совпадающим правилом Allow. Не пытайтесь изменить результат перестановкой правил: Microsoft Defender Firewall не обрабатывает их как пользовательский последовательный список. Ищите блокировку по направлению, протоколу, адресам, портам, программе и профилю, затем проверяйте её источник в активной политике.

Защитит ли IPv4-правило сервис, доступный по IPv6?

Нет, IPv4-правило не следует считать автоматической защитой IPv6-пути. Если интерфейс и приложение используют IPv6, добавьте в -RemoteAddress необходимые IPv6-адреса или префиксы и отдельно проверьте подключение по обоим семействам адресов. Иначе сервис может остаться доступным по IPv6 при ограничении только IPv4.