Развёртывание SOC на базе Wazuh SIEM для среднего бизнеса

Зачем среднему бизнесу SOC

Security Operations Center (SOC) — не роскошь для крупных корпораций, а необходимость для любой компании с ИТ-инфраструктурой. Атаки на средний бизнес участились: шифровальщики, утечки данных, компрометация учётных записей.

Wazuh — open-source SIEM-платформа, объединяющая:

  • HIDS — мониторинг целостности файлов и обнаружение rootkit
  • Log management — централизованный сбор и анализ логов
  • Vulnerability detection — сканирование уязвимостей на хостах
  • Compliance — проверка соответствия PCI DSS, GDPR, CIS Benchmarks
  • Incident response — активное реагирование (блокировка IP, kill процесса)
  • MITRE ATT&CK — маппинг обнаруженных угроз на фреймворк MITRE

Wazuh бесплатен и покрывает 80% задач коммерческих SIEM (Splunk, QRadar). Для компании с 50–500 серверами и рабочими станциями это оптимальный выбор по соотношению стоимости и функциональности.

Архитектура и системные требования

Компоненты Wazuh:

  • Wazuh Server — анализ событий, корреляция, хранение правил
  • Wazuh Indexer — OpenSearch для хранения и поиска событий
  • Wazuh Dashboard — веб-интерфейс на базе OpenSearch Dashboards
  • Wazuh Agents — агенты на контролируемых хостах

Системные требования для 200 агентов:

КомпонентCPURAMДиск
Wazuh Server4 vCPU8 ГБ50 ГБ
Indexer4 vCPU16 ГБ500 ГБ SSD
Dashboard2 vCPU4 ГБ20 ГБ

Для среднего бизнеса (до 200 агентов) все компоненты можно установить на один сервер: 8 vCPU, 32 ГБ RAM, 500 ГБ SSD. Для масштабирования — разнесите компоненты на отдельные серверы.

Установка Wazuh all-in-one

Быстрая установка всех компонентов на один сервер (Ubuntu 22.04 / CentOS 9):

curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh
curl -sO https://packages.wazuh.com/4.7/config.yml

# Отредактируйте config.yml — укажите IP сервера
vi config.yml

Минимальный config.yml:

nodes:
  indexer:
    - name: wazuh-indexer
      ip: "10.0.0.50"
  server:
    - name: wazuh-server
      ip: "10.0.0.50"
  dashboard:
    - name: wazuh-dashboard
      ip: "10.0.0.50"

Запустите установку:

sudo bash wazuh-install.sh --generate-config-files
sudo bash wazuh-install.sh --wazuh-indexer wazuh-indexer
sudo bash wazuh-install.sh --start-cluster
sudo bash wazuh-install.sh --wazuh-server wazuh-server
sudo bash wazuh-install.sh --wazuh-dashboard wazuh-dashboard

После установки откройте https://10.0.0.50 в браузере. Логин: admin, пароль будет показан в выводе установщика (сохраните его!).

Развёртывание агентов

Установите агенты на все контролируемые хосты.

Windows:

# PowerShell от администратора
Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.7.0-1.msi `
    -OutFile wazuh-agent.msi

.\wazuh-agent.msi /q WAZUH_MANAGER="10.0.0.50" `
    WAZUH_AGENT_GROUP="windows-servers" `
    WAZUH_AGENT_NAME="DC01"

net start WazuhSvc

Linux:

# Debian/Ubuntu
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --dearmor -o /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" > /etc/apt/sources.list.d/wazuh.list
apt update && apt install wazuh-agent -y

# Настройка
sed -i 's/MANAGER_IP/10.0.0.50/' /var/ossec/etc/ossec.conf
systemctl enable --now wazuh-agent

Проверьте подключение агентов через Dashboard: Agents → Manage Agents. Все агенты должны иметь статус «Active».

Группы агентов

Группы позволяют применять разные конфигурации к разным типам хостов:

# Создание групп на сервере
/var/ossec/bin/agent_groups -a -g windows-servers
/var/ossec/bin/agent_groups -a -g linux-servers
/var/ossec/bin/agent_groups -a -g domain-controllers

# Добавление агента в группу
/var/ossec/bin/agent_groups -a -i 001 -g domain-controllers

Конфигурация группы /var/ossec/etc/shared/domain-controllers/agent.conf:

<agent_config>
  <localfile>
    <log_format>eventchannel</log_format>
    <location>Security</location>
    <query>Event[System[(EventID=4624 or EventID=4625 or EventID=4720 or EventID=4726)]]</query>
  </localfile>
  <syscheck>
    <directories realtime="yes">C:\Windows\System32\GroupPolicy</directories>
    <directories realtime="yes">C:\Windows\SYSVOL</directories>
  </syscheck>
</agent_config>

Настройка правил обнаружения

Wazuh поставляется с тысячами правил, но для эффективного SOC нужны кастомные правила под вашу инфраструктуру.

Файл кастомных правил: /var/ossec/etc/rules/local_rules.xml

<group name="custom,">
  <!-- Обнаружение brute-force на RDP -->
  <rule id="100001" level="10" frequency="5" timeframe="120">
    <if_matched_sid>60122</if_matched_sid>
    <description>Brute-force атака на RDP: $(srcip)</description>
    <mitre>
      <id>T1110</id>
    </mitre>
  </rule>

  <!-- Подозрительное создание нового администратора -->
  <rule id="100002" level="12">
    <if_sid>60137</if_sid>
    <field name="win.eventdata.targetUserName">^(?!.*\$$)</field>
    <field name="win.eventdata.groupName">Administrators|Администраторы</field>
    <description>Пользователь добавлен в группу администраторов: $(win.eventdata.targetUserName)</description>
    <mitre>
      <id>T1136</id>
    </mitre>
  </rule>

  <!-- Массовое удаление файлов (возможный шифровальщик) -->
  <rule id="100003" level="14" frequency="50" timeframe="60">
    <if_matched_sid>554</if_matched_sid>
    <description>Массовое изменение файлов — возможная атака шифровальщика</description>
    <mitre>
      <id>T1486</id>
    </mitre>
  </rule>
</group>

Перезагрузите правила: sudo systemctl restart wazuh-manager

Активное реагирование

Wazuh может автоматически реагировать на угрозы — блокировать IP, отключать учётную запись, убивать процессы.

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

<ossec_config>
  <!-- Блокировка IP при brute-force -->
  <active-response>
    <command>firewall-drop</command>
    <location>local</location>
    <rules_id>100001</rules_id>
    <timeout>3600</timeout>
  </active-response>

  <!-- Блокировка на Linux через iptables -->
  <active-response>
    <command>firewall-drop</command>
    <location>local</location>
    <rules_id>5712</rules_id>
    <timeout>1800</timeout>
  </active-response>
</ossec_config>

Для кастомных действий создайте скрипт реагирования:

#!/bin/bash
# /var/ossec/active-response/bin/disable-user.sh
SOURCE=$1
USER=$2
ACTION=$3

if [ "$ACTION" = "add" ]; then
    # Отключить учётную запись AD через PowerShell Remoting
    ssh admin@dc01 "powershell -c \"Disable-ADAccount -Identity '$USER'\""
    logger -t wazuh-ar "Disabled AD account: $USER (triggered by $SOURCE)"
fi

Интеграция с внешними системами

Wazuh поддерживает интеграции для уведомлений и обогащения данных:

Telegram-уведомления о критических событиях:

Файл /var/ossec/integrations/custom-telegram.py:

#!/usr/bin/env python3
import sys
import json
import requests

BOT_TOKEN = "123456:ABC-DEF"
CHAT_ID = "-1001234567890"

def main():
    alert_file = sys.argv[1]
    with open(alert_file) as f:
        alert = json.load(f)
    
    level = alert.get('rule', {}).get('level', 0)
    desc = alert.get('rule', {}).get('description', 'N/A')
    agent = alert.get('agent', {}).get('name', 'Unknown')
    src_ip = alert.get('data', {}).get('srcip', 'N/A')
    
    text = f"🚨 Wazuh Alert (Level {level})\n"
    text += f"Host: {agent}\n"
    text += f"Description: {desc}\n"
    text += f"Source IP: {src_ip}"
    
    requests.post(
        f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage",
        json={"chat_id": CHAT_ID, "text": text}
    )

if __name__ == "__main__":
    main()

Активация в ossec.conf:

<integration>
  <name>custom-telegram.py</name>
  <level>10</level>
  <alert_format>json</alert_format>
</integration>

Построение SOC-процессов

Технология — лишь часть SOC. Для эффективной работы выстройте процессы:

Приоритизация алертов по уровням:

  • Level 12–15 (Critical) — немедленная реакция: компрометация, шифровальщик
  • Level 10–11 (High) — реакция в течение 1 часа: brute-force, подозрительный доступ
  • Level 7–9 (Medium) — анализ в течение дня: изменения конфигурации, новые сервисы
  • Level 0–6 (Low/Info) — еженедельный обзор, статистика

Создайте Dashboard с ключевыми метриками:

  1. Количество алертов по уровням за 24 часа
  2. Топ-10 атакующих IP-адресов
  3. Хосты с наибольшим количеством событий
  4. Карта MITRE ATT&CK — покрытие обнаруженных техник
  5. Агенты с проблемами (offline, outdated)

Еженедельно проводите review: какие алерты были ложными (false positive), какие правила нужно подстроить, где есть пробелы в покрытии.

Часто задаваемые вопросы

На сервере с 8 vCPU и 32 ГБ RAM Wazuh обрабатывает 500–1000 событий в секунду (EPS). Для 200 агентов среднего бизнеса это более чем достаточно (типичная нагрузка — 50–100 EPS). Для масштабирования используйте кластер из нескольких Wazuh-серверов и отдельный кластер OpenSearch.

Да, Wazuh принимает syslog-сообщения от роутеров, файрволов и коммутаторов. Настройте на оборудовании отправку syslog на IP Wazuh-сервера (порт 514/UDP). В конфигурации Wazuh добавьте <remote><connection>syslog</connection></remote>. Есть готовые декодеры для Cisco, Fortinet, MikroTik, pfSense.

Зависит от регуляторных требований и дискового пространства. Рекомендуемый минимум — 90 дней в горячем хранилище (OpenSearch) для расследований. Для compliance (PCI DSS, 152-ФЗ) — от 6 месяцев до 3 лет. Для долгосрочного хранения используйте ротацию индексов с архивацией на S3 или холодное хранилище.

ELK (Elasticsearch + Logstash + Kibana) — платформа для логов общего назначения. Wazuh добавляет поверх OpenSearch: агенты с мониторингом целостности файлов, встроенные правила обнаружения угроз, активное реагирование, vulnerability scanner, compliance-модули. ELK придётся дорабатывать самостоятельно, Wazuh — готовый SIEM из коробки.

Для среднего бизнеса выделенный SOC-аналитик не обязателен. Wazuh с правильно настроенными правилами и уведомлениями позволяет системному администратору обрабатывать критические алерты в режиме дежурства. Ежедневный review Dashboard занимает 15–30 минут. При росте инфраструктуры свыше 500 хостов стоит рассмотреть выделенную роль.

Нужна помощь с настройкой?

Специалисты АйТи Фреш помогут с внедрением и настройкой — 15+ лет опыта, обслуживание от 15 000 ₽/мес

📞 Связаться с нами
#Wazuh SIEM#SOC#мониторинг безопасности#SIEM развёртывание#Wazuh настройка#обнаружение угроз#Security Operations Center#корреляция событий
Комментарии 0

Оставить комментарий

загрузка...