В этом руководстве вы узнаете, как обрабатывать логи ModSecurity с помощью Wazuh.
ModSecurity WAF может быть интегрирован с Wazuh, чтобы обрабатывать генерируемые журналы оповещений для лучшего анализа и визуализации.
Для обработки журналов ModSecurity с помощью Wazuh;
Установите и настройте сервер Wazuh;
Если сервер еще не настроен, используйте приведенные ниже руководства для установки и настройки Wazuh;
🐳 Запуск сервера Wazuh в контейнерах Docker с помощью Docker Compose
Установка и настройка ModSecurity WAF
На ваших веб-серверах необходимо установить и активировать ModSecurity WAF для защиты вашего веб-сервера от атак.
Вы можете воспользоваться приведенными ниже руководствами по установке и настройке ModSecurity ;
- 🌐 Nginx WAF с ModSecurity и OWASP CRS
- 🐳 Установка ModSecurity 3 с Apache в контейнере Docker
- 🌐 Как собрать NGINX с ModSecurity на Ubuntu сервере
- ModSecurity + Nginx + Ubuntu 16.04
Ведение логов Modsecurity
По умолчанию ModSecurity записывает журналы, связанные с атаками, в файл журнала ошибок HTTP-сервера или в файл журналов аудита ModSecurity.
Чтобы иметь возможность обрабатывать журналы ModSecurity с помощью Wazuh, журналы, которые записываются на HTTP-сервер, должны быть собраны с помощью агента Wazuh и переданы менеджеру Wazuh для обработки.
В моей текущей настройке Modsecurity WAF ведет журнал в файл журнала ошибок Apache;
grep denied /var/log/apache2/error.log
Пример лога:
[Sat Apr 30 23:42:36.559613 2022] [:error] [pid 4504:tid 140114027435584] [client 127.0.0.1:57026] [client 127.0.0.1] ModSecurity: Access denied with code 403 (phase 2). Matched phrase "bin/ls" at ARGS:doc. [file "/etc/modsecurity/crs/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf"] [line "518"] [id "932160"] [msg "Remote Command Execution: Unix Shell Code Found"] [data "Matched Data: bin/ls found within ARGS:doc: /bin/ls"] [severity "CRITICAL"] [ver "OWASP_CRS/3.2.0"] [tag "application-multi"] [tag "language-shell"] [tag "platform-unix"] [tag "attack-rce"] [tag "paranoia-level/1"] [tag "OWASP_CRS"] [tag "OWASP_CRS/WEB_ATTACK/COMMAND_INJECTION"] [tag "WASCTC/WASC-31"] [tag "OWASP_TOP_10/A1"] [tag "PCI/6.5.2"] [hostname "localhost"] [uri "/"] [unique_id "Ym2fPFtd6Nody7X50nHgUwAAAAA"]
Настройка агента Wazuh на чтение логов ModSecurity
Итак, теперь вы можете настроить агентов Wazuh на чтение журнала ошибок Apache и передачу событий ModSecurity менеджеру Wazuh для дальнейшей обработки.
vim /var/ossec/etc/ossec.conf
Внутри <ossec_config> и </ossec_config> вставьте приведенные ниже строки конфигурации;
<localfile> <log_format>apache</log_format> <location>/var/log/apache2/access.log</location> </localfile> <localfile> <log_format>apache</log_format> <location>/var/log/apache2/error.log</location> </localfile>
Сохраните и выйдите из файла;
Проверьте, нет ли синтаксических ошибок;
/var/ossec/bin/wazuh-syscheckd
Статус вывода равен 0, если нет ошибок.
Перезапустите агент Wazuh;
systemctl restart wazuh-agent