Система Check Risk WAF готова к интеграции с Wazuh сразу после развертывания как в кластерном, так и в all in one построении.

Внимание: сетевой доступ до Wazuh должен быть подготовлен отдельно. Настройка NAT и firewall в этой инструкции не рассматриваются. В данной инструкции рассматривается только настройка передачи логов по протоколу Syslog на порт TCP/5514.

Порядок настройки передачи событий:

№ шага Описание Скриншот
1

Перенесите архив комплекта на Wazuh и распакуйте его в фиксированный каталог /opt/check-risk-wazuh/.

scp check-risk-waf-integration.zip ubuntu@<WAZUH_IP>:/tmp/
ssh ubuntu@<WAZUH_IP>
sudo apt-get install -y unzip
sudo install -d -m 0755 /opt/check-risk-wazuh
sudo unzip -o /tmp/check-risk-waf-integration.zip -d /opt/check-risk-wazuh

Минимальный архив содержит: 30-checkrisk.conf, check_risk_waf_decoders.xml, check_risk_waf_rules.xml и logrotate-checkrisk. Все следующие команды выполняются на ВМ Wazuh.

2

Установите rsyslog и создайте каталог логов.

apt-get update
apt-get install -y rsyslog
systemctl enable --now rsyslog
install -d -o syslog -g adm -m 0750 /var/log/checkrisk
touch /var/log/checkrisk/raw.log /var/log/checkrisk/events.log /var/log/checkrisk/rejected.log
chown syslog:adm /var/log/checkrisk/*.log
chmod 0640 /var/log/checkrisk/*.log
3

Установите конфигурацию коллектора из /opt/check-risk-wazuh/ и проверьте rsyslog.

sudo install -m 0644 /opt/check-risk-wazuh/30-checkrisk.conf /etc/rsyslog.d/30-checkrisk.conf
rsyslogd -N1
systemctl restart rsyslog
ss -lntp | grep 5514

TCP 5514 должен слушать rsyslog. raw.log содержит все кадры, events.log — только JSON Check Risk.

4

В /var/ossec/etc/ossec.conf внутри существующего ossec_config добавьте:

<localfile>
  <log_format>json</log_format>
  <location>/var/log/checkrisk/events.log</location>
</localfile>

В существующем global включите архивирование:

<logall>yes</logall>
<logall_json>yes</logall_json>
5

Установите decoder и rules из /opt/check-risk-wazuh/.

sudo install -m 0644 /opt/check-risk-wazuh/check_risk_waf_decoders.xml /var/ossec/etc/decoders/0000-check_risk_waf_decoders.xml
sudo install -m 0644 /opt/check-risk-wazuh/check_risk_waf_rules.xml /var/ossec/etc/rules/check_risk_waf_rules.xml
6

Перезапустите службы и проверьте состояние.

systemctl restart rsyslog
systemctl restart wazuh-manager
systemctl is-active rsyslog wazuh-manager

Rules: 100501 access; 100502 audit BLOCK; 100503 audit MONITORING; 100504 неизвестный action; 100510 пять BLOCK от одного client_ip за 60 секунд.

sudo install -m 0644 /opt/check-risk-wazuh/logrotate-checkrisk /etc/logrotate.d/checkrisk
7

В Check Risk WAF откройте отправку Syslog и задайте:

Хост — IP-адрес или DNS-имя ВМ Wazuh; порт — 5514; тип подключения — TCP; access-события — включить; audit-события — включить.

Сохраните настройки.

8

Отправьте тестовое событие с хоста, которому доступен TCP 5514. Замените WAZUH_IP.

export WAZUH_IP=<IP_WAZUH>
python3 - <<'PY'
import os,socket,json
e={"type":"audit","event_time":"2026-01-01T00:00:00Z","unique_id":"wazuh-checkrisk-test-1","client_ip":"203.0.113.7","uri":"/test","status":403,"rule_ids":[942100],"action":"BLOCK"}
d=json.dumps(e,separators=(",",":")).encode()
s=socket.create_connection((os.environ["WAZUH_IP"],5514),5);s.sendall(str(len(d)).encode()+b" "+d);s.close()
PY
9

Проверьте прохождение события по цепочке.

grep -F wazuh-checkrisk-test-1 /var/log/checkrisk/raw.log
grep -F wazuh-checkrisk-test-1 /var/log/checkrisk/events.log
grep -R -F wazuh-checkrisk-test-1 /var/ossec/logs/archives/
grep -F wazuh-checkrisk-test-1 /var/ossec/logs/alerts/alerts.json

Ожидается: raw.log — исходный кадр; events.log — JSON; archives — полное событие; alerts.json — rule.id 100502.

10

Просмотр событий Check Risk WAF

Откройте Wazuh Dashboard → Explore → Discover, выберите индекс wazuh-alerts-*, установите период Last 15 minutes или Today и нажмите Refresh.

Для просмотра всех событий Check Risk используйте фильтр:

rule.id:100501 OR rule.id:100502 OR rule.id:100503 OR rule.id:100504