Security Analysis Protocol

WAZUH MONITORING

Усовершенствованный мониторинг безопасности
01

Мониторинг целостности файлов (FIM)

Мониторинг целостности файлов (FIM) помогает в аудите конфиденциальных файлов и соблюдении нормативных требований. Wazuh имеет встроенный модуль FIM, который отслеживает изменения файловой системы для обнаружения создания, изменения и удаления файлов.

Этот сценарий использует модуль Wazuh FIM для обнаружения изменений в контролируемых директориях на узле Ubuntu. Модуль обогащает данные оповещений, извлекая информацию о пользователе и процессе, которые внесли изменения.

Часть 1 — Настройка отслеживаемого узла

Выполните следующие шаги, чтобы настроить агент Wazuh для мониторинга изменений в директории /root.

  • Отредактируйте конфигурационный файл агента /var/ossec/etc/ossec.conf. Добавьте директории для мониторинга внутри блока <syscheck>.
<directories check_all="yes" report_changes="yes" realtime="yes">/root</directories>
  • Выполните следующую команду, чтобы перезапустить агент Wazuh и применить изменения:
$ sudo systemctl restart wazuh-agent

Часть 2 — Тестирование конфигурации

  • Создайте текстовый файл в отслеживаемой директории и подождите 5 секунд.
$ sudo touch /root/testfile.txt
  • Добавьте содержимое в файл и сохраните его. Подождите 5 секунд.
$ echo "anything" | sudo tee /root/testfile.txt
  • Удалите текстовый файл из директории.
$ sudo rm /root/testfile.txt

Вы можете визуализировать данные алертов в панели управления Wazuh. Для этого перейдите в модуль File Integrity Monitoring и добавьте фильтры в строке поиска:

FIM Alerts
СОВЕТ ПО МОНИТОРИНГУ Если алерты не появились сразу, вы можете использовать следующий фильтр для поиска: rule.id: is one of 550,553,554
02

Мониторинг событий Docker

Модуль Wazuh для Docker выявляет инциденты безопасности в контейнерах и оповещает о них в режиме реального времени. В этом упражнении вы настроите Wazuh для мониторинга событий Docker на узле Ubuntu.

Часть 1 — Настройка отслеживаемого узла

Установите Docker и настройте Wazuh для мониторинга событий.

  • Установите Python и pip:
$ sudo apt install python3 python3-pip
  • Обновите pip:
$ pip3 install --upgrade pip
  • Установите Docker и библиотеку Python Docker:
$ curl -sSL https://get.docker.com/ | sh
$ sudo pip3 install docker==7.1.0 urllib3==2.2.2 requests==2.32.2
  • Отредактируйте /var/ossec/etc/ossec.conf и добавьте блок для включения модуля docker-listener в конец файла:
<ossec_config>
  <wodle name="docker-listener">
    <interval>10m</interval>
    <attempts>5</attempts>
    <run_on_start>yes</run_on_start>
    <disabled>no</disabled>
  </wodle>
</ossec_config>
  • Перезапустите агент:
$ sudo systemctl restart wazuh-agent

Часть 2 — Тестирование конфигурации

Выполните несколько действий в Docker: загрузка образа, запуск контейнера, выполнение команд и удаление.

  • Загрузите образ NGINX и запустите контейнер:
$ sudo docker pull nginx
$ sudo docker run -d -P --name nginx_container nginx
$ sudo docker exec -it nginx_container cat /etc/passwd
$ sudo docker exec -it nginx_container /bin/bash
$ exit
  • Остановите и удалите контейнер:
$ sudo docker stop nginx_container
$ sudo docker rm nginx_container

Проверьте вкладку Docker в панели Wazuh. Вы должны увидеть соответствующие алерты:

Docker Alerts
03

Интеграция с сетевой IDS

Wazuh интегрируется с сетевыми системами обнаружения вторжений (NIDS) для усиления защиты путем анализа сетевого трафика. В этом упражнении мы интегрируем Suricata.

Часть 1 — Настройка виртуальной машины Ubuntu

  • Установите Suricata (протестировано на версии 6.0.8):
$ sudo add-apt-repository ppa:oisf/suricata-stable
$ sudo apt-get update
$ sudo apt-get install suricata -y
  • Загрузите и извлеките набор правил Emerging Threats:
$ cd /tmp/ && curl -LO https://rules.emergingthreats.net/open/suricata-6.0.8/emerging.rules.tar.gz
$ sudo tar -xvzf emerging.rules.tar.gz && sudo mkdir /etc/suricata/rules && sudo mv rules/*.rules /etc/suricata/rules/
$ sudo chmod 640 /etc/suricata/rules/*.rules
  • Настройте /etc/suricata/suricata.yaml (замените <UBUNTU_IP> на адрес 10.x.x.x):
HOME_NET: "<UBUNTU_IP>"
EXTERNAL_NET: "any"
default-rule-path: /etc/suricata/rules
rule-files:
- "*.rules"
stats:
enabled: yes
af-packet:
  - interface: enp0s3
ВНИМАНИЕ Замените interface на имя вашего сетевого интерфейса (например, enp0s3).
  • Перезапустите Suricata:
$ sudo systemctl restart suricata
  • Настройте агент Wazuh для чтения логов Suricata (/var/ossec/etc/ossec.conf):
<ossec_config>
  <localfile>
    <log_format>json</log_format>
    <location>/var/log/suricata/eve.json</location>
  </localfile>
</ossec_config>

Часть 2 — Эмуляция атаки

Пропингуйте IP-адрес Ubuntu с сервера Wazuh:

$ ping -c 20 "<UBUNTU_VIRTUAL_MACHINE_IP>"

Часть 3 — Визуализация алертов

Перейдите в модуль Threat Hunting и добавьте фильтр: rule.groups:suricata

Suricata Alerts
04

Блокировка злоумышленников по репутации IP

Описание сценария

В этом упражнении мы настроим Wazuh для автоматической блокировки IP-адресов, которые значатся в базах данных репутации (например, AlienVault). Это реализуется с помощью CDB-списков и модуля Active Response.

1. Настройка сервера Wazuh

Сначала скачаем базу данных репутации и конвертируем её в формат CDB.

# Установка wget
sudo yum install -y wget

# Загрузка базы AlienVault
sudo wget https://iplists.firehol.org/files/alienvault_reputation.ipset -O /var/ossec/etc/lists/alienvault_reputation.ipset

# Добавление IP атакующего для теста (замените <ATTACKER_IP>)
sudo echo "<ATTACKER_IP>" >> /var/ossec/etc/lists/alienvault_reputation.ipset

# Конвертация в CDB
sudo wget https://wazuh.com/resources/iplist-to-cdblist.py -O /tmp/iplist-to-cdblist.py
sudo /var/ossec/framework/python/bin/python3 /tmp/iplist-to-cdblist.py \
/var/ossec/etc/lists/alienvault_reputation.ipset \
/var/ossec/etc/lists/blacklist-alienvault

# Права доступа
sudo chown wazuh:wazuh /var/ossec/etc/lists/blacklist-alienvault

2. Конфигурация правил и ответа

Добавьте CDB-список в конфигурацию ossec.conf и создайте правило в local_rules.xml.

Добавление списка в ossec.conf:
<ruleset>
  <!-- Добавьте эту строку в блок <ruleset> -->
  <list>etc/lists/blacklist-alienvault</list>
</ruleset>
Создание правила в local_rules.xml:
<group name="attack,">
  <rule id="100100" level="10">
    <if_group>web|attack|attacks</if_group>
    <list field="srcip" lookup="address_match_key">etc/lists/blacklist-alienvault</list>
    <description>IP address found in AlienVault reputation database.</description>
  </rule>
</group>
Настройка Active Response (блокировка на 60 сек):
<ossec_config>
  <active-response>
    <disabled>no</disabled>
    <command>firewall-drop</command>
    <location>local</location>
    <rules_id>100100</rules_id>
    <timeout>60</timeout>
  </active-response>
</ossec_config>

Перезапустите менеджер:

sudo systemctl restart wazuh-manager

3. Эмуляция и Проверка

Выполните запрос к веб-серверу с IP-адреса, который вы добавили в "черный список":

curl http://<WEBSERVER_IP>

После первого соединения Wazuh обнаружит совпадение с CDB-списком и заблокирует доступ для этого IP на 60 секунд.

IP Reputation Alerts
05

Обнаружение Brute-force атак

Описание сценария

Перебор паролей (Brute-force) — один из самых частых векторов атак. Wazuh обнаруживает такие атаки, коррелируя множественные события неудачной аутентификации. В этом упражнении мы будем использовать инструмент Hydra для атаки на SSH (Linux) и RDP (Windows).

1. Подготовка атакующего (Hydra)

Установите Hydra на вашу атакующую машину (например, Kali Linux или любой дистрибутив с пакетным менеджером):

# Для RHEL/CentOS
sudo yum install -y hydra

# Для Debian/Ubuntu
sudo apt update && sudo apt install -y hydra

2. Эмуляция атаки

Атака на SSH (Linux):

Замените <RHEL_IP> на IP-адрес жертвы и выполните:

sudo hydra -l baduser -P /usr/share/wordlists/rockyou.txt ssh://<RHEL_IP>
Атака на RDP (Windows):

Замените <WINDOWS_IP> на IP-адрес жертвы:

sudo hydra -l Administrator -P /usr/share/wordlists/rockyou.txt rdp://<WINDOWS_IP>

3. Визуализация в Wazuh Dashboard

Перейдите в модуль Threat Hunting и используйте следующие фильтры для поиска событий brute-force:

  • SSH (Linux): rule.id:5712 (SSHD brute force trying to get access)
  • RDP (Windows): rule.id:60122 (Multiple logon failures)
Brute Force Alerts
06

Обнаружение и удаление вредоносного ПО (VirusTotal)

Описание сценария

Интеграция Wazuh с VirusTotal позволяет автоматически проверять файлы на наличие вредоносного кода и мгновенно реагировать на угрозы. В этом упражнении мы настроим сканирование файлов в реальном времени и автоматическое удаление угроз.

ТРЕБОВАНИЕ Для работы необходим API-ключ VirusTotal (можно получить бесплатно на сайте virustotal.com).

1. Настройка сервера Wazuh

Включите интеграцию с VirusTotal и настройте автоматическое реагирование (Active Response) в файле /var/ossec/etc/ossec.conf.

Интеграция с VirusTotal:
<ossec_config>
  <integration>
    <name>virustotal</name>
    <api_key><YOUR_VIRUS_TOTAL_API_KEY></api_key>
    <group>syscheck</group>
    <alert_format>json</alert_format>
  </integration>
</ossec_config>
Настройка Active Response (Удаление угроз):
<ossec_config>
  <command>
    <name>remove-threat</name>
    <executable>remove-threat.exe</executable>
    <timeout_allowed>no</timeout_allowed>
  </command>

  <active-response>
    <disabled>no</disabled>
    <command>remove-threat</command>
    <location>local</location>
    <rules_id>87105</rules_id>
  </active-response>
</ossec_config>

2. Настройка агента (Windows/Linux)

Настройте модуль FIM для мониторинга директории в реальном времени.

  • Добавьте директорию для мониторинга (например, Downloads) в ossec.conf агента:
<directories check_all="yes" report_changes="yes" realtime="yes">C:\Users\Admin\Downloads</directories>
  • Перезапустите агент:
# Windows (PowerShell)
Restart-Service -Name wazuh

# Linux
sudo systemctl restart wazuh-agent

3. Эмуляция атаки и Проверка

Загрузите тестовый файл EICAR, чтобы проверить работу системы.

# PowerShell
Invoke-WebRequest -Uri https://secure.eicar.org/eicar.com.txt -OutFile C:\Users\Admin\Downloads\eicar.txt

После загрузки Wazuh отправит хэш файла в VirusTotal. Если файл признан вредоносным, сработает правило 87105, и файл будет автоматически удален.

VirusTotal Alerts
РЕЗУЛЬТАТ Проверьте раздел Threat Hunting. Вы должны увидеть алерты о совпадении с базой VirusTotal и последующем удалении файла.