Event ID 5031: Windows Firewall blocked application — создание разрешающего правила
Симптомы блокировки входящих подключений (Event ID 5031)
Событие Event ID 5031 регистрируется брандмауэром Windows, когда запущенное приложение попыталось открыть сетевой сокет и ожидать (listen/accept) входящие сетевые подключения, однако эти подключения были заблокированы действующими правилами фаервола.
Внешние проявления сбоя
- Клиенты не могут подключиться к серверному приложению, веб-сервису или сетевой игре.
- Приложение выдает ошибки сетевого сокета
WSAEACCES (10013). - В событии указан полный путь к исполняемому файлу программы (
Application Path).
Создание разрешающего правила для заблокированного приложения
Безопасность: Не отключайте брандмауэр целиком. Создайте точечное входящее правило только для проверенного исполняемого файла или сетевого порта.
- Идентификация пути к программе:
Откройте событие 5031 и скопируйте путь из поляApplication(например,C:\App\custom_server.exe). - Создание входящего правила брандмауэра через PowerShell:
Разрешите приложению принимать входящие подключения во всех профилях сети:New-NetFirewallRule -DisplayName "My Custom Application" -Direction Inbound -Program "C:\App\custom_server.exe" -Action Allow -Profile Any - Создание правила по конкретному TCP/UDP порту (альтернатива):
Если приложению требуется конкретный фиксированный порт (например, TCP 8443):New-NetFirewallRule -DisplayName "Custom App Port 8443" -Direction Inbound -LocalPort 8443 -Protocol TCP -Action Allow - Проверка активности созданного правила:
Get-NetFirewallRule -DisplayName "My Custom Application" | Format-Table Name, Enabled, Direction, Action
Частые вопросы (FAQ)
Почему брандмауэр блокирует программу, если я нажал 'Разрешить доступ' в окне UAC?
Если на компьютере действуют доменные групповые политики GPO, запрещающие локальные правила пользователей, локальное подтверждение игнорируется.
Как ограничить созданное правило только локальной подсетью?
Добавьте параметр -RemoteAddress LocalSubnet в команду New-NetFirewallRule.
Где посмотреть журнал реальных заблокированных пакетов (дропов)?
Включите логирование в свойствах профилей брандмауэра: файл лога сохраняется по пути %SystemRoot%\System32\LogFiles\Firewall\pfirewall.log.
Как удалить ошибочно созданное правило фаервола?
Выполните команду: Remove-NetFirewallRule -DisplayName 'ИмяПравила'.