Приветствую, хакеры! В данной небольшой статье хочу рассказать о том, как парсить логи WAF ModSecurity. 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:
Вся информация предоставлена лишь для ознакомления и не призывает к действиям. Автор не несет ответственности за использование этой информации.