Баннер мобильный (3) Пройти тест

Wazuh: руководство по SIEM с открытым исходным кодом

Как бесплатный инструмент DevOps помогает искать уязвимости в системе

Разбор

29 мая 2025

Поделиться

Скопировано
Wazuh: руководство по SIEM с открытым исходным кодом

Содержание

    Wazuh — это бесплатная опенсорс-платформа с XDR и SIEM для защиты конечных устройств (End Devices), облачных и локальных сред.

    Дашборд Wazuh
    Дашборд (инструмент визуализации данных) Wazuh. Источник

    Его используют в DevOps, чтобы обеспечивать безопасность инфраструктуры, мониторинг контейнеров, обнаруживать уязвимости и автоматически реагировать на инциденты.

    Что такое XDR и SIEM

    XDR (Extended Detection and Response) это платформа для обнаружения, анализа и реагирования на угрозы, интегрирующая данные из конечных устройств, сетей и облаков.

    SIEM (Security Information and Event Management) система для сбора, анализа и управления данными безопасности в реальном времени. 

    Основные функции этих инструментов:

    • сбор логов с устройств, серверов, приложений;
    • анализ событий для выявления аномалий и угроз;
    • генерация оповещений и автоматизация ответных действий;
    • блокировка программ-вымогателей (ransomware) и т. д.

    Что защищает Wazuh

    Как SIEM-платформа, Wazuh обеспечивает защиту различных объектов IT-инфраструктуры. 

    Серверы и сетевые устройства

    Физические и виртуальные серверы, маршрутизаторы, коммутаторы, брандмауэры

    Wazuh собирает логи активности (доступ, изменения конфигурации, сбои) и выявляет подозрительные события. Он фиксирует многократные неудачные попытки входа на сервер Linux через SSH, которые указывают на bruteforce-атаку, и отправляет алерт.

    Примеры триггеров:

    • Изменение конфигурации маршрутизатора.
    • Обнаружение DDoS-атаки на брандмауэр.

    Конечные устройства

    Рабочие станции, ноутбуки, мобильные устройства сотрудников

    Wazuh мониторит действия пользователей, процессы, сетевую активность, обнаруживает вредоносное ПО или несанкционированный доступ, замечает запуск подозрительного процесса (например, ransomware) на компьютере сотрудника и изолирует устройство.

    Примеры триггеров:

    • Установка неавторизованного ПО.
    • Подключение USB-устройства с вредоносным кодом.

    Облачные среды

    Облачные сервисы (AWS, Azure, Google Cloud), SaaS-приложения (например, Office 365)

    Wazuh анализирует API-логи, доступ к облачным ресурсам, изменения конфигураций. Обнаруживает несанкционированный доступ к S3-бакету в AWS из-за утечки ключей и уведомляет администратора.

    Примеры триггеров:

    • Изменение прав доступа в облаке.
    • Подозрительная активность в SaaS-приложении.

    Контейнеры и DevOps-инфраструктура

    Контейнеры (Docker, Kubernetes), CI/CD-пайплайны, микросервисы

    Wazuh мониторит конфигурации, образы контейнеров, сетевые взаимодействия, выявляет уязвимости. Сканирует образы Docker, находит уязвимости CVE-2024-3094 в XZ Utils, рекомендует обновления при необходимости.

    Примеры триггеров:

    • Запуск неподписанного контейнера.
    • Аномальный трафик между микросервисами.

    Приложения и базы данных

    Корпоративные приложения, базы данных (SQL, NoSQL), веб-приложения

    Wazuh отслеживает доступ, запросы, изменения данных, обнаруживает SQL-инъекции или утечки, фиксирует аномальное количество запросов к базе данных, указывающее на попытку SQL-инъекции, и блокирует IP-адрес.

    Примеры триггеров:

    • Несанкционированный доступ к CRM.
    • Изменение записей в базе данных.

    Пользовательские действия

    Действия сотрудников, подрядчиков, администраторов

    Wazuh анализирует логи авторизации, изменения прав, подозрительное поведение. Например, уведомляет о входе сотрудника в систему с незнакомого устройства в нерабочее время.

    Примеры триггеров

    • Повышение привилегий без авторизации
    • Массовое скачивание данных

    Архитектура и интеграции Wazuh

    Платформа Wazuh состоит из универсального агента и трех центральных компонентов: сервера (Wazuh Server), индексатора (Wazuh Indexer) и дашборда (Wazuh Dashboard). Все компоненты являются опенсорс и распространяются под лицензиями GNU GPL v2 и Apache License v2.0.

    Агент

    Это легкий программный модуль Wazuh, который устанавливают на конечные устройства (рабочие станции, серверы, контейнеры). Агент интегрируется с сервером Wazuh через зашифрованный канал и передает логи, метрики и события безопасности. Функционал агента настраивают в зависимости от задач и типа устройств, на котором он установлен.

    • Для операционных систем.

    Wazuh Agent на Windows собирает события Windows Event Log (например, попытки входа), на Linux (Ubuntu, CentOS, Debian) мониторит системные метрики через /proc и syslog, на macOS отслеживает CoreServices, на Solaris/AIX/HP-UX — базовые системные ресурсы (например, загрузку CPU). 

    • Для серверов.

    Wazuh Agent с модулем для Apache анализирует логи доступа (например, /var/log/apache2/access.log), для MySQL/PostgreSQL отслеживает запросы и ошибки (например, ERROR: database connection failed), для почтовых серверов (Postfix) фиксирует объем отправленных писем. 

    • Для контейнеров.

    Wazuh Agent в Docker отслеживает изменения в образах (например, запуск контейнера с подозрительным образом), в Kubernetes мониторит поды и ноды через API (например, запуск привилегированного пода). 

    • Для виртуальных машин.

    Wazuh Agent на VMware собирает данные через vSphere API, на Hyper-V — через службы интеграции, на AWS EC2/Azure VMs — облачные метрики (например, изменение групп безопасности).

    Когда установка агента невозможна, например на сетевых устройствах (брандмауэрах, маршрутизаторах) или устаревших системах, используют безагентный мониторинг. Данные с таких источников собирают удаленно с помощью доступа по SSH.

    Архитектура Wazuh
    Архитектура Wazuh. Эндпойнты представляют устройства, на которых установлены агенты, или безагентные источники. Сервер отправляет к ним запросы и получает данные для анализа. Источник

    Сервер 

    Центральный компонент, который собирает данные от агентов и безагентных источников, обрабатывает их и управляет безопасностью. Он анализирует состояние системы в реальном времени, выявляет угрозы и координирует ответные действия.

    Функции:

    • Анализирует данные в реальном времени с помощью правил корреляции.
    • Выявляет угрозы и аномалии (например, brute-force атаки, эксплойты).
    • Генерирует алерты и автоматизирует ответные действия (через интеграции).
    • Хранит данные для аудита и ретроспективного анализа.
    • Анализирует данные, выявляет угрозы, генерирует алерты.

    Что такое правила корреляции?

    Правила корреляции — это логические конструкции, которые анализируют логи, события и метрики для выявления инцидентов. Они помогают обнаружить угрозы в реальном времени и ретроспективно.

    Примеры правил:

    • Обнаружение brute-force атаки.

    Условие: более 10 неудачных попыток входа через SSH с одного IP за 5 минут.

    События: логи SSH-сервера фиксируют многократные ошибки авторизации (например, sshd: Failed password for user root from 192.168.1.100).

    Меры Wazuh: сгенерирует алерт высокого приоритета и может инициировать блокировку IP через интеграцию с брандмауэром (например, iptables -A INPUT -s 192.168.1.100 -j DROP).

    • Обнаружение ransomware.

    Условие: модуль контроля целостности файлов (FIM) фиксирует массовое изменение или шифрование файлов в каталоге, за которым следует запуск подозрительного процесса.

    События: например, агент на Windows фиксирует изменение сотен файлов в C:\Users\Documents и запуск процесса encryptor.exe.

    Меры Wazuh: классифицирует эту активность как ransomware, сгенерирует алерт и сможет изолировать устройство (например, через модуль Active Response).

    • Несанкционированный доступ в облаке.

    Условие: обнаружение входа в AWS с неизвестного IP, за которым следует изменение прав доступа в S3-бакете.

    События: логи AWS CloudTrail фиксируют вызов API PutBucketPolicy с IP 203.0.113.10.

    Меры Wazuh: создает алерт и отправляет уведомление (например, через Slack при интеграции) о возможной утечке ключей.

    Менеджеры индексации и визуализации

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

    Сервисы интегрируются с Elastic Stack (Elasticsearch, Kibana) для хранения, поиска и визуализации данных.

    Как начать пользоваться Wazuh

    Расскажем, как установить и настроить Wazuh, включая правила корреляции, автосканирование и автоматизацию ответных действий.

    Развертывание Wazuh

    Wazuh можно развернуть в виде all-in-one (все компоненты на одном сервере) или кластерной архитектуры. Если вы новичок, рекомендуем all-in-one вариант с установкой агента.

    Требования:

    Сервер с поддерживаемой ОС.

    Минимум 4 ГБ ОЗУ, 2 CPU, 20 ГБ на диске. 

    Доступ в интернет для загрузки пакетов.

    Настройка агента и сервера

    После установки Wazuh у вас должен быть адрес сервера, по которому можно будет получить дашборд.

    1. Получаем доступ к дашборду Wazuh

    После установки откройте веб-интерфейс по адресу https://<IP_сервера_wazuh>:5601. Это Wazuh Dashboard.

    Используйте учетные данные, заданные при установке. По умолчанию логин: admin, а пароль генерируется при установке (проверьте вывод команды установки или файл /var/ossec/etc/authd.pass).

    Изменение пароля

    В веб-интерфейсе перейдите в Settings → Users → выберите пользователя admin → измените пароль.

    Подробнее: Документация по Wazuh Dashboard

    1. Подключение агентов

    Агенты нужно зарегистрировать на сервере.

    Генерация ключа для агента

    На сервере Wazuh запустите утилиту управления агентами: 

    /var/ossec/bin/manage_agents

    Выберите опцию (A) Add an agent. Укажите: 

    • имя агента (например, agent001);
    • IP-адрес агента (или any, если IP динамический);
    • ID агента (или оставьте автоматический).

    После ввода данных утилита выдаст уникальный ключ, например: 

    Agent key: MDAxIGFnZW50MDAxIDE5Mi4xNjguMS4xMCBhYmNkMTIzNDU2Nzg5MGFiY2Q=

    Скопируйте этот ключ.

    На устройстве с установленным агентом выполните: 

    /var/ossec/bin/agent-auth -m <IP_сервера_wazuh> -A <имя_агента>

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

    Настройте файл /var/ossec/etc/ossec.conf на агенте, указав IP сервера:

    <client>
      <server>
        <address>192.168.1.100</address>
        <port>1514</port>
        <protocol>udp</protocol>
      </server>
    </client>

    Перезапустите агент: 

    systemctl restart wazuh-agent

    Подробнее: Документация по регистрации агентов.

    Проверка подключения: 

    В веб-интерфейсе в разделе Agents проверьте статус агента. Он должен быть Active (зеленый индикатор).

    Если агент не подключается, проверьте логи: 

    • на сервере: /var/ossec/logs/ossec.log;
    • у агента: /var/ossec/logs/ossec.log.

    Подробнее: Документация по управлению агентами.

    1. Настройка конфигурации сервера

    Основной файл конфигурации: /var/ossec/etc/ossec.conf. Откройте его для редактирования:

    nano /var/ossec/etc/ossec.conf

    Настройте ключевые параметры: 

    Частота сканирования. Например, для syscheck (мониторинг целостности файлов) установите интервал в 3600 секунд: 

    <syscheck>
      <frequency>3600</frequency>
    </syscheck>

    Уведомления. Настройте email-уведомления: 

    <global>
      <email_notification>yes</email_notification>
      <smtp_server>smtp.example.com</smtp_server>
      <email_from>wazuh@example.com</email_from>
      <email_to>admin@example.com</email_to>
    </global>

    Перезапустите сервер после изменений: 

    systemctl restart wazuh-manager

    Настройка правил корреляции

    Правила корреляции обрабатывают события, собранные агентами, и генерируют оповещения при обнаружении угроз.

    • Создание пользовательских правил

    Откройте файл /var/ossec/etc/rules/local_rules.xml. 

    nano /var/ossec/etc/rules/local_rules.xml

    Добавьте правило, например, для обнаружения множественных неудачных попыток входа: 

    <rule id="100001" level="10">
      <if_sid>18100</if_sid>
      <description>Multiple failed login attempts detected</description>
      <group>authentication_failures,</group>
      <frequency>5</frequency>
      <timeframe>300</timeframe>
    </rule>

    id=»100001″ — уникальный ID правила (выше 100000 для пользовательских правил).

    level=»10″ — уровень серьезности (0–15, где 10 — высокая). Нужно для фильтрации оповещений по уровню серьезности.

    if_sid=»18100″ — ссылается на базовое правило (например, неудачная попытка входа). Предустановленные правила хранятся в директории /var/ossec/ruleset/rules/ на сервере Wazuh. 

    Это набор XML-файлов, таких как 0015-auth_rules.xml, 0020-syslog_rules.xml и т. д.

    frequency=»5″ — срабатывает после 5 событий.

    timeframe=»300″ — в течение 300 секунд Wazuh ведет подсчет событий, соответствующих базовому правилу. 

    Подробнее: Документация по созданию правил.

    • Создание декодеров

    Декодеры нужны для парсинга специфичных логов. Создайте файл /var/ossec/etc/decoders/local_decoder.xml: 

    nano /var/ossec/etc/decoders/local_decoder.xml

    Пример декодера для логов приложения: 

    <decoder name="myapp">
    
      <program_name>myapp</program_name>
    
      <regex>(\S+) login failed</regex>
    
      <order>user</order>
    
    </decoder>

    Подробнее: Документация по декодерам.

    • Тестирование правил

    Используйте утилиту wazuh-logtest

    /var/ossec/bin/wazuh-logtest

    Введите пример лога (например, myapp: user1 login failed) и проверьте, как правило и декодер обрабатывают событие.

    Перезапустите Wazuh: 

    systemctl restart wazuh-manager

    Настройка автосканирования

    Wazuh предоставляет модули для автоматического сканирования систем на уязвимости, изменения файлов и соответствие стандартам.

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

    Настройте в /var/ossec/etc/ossec.conf: 

    <syscheck>
      <disabled>no</disabled>
      <frequency>3600</frequency>
      <directories check_all="yes">/etc,/usr/bin,/var/www</directories>
      <ignore>/etc/hosts.allow</ignore>
    </syscheck>

    check_all=»yes» — проверяет хеши, права доступа и атрибуты файлов.

    Ignore — исключает файлы из мониторинга.

    Оповещения о изменениях файлов отображаются в разделе Integrity Monitoring.

    Подробности: Документация по FIM.

    • Сканирование уязвимостей

    Включите модуль Vulnerability Detection

    <vulnerability-detector>
      <enabled>yes</enabled>
      <interval>6h</interval>
      <run_on_start>yes</run_on_start>
      <provider name="nvd">
        <enabled>yes</enabled>
        <update_interval>1h</update_interval>
      </provider>
    </vulnerability-detector>

    Wazuh сопоставляет установленные пакеты с базами CVE. Результаты можно найти в разделе Vulnerability Detection.

    Автоматизация ответных действий

    Wazuh поддерживает автоматизацию через активные ответы и интеграции.

    Настройка активных ответов

    Создайте скрипт, например для блокировки IP-адреса: 

    nano /var/ossec/active-response/bin/block-ip.sh

    Содержимое скрипта: 

    #!/bin/bash
    IP=$1
    /sbin/iptables -A INPUT -s $IP -j DROP
    echo "Blocked IP: $IP" >> /var/ossec/logs/active-responses.log

    Он автоматически блокирует IP-адрес, который система считает подозрительным (например, из-за попыток несанкционированного доступа), и фиксирует это действие в логе.

    Сделайте скрипт исполняемым: 

    chmod +x /var/ossec/active-response/bin/block-ip.sh

    Настройте активный ответ в ossec.conf: 

    <command>
      <name>block-ip</name>
      <executable>block-ip.sh</executable>
      <timeout_allowed>no</timeout_allowed>
    </command>
    <active-response>
      <command>block-ip</command>
      <location>all</location>
      <level>10</level>
    </active-response>

    Подробнее: Документация по Active Response.

    Коротко о Wazuh

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

    Чтобы лучше изучить возможности Wazuh, включая настройку, создание правил и интеграции, ознакомьтесь с официальной документацией Wazuh. Дополнительные примеры и рекомендации можно найти в блогах Wazuh и сообществе на GitHub

    Для быстрого старта начните с all-in-one установки и масштабируйте решение по мере роста ваших потребностей в безопасности.

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии