🌐 Как парсить логи WAF ModSecurity?

Мануал

Получите обзор инцидентов безопасности, о которых сообщает модуль modsecurity, из файла modsec_audit.log.

Описание

modsecurity parser – это python программа для чтения modsecurity.org modsec_audit.log, преобразования прочитанных событий в более человеко и машиночитаемые форматы (xlsx/json) и построения основных диаграмм.

Список функциональных возможностей:

  • JSON файл с форматированием, соответствующим JSON логированию, добавленному в Modsecurity 2.9
  • Выходной файл XLSX, который может быть проанализирован с помощью настольных инструментов
  • PNG файл с некоторыми основными диаграммами – временная шкала неблокированных и перехваченных событий, TOP10 IP-адресов
  • источников, TOP20 идентификаторов правил, TOP10 перехваченных атак.

Установка

Для работы программы требуется как минимум Python 3.5.2 с дополнительными библиотеками:

  • Pandas 0.22
  • Pillow
  • matplotlib 2.1.2
  • numpy 1.13.1
  • openpyxl 2.4.0

Установите их с помощью команды:

pip3 install -r requirements.txt

Основное использование

python3 modsecurity-parser.py -f /home/user/logs/modsec_audit.log
В этом случае результаты будут записаны в подкаталог “modsec_output“, куда помещается лог для анализа.

Запуск через Docker

Создайте подпапку (например, “modseclogs”) и поместите в нее несколько логов аудита modsecurity (по умолчанию обрабатывается только имя modsec_audit.log).

Выходные файлы будут созданы внутри ${subfolder}/modsec_output

docker run --rm -ti --mount type=bind,source="$(pwd)"/modseclogs,target=/opt/mounted molu8bits/modsecurity-parser:latest

Получите еще несколько вариантов для Docker:

docker run --rm -ti -e HELP=Yes molu8bits/modsecurity-parser:latest
В результате парсинге вы получите три файла: json,lsx и png:
см. также:

 

Добавить комментарий