Гид по технологиям

Как отслеживать активность брандмауэра с помощью журнала Windows Firewall

8 min read Сетевая безопасность Обновлено 25 Nov 2025
Журнал Windows Firewall: анализ и отслеживание
Журнал Windows Firewall: анализ и отслеживание

Скриншот: как отслеживать активность брандмауэра через журнал Windows Firewall

Быстрые ссылки

  • Почему и когда полезно журналирование брандмауэра

  • Как создать файл журнала

  • Как интерпретировать журнал Windows Firewall

Почему и когда полезно журналирование брандмауэра

Журналирование позволяет увидеть, как брандмауэр обрабатывает сетевой трафик. Это помогает при отладке правил, расследовании сбоев приложений и обнаружении подозрительной активности в сети. Ключевые случаи использования:

  • Проверка работоспособности новых правил брандмауэра и поиск причин их неработоспособности.
  • Поиск причин отказов приложений — например, закрытые порты или отклонённые пакеты с нестандартными TCP-флагами.
  • Первичная помощь при обнаружении подозрительной активности внутри сети (лог показывает события, но не всегда помогает однозначно идентифицировать источник).
  • Быстрая блокировка источников постоянных неудачных попыток доступа по IP или подсети.
  • Обнаружение исходящих соединений с внутренних серверов, которые могут указывать на компрометацию.

Важно: журнал Windows Firewall даёт детальные сетевые данные, но не заменяет полные сетевые дампы или решения SIEM для долгосрочного мониторинга.

Как создать файл журнала

По умолчанию запись в журнал отключена. Чтобы включить её вручную:

  1. Нажмите Win + R, введите wf.msc и нажмите Enter. Откроется окно «Windows Firewall with Advanced Security».
  2. В правой части щёлкните Properties.

Окно свойств Windows Firewall — вкладка профиля Private

  1. На вкладке Private Profile нажмите Customize в разделе Logging.

Настройка логирования для приватного профиля

  1. В открывшемся окне укажите максимальный размер журнала, путь к файлу и какие типы событий логировать: только dropped (отклонённые пакеты), только successful connections (успешные соединения) или оба варианта. Понимание терминов:
    • Dropped packet — пакет, который брандмауэр заблокировал.
    • Successful connection — соединение, которое прошло через брандмауэр (входящее или исходящее).

Параметры логирования: путь, размер и типы записей

По умолчанию Windows Firewall записывает логи в файл:

%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log

и хранит только последние 4 MB данных. В продакшн-средах частая запись в журнал может повлиять на производительность, поэтому рекомендуют включать логирование только во время диагностики и отключать по завершении работ.

  1. Повторите шаги для вкладки Public Profile, если нужно логирование и для публичных сетей.

  2. На главном экране «Windows Firewall with Advanced Security» откройте раздел Monitoring. В панели Details, под Logging Settings, щёлкните путь рядом с File Name — журнал откроется в Блокноте.

Открытие файла журнала через Monitoring

Советы по просмотру:

  • Журнал создаётся в расширяемом формате W3C (.log). Его удобно открывать в текстовом редакторе без переноса строк (word wrap off) или импортировать в таблицу, чтобы сохранить колонки.
  • Один лог-файл может содержать тысячи записей — используйте фильтрацию и инструменты анализа.

Как интерпретировать журнал Windows Firewall

Журнал состоит из двух частей: заголовка и тела. Заголовок содержит статичную информацию о версии журнала и наборе полей; тело — это динамический список записей событий.

Пример заголовка и тела журнала Windows Firewall

Структура и назначение полей (на основе документации Microsoft):

  • Version — версия формата журнала.
  • Software — программа, создавшая журнал.
  • Time — указание, что штампы времени локальные.
  • Fields — перечень полей, доступных в записях.

Основные поля записей:

  • date — дата в формате YYYY-MM-DD.
  • time — локальное время в формате HH:MM:SS (24 часа).
  • action — действие (DROP, OPEN, CLOSE, OPEN-INBOUND, INFO-EVENTS-LOST).
  • protocol — используемый протокол (TCP, UDP, ICMP и др.).
  • src-ip — исходный IP-адрес (клиент, пробующий установить связь).
  • dst-ip — адрес назначения (локальная машина или сервис).
  • src-port — исходный порт.
  • dst-port — целевой порт.
  • size — размер пакета в байтах.
  • tcpflags — TCP-флаги (например, SYN, ACK, RST и т. п.).
  • tcpsyn — TCP sequence number.
  • tcpack — TCP acknowledgement number.
  • tcpwin — TCP window size.
  • icmptype — тип ICMP-сообщения.
  • icmpcode — код ICMP.
  • info — дополнительная информация, зависит от action.
  • path — направление: SEND, RECEIVE, FORWARD, UNKNOWN.

Как правило, для первичного анализа достаточно первых восьми полей (date, time, action, protocol, src-ip, dst-ip, src-port, dst-port).

Пример записи журнала

Ниже показан типичный пример строки (формат W3C, поля в порядке, соответствующем заголовку #Fields):

2023-07-01 12:34:56 DROP TCP 203.0.113.5 192.0.2.10 445 49720 60 SYN 0 0 0 - - - SEND

Разбор примера:

  • Дата/время: 2023-07-01 12:34:56
  • Действие: DROP — пакет заблокирован
  • Протокол: TCP
  • Исходный IP: 203.0.113.5
  • Целевой IP: 192.0.2.10
  • Целевой порт: 445 (часто SMB)
  • Исходный порт: 49720
  • tcpflags: SYN — попытка открыть соединение

Если вы видите много DROP на известных сервисных портах (80, 443, 445 и др.) с одинаковых src-ip, это повод проверить источник и поведение приложений.

Быстрые приёмы фильтрации и анализа

Ниже — несколько практических способов извлечь полезную информацию из журнала.

Простейшая фильтрация для поиска DROP (в PowerShell):

Select-String -Path "$env:SystemRoot\System32\LogFiles\Firewall\pfirewall.log" -Pattern " DROP " | Out-File -FilePath C:\temp\firewall-drop.txt

Фильтрация по IP:

Select-String -Path "$env:SystemRoot\System32\LogFiles\Firewall\pfirewall.log" -Pattern "203.0.113.5" | Out-File C:\temp\ip-events.txt

Импорт в таблицу (упрощённый пример на PowerShell) — скрипт читает заголовок #Fields и преобразует строки в объекты:

$log = Get-Content "$env:SystemRoot\System32\LogFiles\Firewall\pfirewall.log"
$fieldsLine = ($log | Where-Object { $_ -like '#Fields:*' }) -replace '^#Fields:\s*',''
$fields = $fieldsLine -split '\s+'
$dataLines = $log | Where-Object { $_ -and $_ -notmatch '^#' }
$objects = foreach ($line in $dataLines) {
  $vals = $line -split '\s+'
  $obj = [PSCustomObject]@{}
  for ($i=0; $i -lt $fields.Count; $i++) { $obj | Add-Member -NotePropertyName $fields[$i] -NotePropertyValue $vals[$i] }
  $obj
}
$objects | Where-Object { $_.action -eq 'DROP' } | Export-Csv C:\temp\drop-events.csv -NoTypeInformation

Примечание: данный фрагмент упрощён; в реальном логе встречаются пустые поля, разные разделители и строки неверной длины. Всегда проверяйте корректность соответствия полей и значений.

Методология анализа подозрительных событий

  1. Сфокусируйтесь на action=DROP и событиях с повторяющимися src-ip.
  2. Сортируйте по dst-port — часто повторяющиеся обращения к служебным портам указывают на сканирование или попытки эксплуатации.
  3. Смотрите tcpflags: SYN без последующего ACK может быть сканированием; необычные комбинации (PUSH+URG) в большом количестве — подозрительны.
  4. Сверяйте время событий: всплески за короткий период указывают на автоматизированную атаку.
  5. Если src-ip — внутренний сервер и отправляет много исходящих соединений к разным внешним адресам, проверьте целостность сервера.

Когда лог не даёт ответа:

  • Логи Windows Firewall показывают факт блокировки/открытия, но не дают полного сетевого контекста (например, транзитные устройства перед локальной машиной). В таких случаях используйте сетевой сниффер (tcpdump/WinPcap) или коллекции сетевых потоков на границе сети.

Рекомендации по производительности и хранению

  • По умолчанию хранится 4 MB журнала; при длительном включении логирование может генерировать большой объём I/O. Включайте запись на время диагностики и периодически экспортируйте или ротаируйте логи.
  • Для длительного мониторинга лучше настроить централизованный сбор логов (SIEM, syslog-коллектор) с фильтрацией и ротацией.
  • Если логирование необходимо постоянно, храните логи на отдельном диске или перенаправляйте в сеть, чтобы исключить влияние на системный диск.

Рольовые чеклисты

Администратор сервера:

  • Включил логирование временно для дебага.
  • Сохранил копию pfirewall.log перед изменением правил.
  • Провёл первичную фильтрацию по DROP и проверил повторяющиеся src-ip.

Аналитик SOC:

  • Импортировал логи в SIEM и установил корреляции с другими событиями (аутентификация, EDR).
  • Проверил совпадения src-ip с известными списками угроз.
  • Подготовил рекомендации по блокировке/обратной связи с владельцами подсетей.

Разработчик приложения:

  • Проверил логи на события DROP в диапазонах портов своего приложения.
  • Убедился, что правило брандмауэра соответствует ожидаемым портам и интерфейсам.

План действий при инциденте

  1. Изолировать подозрительный хост (если возможно).
  2. Сохранить текущий журнал pfirewall.log в безопасное место для анализа.
  3. Отфильтровать события DROP, собрать связанные записи (время ±5 минут, src-ip, dst-port).
  4. Сопоставить с системными логами (Event Viewer), логами приложений и EDR.
  5. При подтверждении компрометации — выполнить процедуру восстановления/удаления и перетестировать доступы.

Критерии приёмки для расследования:

  • Собранные логи охватывают период инцидента.
  • Выявлены повторяющиеся src-ip/подсети и dst-port, подтверждающие подозрение.
  • Приняты меры по блокировкам или восстановлению и задокументированы.

Примеры, когда журнал не помогает

  • Если злоумышленник использует уже легитимное приложение и порт (например, HTTPS на 443), журнал покажет соединение, но не мотив или полезную нагрузку.
  • Журнал не содержит payload-поведения трафика; для детального анализа нужен сниффер.
  • Если IP-адрес спуфингован, одни только записи журналов могут ввести в заблуждение. Требуется сетевой уровень трассировки и дополнительная корреляция.

Конфиденциальность и соответствие требованиям

Журнал содержит IP-адреса и временные метки, которые в контексте персональных данных могут быть чувствительными. При передаче логов третьим лицам или в централизованные хранилища:

  • Оценивайте правовую базу и требования конфиденциальности (например, GDPR) для вашего региона.
  • Минимизируйте доступ и применяйте шифрование при переносе файлов.
  • Храните логи в течение строго необходимого времени и удаляйте устаревшие копии по политике хранения данных.

Совместимость и миграция

Windows Firewall и формат pfirewall.log присутствуют во многих версиях Windows Server и Windows Client. Однако интерфейсы управления и некоторые поведенческие детали могут отличаться между версиями; проверяйте документацию для вашей версии ОС.

Факто-бокс

  • По умолчанию лог хранит последние 4 MB.
  • Стандартный путь файла: %SystemRoot%\System32\LogFiles\Firewall\pfirewall.log
  • Формат: W3C/расширяемый текстовый лог.

Быстрые шаблоны и полезные команды

  • Открыть журнал в Блокноте: откройте Monitoring → Logging Settings → File Name.
  • Экспорт всех DROP в CSV (PowerShell): используйте фрагмент в разделе «Быстрые приёмы фильтрации и анализа».
  • Импорт в Excel: откройте .log как текст с разделителем пробелом/табуляцией, используйте строку #Fields как заголовок.

Дерево принятия решения для включения логирования

flowchart TD
  A[Есть проблема с доступом или подозрение на атаку?] -->|Да| B[Включить логирование]
  A -->|Нет| C[Не включать журнал постоянно]
  B --> D[Установить размер и путь журнала]
  D --> E[Собирать и фильтровать DROP]
  E --> F{Проверка результатов}
  F -->|Подтверждено| G[Экспорт и расследование]
  F -->|Ложный тревога| H[Отключить логирование]

Заключение

Журнал Windows Firewall — простой и быстрый инструмент для первичной диагностики сетевых проблем и поиска подозрительной активности. Он не заменяет глубинного сетевого анализа или централизованные решения мониторинга, но при грамотном применении и временном включении помогает локализовать и понять проблему.

Сохраните копии логов до внесения изменений в правила, фильтруйте по action=DROP для первичного поиска, и при необходимости интегрируйте сбор логов в централизованный SIEM для долгосрочного анализа.

Важно: включайте журналирование только тогда, когда это необходимо для диагностики, и соблюдайте правила хранения и конфиденциальности данных.

Краткое резюме:

  • Включайте запись в журнал через wf.msc → Properties → Customize → Logging.
  • Анализируйте в первую очередь поля date, time, action, protocol, src-ip, dst-ip, src-port, dst-port.
  • Экспортируйте DROP-записи и сверяйте с другими логами при расследовании.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Оптимизация страницы книги на Amazon
Самиздат

Оптимизация страницы книги на Amazon

CMD + n в Safari: переключение вкладок
Инструкции

CMD + n в Safari: переключение вкладок

Как открыть Accounts Center в Facebook и Instagram
Социальные сети

Как открыть Accounts Center в Facebook и Instagram

Добавить «Безопасный режим» в меню загрузки Windows
Windows

Добавить «Безопасный режим» в меню загрузки Windows

Восстановление удалённых Sticky Notes в Windows
Windows

Восстановление удалённых Sticky Notes в Windows

Как сканировать на Mac: простой гид
Инструкции

Как сканировать на Mac: простой гид