Если вы подозреваете, что Windows Defender Firewall блокирует сетевые подключения программы или сервиса, отключение брандмауэра — не лучшее решение. Вместо этого можно включить логирование сетевого трафика, чтобы определить заблокированные порты, IP-адреса и создать разрешающее правило. В этой статье мы покажем, как включить логирование в Windows Firewall, настроить запись событий в Журнал событий и анализировать логи с помощью PowerShell.
Включение логирования в Windows Firewall
Windows Defender Firewall позволяет записывать в лог как заблокированные, так и успешные сетевые подключения. Логирование настраивается отдельно для каждого сетевого профиля: Доменный, Частный или Общедоступный. По умолчанию логирование отключено.
Настройка через интерфейс
1. Откройте Брандмауэр Защитника Windows в режиме повышенной безопасности:
– Нажмите Win+R, введите wf.msc и нажмите Enter.
2. Щелкните правой кнопкой мыши по корню консоли (Брандмауэр Защитника Windows) и выберите Свойства.
3. Выберите вкладку нужного профиля:
– Профиль домена, Частный профиль или Общедоступный профиль.
– Узнайте текущий профиль сети командой:
Get-NetConnectionProfile
4. В разделе Ведение журнала нажмите Настроить.
5. Установите параметры:
– Имя файла журнала: По умолчанию %systemroot%\system32\LogFiles\Firewall\pfirewall.log.
Для каждого профиля можно задать отдельный файл, например:
— %windir%\system32\logfiles\firewall\pfirewall_domain.log
— %windir%\system32\logfiles\firewall\pfirewall_private.log
— %windir%\system32\logfiles\firewall\pfirewall_public.log
– Максимальный размер журнала: Увеличьте до 20480 КБ (20 МБ).
– Записывать отброшенные пакеты: Установите Да.
– Записывать успешные подключения: Установите Да (осторожно: лог может стать большим).
6. Нажмите ОК и Применить.
Настройка через PowerShell
Включите логирование для профиля (например, Общедоступный):
Set-NetFirewallProfile -Profile Public -LogBlocked True -LogMaxSize 20480 -LogFileName "%systemroot%\system32\LogFiles\Firewall\pfirewall.log" -Verbose
Проверьте текущие настройки логирования для всех профилей:
Get-NetFirewallProfile | Select-Object Name, Enabled, Log* | Format-Table
Анализ логов Windows Firewall
Логи Windows Firewall записываются в текстовый файл (по умолчанию pfirewall.log) в формате:
date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path pid
Просмотр логов вручную
1. Откройте файл лога в текстовом редакторе (например, Блокнот) по пути C:\Windows\System32\LogFiles\Firewall\pfirewall.log.
2. Найдите строки с действием DROP (отброшенные пакеты) или ALLOW (разрешенные подключения).
Анализ логов через PowerShell
Для мониторинга заблокированных подключений в реальном времени (например, на порт 445/TCP для SMB):
Get-Content C:\Windows\System32\LogFiles\Firewall\pfirewall.log -Wait | Select-String -Pattern "DROP.*TCP.*445"
Графический анализ логов
Используйте следующую PowerShell-функцию для отображения логов в таблице через Out-GridView:
function Get-WindowsFirewallLog {
param(
[parameter(Position=0, Mandatory=$false)] [ValidateScript({Test-Path $_})] [string]$LogFilePath = "$env:SystemRoot\System32\LogFiles\Firewall\pfirewall.log"
)
$headerFields = @("date", "time", "action", "protocol", "src-ip", "dst-ip", "src-port", "dst-port", "size", "tcpflags", "tcpsyn", "tcpack", "tcpwin", "icmptype", "icmpcode", "info", "path")
$firewallLogs = Get-Content $LogFilePath | ConvertFrom-Csv -Header $headerFields -Delimiter ' '
$firewallLogs | Out-GridView
}
Get-WindowsFirewallLog
Функция преобразует лог в таблицу с полями, такими как IP-адреса, порты и действие (DROP или ALLOW).
Запись логов в журнал событий
Логи Windows Firewall можно записывать в Журнал событий Windows для удобного анализа через Просмотр событий.
Настройка через групповые политики
1. Откройте Редактор локальной групповой политики:
– Нажмите Win+R, введите gpedit.msc и нажмите Enter.
2. Перейдите в:
Конфигурация компьютера → Конфигурация Windows → Параметры безопасности → Конфигурация расширенной политики аудита → Политики аудита системы → Доступ к объектам
3. Настройте политики:
– Аудит отбрасывания пакетов платформой фильтрации:
— Включите политику и активируйте опцию Отказ.
– Аудит подключений платформы фильтрации (опционально):
— Включите для аудита успешных подключений (используйте с осторожностью из-за большого объема событий).
4. Примените изменения:
gpupdate /force
Настройка через Auditpol
Включите аудит заблокированных подключений:
Auditpol /set /category:"System" /SubCategory:"Filtering Platform Packet Drop" /failure:enable
Проверьте текущие настройки аудита:
Auditpol /get /subcategory:"Filtering Platform Packet Drop","Filtering Platform Connection"
Просмотр событий в Event Viewer
1. Откройте Просмотр событий:
– Нажмите Win+R, введите eventvwr.msc и нажмите Enter.
2. Перейдите в Журналы Windows → Безопасность.
3. Найдите события с Event ID 5152 (Платформа фильтрации Windows заблокировала пакет):
– Используйте фильтр, выбрав категорию Filtering Platform Packet Drop.
– В описании события указаны протокол (TCP-6, UDP-17, ICMP-1), IP-адреса, порты, направление (Inbound/Outbound) и процесс (для исходящих подключений).
Анализ событий через PowerShell
Для поиска заблокированных подключений на порт (например, 3388) используйте скрипт:
Скачать его можно напрямую с нашего сервера.
Скрипт выводит таблицу с временем, IP-адресом источника и целевым портом для заблокированных подключений.
Рекомендации
– Размер лога: Увеличьте максимальный размер лога или настройте ротацию, чтобы избежать переполнения.
– Отдельные файлы: Используйте разные файлы логов для каждого профиля (Доменный, Частный, Общедоступный) для удобства анализа.
– Ограничение аудита: Включайте аудит успешных подключений только при необходимости, чтобы избежать перегрузки Журнала событий.
– Резервное копирование: Регулярно сохраняйте логи в отдельное место для анализа инцидентов.
– Проверка правил: Используйте данные логов для создания точных разрешающих правил в Windows Firewall.
Включение логирования в Windows Defender Firewall через wf.msc, PowerShell или групповые политики позволяет отслеживать заблокированные и разрешенные сетевые подключения. Текстовые логи и события в Журнале событий предоставляют подробную информацию о протоколах, IP-адресах и портах. Анализ с помощью PowerShell упрощает поиск проблемных подключений и настройку правил. Эти методы помогают диагностировать сетевые проблемы и поддерживать безопасность системы.