Выполнение скриптов по событию журнала
Настроив syslog-ng, а также трансляцию syslog на стороне MITIGATOR, можно выполнять произвольные скрипты: скрипты блокировки, переключение защиты, переключение маршрутов BGP и так далее.
Настройка syslog-ng
Конфигурация записывается в /etc/syslog-ng/conf.d/mitigator.conf.
Параметры приема сообщений (протокол, порт) должны соответствовать настройкам
в web-интерфейсе MITIGATOR. Опция expect-hostname необходима, так как
имя хоста указывается в сообщениях.
Все сообщения MITIGATOR имеют одинаковое имя программы, по которому можно их отфильтровать:
Описание события представлено в формате JSON. Чтобы упростить скрипт, можно
разбирать сообщения и выбирать только нужные средствами syslog-ng.
В примере выбираются события превышения порогов на входящий трафик в любую
политику, в интерфейсе предикат Policy.InputPps. Описание формата сообщений (типы событий и их свойства) можно
получить от технической поддержки.
Наконец, настраивается вызов скрипта для выбранных событий (скрипт нужно создать и сделать исполняемым):
Для применения конфигурации:
Обработка сообщений скриптом
Скрипт получает на стандартный ввод тексты сообщений, то есть JSON, по одному сообщению на строку.
Информация
Рекомендуется, чтобы скрипт читал строки в бесконечном цикле и не делал долгих операций. Однако syslog-ng может и перезапускать скрипт на каждое сообщение, это удобно при отладке скрипта.
Если воспользоваться тем, что syslog-ng уже разбирает JSON, можно сразу передавать скрипту нужные поля, например:
В этом случае скрипт может читать их так:
Большей гибкости ценой более сложного скрипта можно достичь, если убрать разбор JSON и фильтрацию средствами syslog-ng, а разбирать JSON и выбирать сообщения в скрипте.
Похожие статьи
- Анализатор логов Web-сервера
- Блокировка IP на MITIGATOR с Nginx и fail2ban
- Формат SYSLOG
- MITIGATOR Challenge Response
- Агент SNMP
- Блокировка IP на MITIGATOR с Nginx и log2ban
- Защита TCP с синхронизацией ISN
- Интеграция с FastNetMon
- Интеграция с сервисом уведомлений «Весточка»
- Модуль challenge-response аутентификации для HTTP/HTTPS