bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Розгортання Wazuh SIEM

calendar_month Sep 07, 2026 schedule 20 хв. читання visibility 18 переглядів
Развёртывание Wazuh SIEM на VPS: комплексный мониторинг безопасности и обнаружение угроз
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Розгортання Wazuh SIEM на VPS: комплексний моніторинг безпеки та виявлення загроз

TL;DR

У цьому детальному посібнику ми крок за кроком налаштуємо Wazuh SIEM (Security Information and Event Management) на вашому власному VPS. Ви отримаєте потужну платформу для збору, аналізу та кореляції логів безпеки, виявлення вторгнень, моніторингу цілісності файлів та оцінки вразливостей. Це дозволить вам значно підвищити рівень безпеки ваших серверів та застосунків, забезпечуючи проактивний захист від кіберзагроз.

  • Встановлення та налаштування всіх компонентів Wazuh: Manager, Indexer (OpenSearch) та Dashboard (OpenSearch Dashboards).
  • Базова підготовка сервера, включно з налаштуванням SSH, фаєрволу та оновлення системи.
  • Приклади конфігурації для забезпечення безпечного доступу через HTTPS за допомогою Certbot та Nginx.
  • Рекомендації щодо вибору відповідного VPS-конфігу та масштабування.
  • Стратегії резервного копіювання та обслуговування для довгострокової стабільності системи.
  • Відповіді на поширені запитання та вирішення типових проблем.

Що ми налаштовуємо і навіщо

Схема: Що ми налаштовуємо і навіщо
Схема: Що ми налаштовуємо і навіщо

Ми будемо розгортати Wazuh — це безкоштовна та відкрита платформа для моніторингу безпеки, яка об'єднує в собі функціональність SIEM, XDR (Extended Detection and Response) та SOAR (Security Orchestration, Automation and Response). Wazuh дозволяє збирати, індексувати та аналізувати дані безпеки з різних джерел, таких як логи операційних систем, застосунків, мережевих пристроїв, а також дані про події безпеки в реальному часі. В основі Wazuh лежить потужний рушій для виявлення загроз, моніторингу цілісності файлів, аналізу вразливостей, реагування на інциденти та відповідності стандартам.

У підсумку ви отримаєте централізовану систему, яка стежитиме за безпекою вашого VPS або навіть цілої інфраструктури. Wazuh допоможе вам:

  • Виявляти вторгнення: виявляти підозрілу активність, спроби брутфорсу, аномалії в поведінці користувачів та процесів.
  • Моніторити цілісність файлів: відстежувати несанкціоновані зміни в критично важливих системних файлах та конфігураціях.
  • Оцінювати вразливості: сканувати встановлене ПЗ на наявність відомих вразливостей (CVE).
  • Збирати та аналізувати логи: централізувати логи з усіх ваших систем для зручного пошуку, аналізу та аудиту.
  • Реагувати на інциденти: автоматично виконувати дії у відповідь на виявлені загрози, наприклад, блокувати IP-адреси.
  • Відповідати стандартам: спростити процес аудиту та відповідності таким стандартам, як PCI DSS, GDPR, HIPAA.

Існують різні підходи до розгортання SIEM-систем. Ви можете обрати хмарні керовані рішення (наприклад, Splunk Cloud, Azure Sentinel) або самостійне розгортання (self-hosted). Хмарні рішення пропонують зручність та масштабованість без необхідності керування інфраструктурою, але часто пов'язані з високими витратами та меншим контролем над даними. Самостійне розгортання Wazuh на VPS, навпаки, надає повний контроль над вашими даними та інфраструктурою, значно знижує операційні витрати та дозволяє глибоко кастомізувати систему під ваші унікальні вимоги. Це ідеальний варіант для власників VPS/dedicated серверів, які хочуть побудувати надійну систему безпеки з мінімальними вкладеннями та максимальною гнучкістю.

Який VPS-конфіг потрібен для цього завдання

Схема: Який VPS-конфіг потрібен для цього завдання
Схема: Який VPS-конфіг потрібен для цього завдання

Вибір відповідного VPS-конфігу для Wazuh є критично важливим, оскільки система може бути досить вимогливою до ресурсів, особливо Indexer (OpenSearch), який зберігає та індексує всі логи. Вимоги сильно залежать від обсягу генерованих логів та кількості контрольованих агентів.

Мінімальні вимоги для одного VPS (Wazuh Manager, Indexer, Dashboard на одній машині) для невеликих середовищ (до 20-30 агентів)

  • CPU: 4 vCPU (віртуальних ядер). Це забезпечить достатню продуктивність для індексації та обробки подій.
  • RAM: 8-12 GB RAM. OpenSearch є основним споживачем пам'яті; йому знадобиться не менше 4-6 GB для стабільної роботи, решта — для Wazuh Manager та операційної системи.
  • Диск: 100-200 GB NVMe SSD. Швидкість диска критична для OpenSearch. Обсяг залежить від терміну зберігання логів. NVMe SSD значно перевершує звичайні SSD за продуктивністю.
  • Мережа: 1 Гбіт/с. Для передачі логів та доступу до дашборду.

Конкретний VPS-план для завдання (для 30-50 агентів)

Для більш активного використання, моніторингу 30-50 агентів та зберігання логів за кілька тижнів, рекомендуємо наступний базовий конфіг:

  • CPU: 6-8 vCPU
  • RAM: 16 GB RAM
  • Диск: 200-300 GB NVMe SSD
  • Мережа: 1 Гбіт/с

Подібний VPS із зазначеними характеристиками забезпечить комфортну роботу Wazuh для більшості малих та середніх проєктів. Важливо пам'ятати, що ці цифри є відправною точкою, і реальні потреби можуть змінитися залежно від вашого навантаження.

Коли потрібен dedicated, а не VPS

Якщо ви плануєте моніторити понад 100-200 агентів, зберігати логи за тривалий період (кілька місяців) або обробляти дуже великий обсяг даних (наприклад, логи від високонавантажених веб-серверів), то вам слід розглянути виділений сервер (dedicated server). Dedicated сервери пропонують гарантовані ресурси, вищу продуктивність дискової підсистеми і часто краще співвідношення ціна/продуктивність для великих навантажень. Наприклад, для великого розгортання може знадобитися сервер із 16+ фізичними ядрами, 64+ GB RAM та кількома TB NVMe SSD у RAID-масиві. У таких випадках, варто розглянути відповідний dedicated сервер для забезпечення необхідної продуктивності та надійності.

Локація: на що впливає

Вибір локації VPS впливає на кілька факторів:

  • Затримка (latency): Чим ближче сервер до ваших агентів та користувачів дашборду, тим менша затримка та швидша відповідь.
  • Законодавство: Обирайте локацію, що відповідає вашим вимогам до зберігання даних та законодавству про приватність (наприклад, EU для GDPR).
  • Вартість: Ціни на VPS можуть відрізнятися залежно від регіону.

Зазвичай рекомендується обирати локацію, яка географічно близька до більшості ваших систем, що моніторяться.

Підготовка сервера

Схема: Підготовка сервера
Схема: Підготовка сервера

Перед встановленням Wazuh необхідно виконати базову підготовку вашого VPS на базі Ubuntu 24.04 LTS. Це включає створення безпечного користувача, налаштування SSH, фаєрволу та оновлення системи.

1. Підключення через SSH

Спершу підключіться до вашого нового VPS як користувач root (або той, що був наданий провайдером):


ssh root@ВАШ_IP_АДРЕС

2. Створення нового користувача з правами sudo

Працювати під root небезпечно. Створимо нового користувача та додамо його до групи sudo.


adduser wazuhadmin
usermod -aG sudo wazuhadmin

Замініть wazuhadmin на ім'я користувача на ваш вибір. Вам буде запропоновано встановити пароль та ввести додаткову інформацію (можна пропустити).

3. Налаштування SSH-ключів для нового користувача (рекомендується)

Для підвищення безпеки рекомендується використовувати SSH-ключі замість паролів. Скопіюйте ваш публічний SSH-ключ на сервер.


su - wazuhadmin
mkdir -p ~/.ssh
chmod 700 ~/.ssh
exit

Тепер скопіюйте ваш публічний ключ (який знаходиться на вашій локальній машині, зазвичай у ~/.ssh/id_rsa.pub) на сервер:


cat ~/.ssh/id_rsa.pub | ssh wazuhadmin@ВАШ_IP_АДРЕС "cat >> ~/.ssh/authorized_keys"

Переконайтеся, що права на authorized_keys встановлені правильно:


ssh wazuhadmin@ВАШ_IP_АДРЕС "chmod 600 ~/.ssh/authorized_keys"

4. Відключення входу за паролем для SSH (опціонально, але рекомендується)

Відредагуйте файл конфігурації SSH-сервера, щоб дозволити вхід лише за ключами.


sudo nano /etc/ssh/sshd_config

Знайдіть та змініть наступні рядки:


#PasswordAuthentication yes
PasswordAuthentication no
#PermitRootLogin prohibit-password
PermitRootLogin no

Збережіть зміни (Ctrl+O, Enter) та вийдіть (Ctrl+X). Перезапустіть SSH-сервіс:


sudo systemctl restart sshd

Перш ніж відключатися від root, переконайтеся, що ви можете увійти як wazuhadmin з використанням SSH-ключа в новому терміналі.


ssh wazuhadmin@ВАШ_IP_АДРЕС

Якщо вхід успішний, можете закрити сесію root.

5. Налаштування фаєрволу (UFW)

Встановимо та налаштуємо UFW (Uncomplicated Firewall), щоб дозволити лише необхідні порти.


sudo apt update && sudo apt install ufw -y

Дозволимо SSH (порт 22), Wazuh Manager (1514/TCP, 55000/TCP), OpenSearch (9200/TCP) та OpenSearch Dashboards (443/TCP для HTTPS).


sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 1514/tcp comment 'Wazuh Agent communication'
sudo ufw allow 55000/tcp comment 'Wazuh API'
sudo ufw allow 9200/tcp comment 'OpenSearch REST API'
sudo ufw allow 443/tcp comment 'HTTPS for OpenSearch Dashboards'
sudo ufw enable
sudo ufw status verbose

Підтвердьте увімкнення фаєрволу, ввівши y.

6. Встановлення Fail2Ban (рекомендується)

Fail2Ban допоможе захиститися від атак перебору паролів на SSH та інші сервіси.


sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

У файлі jail.local знайдіть секцію [sshd] та переконайтеся, що вона увімкнена (enabled = true). Можете також налаштувати bantime (час блокування) та maxretry (кількість спроб).


[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Збережіть та вийдіть. Перезапустіть Fail2Ban.


sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

7. Оновлення системи та встановлення базових утиліт

Переконайтеся, що всі пакети оновлені, та встановіть необхідні утиліти.


sudo apt update && sudo apt upgrade -y
sudo apt install curl wget apt-transport-https gnupg2 -y

Тепер ваш сервер готовий до встановлення Wazuh.

Встановлення ПЗ — покроково

Схема: Встановлення ПЗ — покроково
Схема: Встановлення ПЗ — покроково

Ми будемо встановлювати Wazuh 5.0 (актуальна версія на 2026 рік) в уніфікованій архітектурі (Manager, Indexer, Dashboard на одному сервері) з використанням офіційних репозиторіїв.

1. Встановлення Java Development Kit (JDK)

OpenSearch (Indexer) вимагає Java. Встановимо OpenJDK 17.


sudo apt install openjdk-17-jdk -y # Встановлення OpenJDK 17
java -version # Перевірка версії Java

2. Додавання репозиторію Wazuh

Додамо офіційний репозиторій Wazuh та його GPG-ключ.


curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/wazuh.gpg > /dev/null # Додавання GPG-ключа Wazuh
echo "deb https://packages.wazuh.com/5.x/apt/ stable main" | sudo tee -a /etc/apt/sources.list.d/wazuh.list # Додавання репозиторію Wazuh 5.x
sudo apt update # Оновлення списку пакетів

3. Встановлення Wazuh Indexer (OpenSearch)

Встановимо Wazuh Indexer, який є форком OpenSearch. Wazuh 5.0 використовуватиме OpenSearch 2.x.


sudo apt install wazuh-indexer -y # Встановлення Wazuh Indexer

Після встановлення необхідно згенерувати сертифікати для безпечного зв'язку між компонентами. Wazuh надає утиліту для цього.


sudo /usr/share/wazuh-indexer/bin/indexer-cert-tool.sh # Запуск утиліти для генерації сертифікатів

Ця утиліта створить необхідні файли сертифікатів (admin-key.pem, admin.pem, node-key.pem, node.pem, ca.pem) у поточній директорії. Перемістимо їх у потрібні місця.


sudo mkdir /etc/wazuh-indexer/certs
sudo mv ~/admin-key.pem ~/admin.pem ~/node-key.pem ~/node.pem ~/ca.pem /etc/wazuh-indexer/certs/ # Переміщення сертифікатів
sudo chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certs # Встановлення правильних прав
sudo chmod -R 500 /etc/wazuh-indexer/certs # Обмеження доступу до сертифікатів
sudo chmod 400 /etc/wazuh-indexer/certs/key.pem # Обмеження доступу до приватних ключів

Тепер відредагуйте конфігурацію Indexer, щоб використовувати ці сертифікати. Відкрийте файл /etc/wazuh-indexer/opensearch.yml.


sudo nano /etc/wazuh-indexer/opensearch.yml

Додайте або змініть наступні рядки:


# ---------------------------------- Network -----------------------------------
network.host: 0.0.0.0 # Дозволити доступ з усіх інтерфейсів
http.port: 9200 # Стандартний порт HTTP
# --------------------------------- Security ---------------------------------
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /etc/wazuh-indexer/certs/node.pem
plugins.security.ssl.http.pemkey_filepath: /etc/wazuh-indexer/certs/node-key.pem
plugins.security.ssl.http.rootcas_filepath: /etc/wazuh-indexer/certs/ca.pem
plugins.security.ssl.transport.enabled: true
plugins.security.ssl.transport.pemcert_filepath: /etc/wazuh-indexer/certs/node.pem
plugins.security.ssl.transport.pemkey_filepath: /etc/wazuh-indexer/certs/node-key.pem
plugins.security.ssl.transport.rootcas_filepath: /etc/wazuh-indexer/certs/ca.pem
plugins.security.ssl.transport.enforce_hostname_verification: false
plugins.security.allow_unsafe_democertificates: true # Тимчасово для спрощення, у продакшені краще використовувати власні CA
plugins.security.nodes_dn:
  - "CN=.wazuh-indexer.local" # Замініть на ваш FQDN, якщо використовуєте

Збережіть та вийдіть. Тепер можна запустити та перевірити Indexer.


sudo systemctl daemon-reload # Перезавантаження юнітів systemd
sudo systemctl enable wazuh-indexer # Увімкнення автозапуску Indexer
sudo systemctl start wazuh-indexer # Запуск Indexer
sudo systemctl status wazuh-indexer # Перевірка статусу Indexer

Зачекайте кілька хвилин, доки Indexer повністю запуститься. Перевірити його працездатність можна, звернувшись до API:


curl -XGET https://localhost:9200 -u admin:admin -k # Перевірка доступності OpenSearch API (логін/пароль за замовчуванням admin:admin)

Ви повинні отримати JSON-відповідь з інформацією про кластер.

4. Встановлення Wazuh Manager

Wazuh Manager — це ядро системи, яке обробляє, аналізує та корелює дані від агентів.


sudo apt install wazuh-manager -y # Встановлення Wazuh Manager

Після встановлення необхідно налаштувати Manager для зв'язку з Indexer. Відредагуйте файл /etc/wazuh/wazuh_indexer.yaml.


sudo nano /etc/wazuh/wazuh_indexer.yaml

Вкажіть IP-адресу або FQDN вашого Indexer (у цьому випадку localhost).


# Configuration for connection to Wazuh Indexer
# This file is managed by the wazuh-manager package.
# Do not edit this file directly, use the /etc/wazuh/wazuh_indexer.yaml.template file instead.

---
nodes:
  - address: "localhost" # Змініть на IP-адресу або FQDN вашого Indexer
port: 9200
# SSL configuration
# If using custom certificates for the Wazuh Indexer, specify the path to the CA certificate.
# Otherwise, the default certificates generated by the Wazuh Indexer will be used.
ssl_certificate_authorities:
  - "/etc/wazuh-indexer/certs/ca.pem" # Шлях до CA-сертифіката Indexer

Збережіть та вийдіть. Тепер запустіть Manager.


sudo systemctl enable wazuh-manager # Увімкнення автозапуску Manager
sudo systemctl start wazuh-manager # Запуск Manager
sudo systemctl status wazuh-manager # Перевірка статусу Manager

5. Встановлення Wazuh Dashboard (OpenSearch Dashboards)

Wazuh Dashboard надає веб-інтерфейс для візуалізації та керування даними безпеки.


sudo apt install wazuh-dashboard -y # Встановлення Wazuh Dashboard

Як і для Indexer, Dashboard також потребує сертифікатів для безпечної роботи. Використовуємо ті ж сертифікати, що й для Indexer.


sudo mkdir /etc/wazuh-dashboard/certs
sudo cp /etc/wazuh-indexer/certs/ca.pem /etc/wazuh-indexer/certs/node.pem /etc/wazuh-indexer/certs/node-key.pem /etc/wazuh-dashboard/certs/ # Копіювання сертифікатів
sudo chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/certs # Встановлення правильних прав
sudo chmod -R 500 /etc/wazuh-dashboard/certs # Обмеження доступу до сертифікатів
sudo chmod 400 /etc/wazuh-dashboard/certs/key.pem # Обмеження доступу до приватних ключів

Відредагуйте файл конфігурації Dashboard /etc/wazuh-dashboard/opensearch_dashboards.yml.


sudo nano /etc/wazuh-dashboard/opensearch_dashboards.yml

Додайте або змініть наступні рядки:


server.host: "0.0.0.0" # Дозволити доступ з усіх інтерфейсів
server.port: 443 # Використання стандартного HTTPS-порту 443
opensearch.hosts: ["https://localhost:9200"] # Вказуємо адресу Indexer
opensearch.ssl.verificationMode: none # Тимчасово вимикаємо перевірку SSL, оскільки використовуємо самопідписані сертифікати
opensearch.ssl.certificate: /etc/wazuh-dashboard/certs/node.pem
opensearch.ssl.key: /etc/wazuh-dashboard/certs/node-key.pem
opensearch.ssl.certificateAuthorities: ["/etc/wazuh-dashboard/certs/ca.pem"]
# Wazuh API configuration
wazuh.manager.host: "https://localhost" # Адреса Wazuh Manager
wazuh.manager.port: 55000 # Порт Wazuh API
wazuh.manager.ssl.verify: false # Вимикаємо перевірку SSL для Wazuh API

Збережіть та вийдіть. Тепер запустіть Dashboard.


sudo systemctl enable wazuh-dashboard # Увімкнення автозапуску Dashboard
sudo systemctl start wazuh-dashboard # Запуск Dashboard
sudo systemctl status wazuh-dashboard # Перевірка статусу Dashboard

Зачекайте кілька хвилин для повного запуску Dashboard. Після цього ви зможете отримати доступ до веб-інтерфейсу за адресою https://ВАША_IP_АДРЕСА. Логін та пароль за замовчуванням для OpenSearch Dashboards - admin:admin.

Конфігурація

Схема: Конфігурація
Схема: Конфігурація

Після базової інсталяції Wazuh Manager, Indexer та Dashboard, необхідно виконати додаткову конфігурацію для підвищення безпеки та зручності використання. Основну увагу приділимо налаштуванню TLS/HTTPS для Dashboard через Certbot та Nginx, а також базовій перевірці працездатності.

1. Налаштування Nginx як зворотного проксі для Wazuh Dashboard

Хоча Wazuh Dashboard може працювати безпосередньо на порту 443, використання Nginx як зворотного проксі дає більше гнучкості, дозволяє легко інтегрувати Certbot для автоматичного випуску SSL-сертифікатів Let's Encrypt та централізовано керувати трафіком.

1.1. Встановлення Nginx

sudo apt install nginx -y # Встановлення Nginx
sudo systemctl enable nginx # Увімкнення автозапуску Nginx
sudo systemctl start nginx # Запуск Nginx
1.2. Створення конфігурації Nginx для Wazuh Dashboard

Відключимо Wazuh Dashboard від прямого прослуховування порту 443 та налаштуємо Nginx. Спочатку змінимо порт Dashboard, щоб він не конфліктував з Nginx. Відкрийте /etc/wazuh-dashboard/opensearch_dashboards.yml.


sudo nano /etc/wazuh-dashboard/opensearch_dashboards.yml

Змініть server.port на, наприклад, 5601:


server.port: 5601 # Змінюємо порт для Dashboard

Збережіть та вийдіть. Перезапустіть Dashboard:


sudo systemctl restart wazuh-dashboard

Тепер створіть новий файл конфігурації Nginx для вашого домену (наприклад, wazuh.yourdomain.com).


sudo nano /etc/nginx/sites-available/wazuh.yourdomain.com

Вставте наступну конфігурацію, замінивши wazuh.yourdomain.com на ваш фактичний домен:


server {
    listen 80;
    listen [::]:80;
    server_name wazuh.yourdomain.com;
    return 301 https://$host$request_uri; # Перенаправлення HTTP на HTTPS
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name wazuh.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/wazuh.yourdomain.com/fullchain.pem; # Буде згенеровано Certbot
    ssl_certificate_key /etc/letsencrypt/live/wazuh.yourdomain.com/privkey.pem; # Буде згенеровано Certbot
    ssl_session_cache shared:SSL:10m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://localhost:5601; # Проксіюємо на порт Dashboard
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Connection "Keep-Alive";
        proxy_set_header Proxy-Connection "Keep-Alive";
        proxy_read_timeout 600s;
        proxy_send_timeout 600s;
    }
}

Збережіть та вийдіть. Активуйте конфігурацію та перевірте синтаксис Nginx:


sudo ln -s /etc/nginx/sites-available/wazuh.yourdomain.com /etc/nginx/sites-enabled/ # Створення символічного посилання
sudo nginx -t # Перевірка синтаксису Nginx
sudo systemctl restart nginx # Перезапуск Nginx

2. Встановлення Certbot та отримання SSL-сертифіката Let's Encrypt

Тепер, коли Nginx налаштовано, отримаємо безкоштовний SSL-сертифікат від Let's Encrypt за допомогою Certbot.

2.1. Встановлення Certbot

sudo apt install certbot python3-certbot-nginx -y # Встановлення Certbot та плагіна для Nginx
2.2. Отримання сертифіката

Переконайтеся, що ваш домен (wazuh.yourdomain.com) вказує на IP-адресу вашого VPS у DNS-записах. Потім виконайте:


sudo certbot --nginx -d wazuh.yourdomain.com # Запуск Certbot для отримання сертифіката

Certbot поставить кілька запитань (email, згода з умовами, перенаправлення HTTP на HTTPS). Виберіть автоматичне перенаправлення. Certbot автоматично змінить конфігурацію Nginx, додавши шляхи до сертифікатів. Після успішного завершення ви побачите повідомлення про те, що сертифікат успішно встановлено. Certbot також налаштує автоматичне оновлення сертифіката.

3. Перевірка працездатності

Тепер, коли все налаштовано, перевіримо доступність та працездатність Wazuh.

  • Доступ до Dashboard: Відкрийте веб-браузер і перейдіть за адресою https://wazuh.yourdomain.com. Ви повинні побачити сторінку входу в Wazuh Dashboard з дійсним SSL-сертифікатом. Використовуйте логін admin та пароль admin (за замовчуванням) для входу.
  • Перевірка стану служб:
  • 
    sudo systemctl status wazuh-manager wazuh-indexer wazuh-dashboard nginx # Перевірка статусу всіх служб
    
  • Перевірка API Wazuh Manager:
  • 
    curl -u wazuh:wazuh -k "https://localhost:55000/api/overview/info" # Перевірка API Manager
    

    Ви повинні отримати JSON-відповідь з інформацією про Manager. Пароль за замовчуванням для API Manager - wazuh.

4. Зміна паролів за замовчуванням

ДУЖЕ ВАЖЛИВО: Змініть паролі за замовчуванням для Indexer/Dashboard (admin:admin) та Wazuh API (wazuh:wazuh) негайно після встановлення. Інструкції щодо зміни паролів можна знайти в офіційній документації Wazuh, оскільки процес може відрізнятися для різних версій. Зазвичай це робиться через CLI-утиліти OpenSearch або Wazuh.

Для Indexer/Dashboard: використовуйте утиліту securityadmin.sh (для OpenSearch 2.x):


sudo /usr/share/wazuh-indexer/plugins/opensearch-security/tools/wazuh-passwords-tool.sh # Інтерактивний інструмент для зміни паролів

Для Wazuh API: змініть пароль у файлі /var/ossec/etc/ossec.conf у секції або використовуйте утиліту agent_auth для генерації нового ключа API.

Резервне копіювання та обслуговування

Схема: Резервне копіювання та обслуговування
Схема: Резервне копіювання та обслуговування

Регулярне резервне копіювання та своєчасне обслуговування є ключовими аспектами для забезпечення стабільності та безпеки вашої SIEM-системи Wazuh.

1. Що резервувати

Для Wazuh SIEM критично важливі наступні компоненти:

  • Дані Indexer (OpenSearch): Це найбільша та найважливіша частина. Тут зберігаються всі зібрані логи та події безпеки. Резервувати потрібно індекси.
  • Конфігурація Wazuh Manager: Файли в /var/ossec/etc/, особливо ossec.conf, agent_keys (хоча їх можна відновити при перереєстрації агентів), decoders, rules та shared.
  • Конфігурація Wazuh Dashboard: Файл /etc/wazuh-dashboard/opensearch_dashboards.yml та будь-які кастомні візуалізації/дашборди, якщо вони не зберігаються в Indexer.
  • Сертифікати: Усі згенеровані та використовувані SSL/TLS сертифікати (наприклад, у /etc/wazuh-indexer/certs/, /etc/wazuh-dashboard/certs/, /etc/letsencrypt/).

2. Простий скрипт авторезервування для конфігурацій

Для конфігураційних файлів можна використовувати простий скрипт з rsync або tar, що запускається за cron. Для даних Indexer краще використовувати вбудовані механізми OpenSearch.

Приклад скрипта для резервування конфігурацій (/opt/wazuh-backup.sh):


#!/bin/bash

# Каталог для тимчасових резервних копій
BACKUP_DIR="/var/backups/wazuh_configs"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/wazuh_configs_${DATE}.tar.gz"

# Створення каталогу, якщо він не існує
mkdir -p "$BACKUP_DIR"

# Архівація критично важливих файлів
tar -czf "$BACKUP_FILE" \
    /var/ossec/etc/ossec.conf \
    /var/ossec/etc/agent_keys \
    /var/ossec/etc/decoders \
    /var/ossec/etc/rules \
    /var/ossec/etc/shared \
    /etc/wazuh-indexer/opensearch.yml \
    /etc/wazuh-indexer/certs/ \
    /etc/wazuh-dashboard/opensearch_dashboards.yml \
    /etc/wazuh-dashboard/certs/ \
    /etc/nginx/sites-available/wazuh.yourdomain.com \
    /etc/letsencrypt/live/wazuh.yourdomain.com/ \
    /etc/letsencrypt/archive/wazuh.yourdomain.com/

# Видалення старих резервних копій (наприклад, старших за 7 днів)
find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +7 -delete

echo "Резервне копіювання конфігурацій Wazuh завершено: $BACKUP_FILE"

Зробіть скрипт виконуваним:


sudo chmod +x /opt/wazuh-backup.sh

Додайте його до crontab для щоденного виконання (наприклад, о 3 годині ночі):


sudo crontab -e

Додайте рядок:


0 3 * * * /opt/wazuh-backup.sh > /dev/null 2>&1

3. Куди зберігати резервні копії

Локальне зберігання резервних копій на тому ж сервері піддається ризику втрати даних у разі збою сервера. Рекомендується використовувати віддалене сховище:

  • Хмарне сховище (S3-сумісне): AWS S3, DigitalOcean Spaces, Backblaze B2. Для цього можна використовувати утиліти на кшталт s3cmd або rclone.
  • Окремий VPS: Налаштуйте другий VPS як сховище резервних копій та використовуйте rsync по SSH для синхронізації.
  • Мережеве сховище (NFS/SMB): Якщо у вас є локальна мережа.

4. Резервне копіювання даних Indexer (OpenSearch Snapshots)

OpenSearch має вбудовану функціональність snapshots для створення інкрементальних резервних копій індексів. Для цього необхідно зареєструвати репозиторій (наприклад, S3 або локальний шлях) і потім створювати знімки.

Приклад реєстрації локального репозиторію (для тестування):


sudo mkdir /var/lib/wazuh-indexer/snapshots # Створення каталогу для знімків
sudo chown wazuh-indexer:wazuh-indexer /var/lib/wazuh-indexer/snapshots # Встановлення прав

Потім через API Indexer:


curl -XPUT "https://localhost:9200/_snapshot/my_backup_repository" -u admin:admin -k -H 'Content-Type: application/json' -d '{
  "type": "fs",
  "settings": {
    "location": "/var/lib/wazuh-indexer/snapshots"
  }
}'

І створення знімка:


curl -XPUT "https://localhost:9200/_snapshot/my_backup_repository/snapshot_1?wait_for_completion=true" -u admin:admin -k

У продакшені рекомендується використовувати S3-сумісні репозиторії та автоматизувати створення знімків через Index State Management або cron.

5. Оновлення: rolling vs maintenance window

Оновлення Wazuh та його компонентів вимагає уважного підходу.

  • Wazuh Manager/Indexer/Dashboard: Для малих розгортань на одному VPS використовуйте підхід "maintenance window" (вікно обслуговування). Заплануйте час, коли простій системи буде найменш критичним. Зупиніть усі служби, оновіть пакети, а потім запустіть їх. Завжди читайте офіційні release notes перед оновленням, оскільки можуть бути зміни в конфігурації або процедурі.
  • 
    sudo systemctl stop wazuh-dashboard wazuh-manager wazuh-indexer
    sudo apt update && sudo apt upgrade -y # Оновлення всіх пакетів
    sudo systemctl start wazuh-indexer wazuh-manager wazuh-dashboard
    
  • Wazuh Agents: Агенти можна оновлювати "rolling" (поступово), щоб не викликати масового простою. Wazuh надає функціональність віддаленого оновлення агентів через API або Kibana.
  • Система: Регулярно оновлюйте операційну систему (sudo apt update && sudo apt upgrade -y) для отримання патчів безпеки.

Завжди робіть резервну копію перед великими оновленнями!

Вирішення проблем + FAQ

У цьому розділі зібрано типові проблеми та відповіді на поширені запитання, які можуть виникнути під час розгортання та експлуатації Wazuh SIEM.

Не вдається підключитися до Wazuh Dashboard через браузер.

Що перевірити:

  1. Переконайтеся, що Nginx і Wazuh Dashboard запущені: sudo systemctl status nginx wazuh-dashboard.
  2. Перевірте, що порт 443 відкрито у фаєрволі: sudo ufw status.
  3. Перевірте логи Nginx (sudo tail -f /var/log/nginx/error.log) та Wazuh Dashboard (sudo tail -f /var/log/wazuh-dashboard/wazuh-dashboard.log) на наявність помилок.
  4. Переконайтеся, що доменне ім'я правильно вказує на IP-адресу вашого VPS.

Як виправити: Перезапустіть служби. Якщо проблема в Nginx, перевірте конфігурацію (sudo nginx -t). Якщо в Dashboard, переконайтеся, що він налаштований на правильний порт (наприклад, 5601) і Indexer доступний.

Wazuh Indexer (OpenSearch) не запускається або працює нестабільно.

Що перевірити:

  1. Перевірте логи Indexer: sudo journalctl -u wazuh-indexer -f або sudo tail -f /var/log/wazuh-indexer/wazuh-indexer.log.
  2. Переконайтеся, що достатньо оперативної пам'яті. OpenSearch дуже вимогливий до RAM.
  3. Перевірте вільне місце на диску: df -h.
  4. Перевірте конфігурацію /etc/wazuh-indexer/opensearch.yml на наявність помилок, особливо шляхи до сертифікатів.

Як виправити: Збільште обсяг RAM для VPS, якщо це можливо. Звільніть місце на диску. Виправте помилки в конфігурації та перезапустіть службу.

Агенти Wazuh не підключаються до Manager.

Що перевірити:

  1. Переконайтеся, що Wazuh Manager запущено: sudo systemctl status wazuh-manager.
  2. Перевірте, що порт 1514/TCP відкрито у фаєрволі вашого VPS: sudo ufw status.
  3. Перевірте логи Manager: sudo journalctl -u wazuh-manager -f.
  4. Переконайтеся, що агенти налаштовані на правильну IP-адресу/FQDN Manager і використовують правильний ключ.

Як виправити: Перевірте мережеву доступність між агентом і Manager (telnet ВАШ_IP_АДРЕС 1514). Переконайтеся, що ключі агентів коректно імпортовані та використовуються. Перезапустіть агент на клієнтській машині.

Яка мінімальна конфігурація VPS підійде?

Для тестового розгортання або дуже невеликого середовища (до 10 агентів) можна почати з VPS з 2-4 vCPU, 8 GB RAM і 100 GB NVMe SSD. Однак для стабільної роботи та зберігання даних протягом розумного періоду (кілька тижнів) рекомендується не менше 4 vCPU, 12-16 GB RAM і 200 GB NVMe SSD. Менші конфігурації можуть призвести до уповільнення індексації та проблем з продуктивністю при зростанні обсягу логів.

Що обрати — VPS чи dedicated для цього завдання?

Вибір між VPS і dedicated сервером залежить від масштабу вашої інфраструктури та обсягу даних. Для невеликих і середніх розгортань (до 50-100 агентів) з помірним обсягом логів, VPS з хорошими характеристиками (як описано вище) буде достатнім та економічно вигідним. Якщо ж ви плануєте моніторити сотні агентів, обробляти терабайти логів, мати тривалий термін зберігання даних або вимагаєте максимальної продуктивності та передбачуваності, то dedicated сервер з високопродуктивним CPU, великим обсягом RAM і швидким дисковим масивом буде кращим. Dedicated сервери забезпечують ексклюзивний доступ до всіх фізичних ресурсів, що є критичним для високонавантажених SIEM-систем.

Як оновити Wazuh до нової версії?

Оновлення Wazuh зазвичай включає зупинку всіх компонентів (Indexer, Manager, Dashboard), оновлення пакетів через менеджер пакетів (apt upgrade), а потім їх послідовний запуск. Завжди перевіряйте офіційну документацію Wazuh для конкретної версії, до якої ви оновлюєтеся, оскільки можуть бути спеціальні кроки або зміни в конфігурації. Перед оновленням обов'язково зробіть повний бекап системи.

Як змінити пароль для користувача admin Dashboard?

Пароль для користувача admin у Wazuh Dashboard (OpenSearch Dashboards) керується OpenSearch. Для його зміни вам потрібно використовувати утиліту wazuh-passwords-tool.sh, яка знаходиться в директорії плагінів безпеки Indexer. Запустіть її з правами sudo, і вона запропонує інтерактивно змінити паролі для різних користувачів, включаючи admin. Після зміни пароля, можливо, знадобиться перезапустити Indexer і Dashboard.

Висновки та наступні кроки

Схема: Висновки та наступні кроки
Схема: Висновки та наступні кроки

Ми успішно розгорнули комплексну систему Wazuh SIEM на одному VPS, налаштувавши всі необхідні компоненти: Wazuh Manager, Indexer (OpenSearch) та Dashboard (OpenSearch Dashboards). Тепер у вас є потужний інструмент для моніторингу безпеки, виявлення загроз та централізованого управління логами. Це значно підвищує прозорість та захищеність вашої інфраструктури.

Щоб максимально ефективно використовувати вашу нову SIEM-систему, розгляньте наступні кроки:

  1. Розгортання агентів: Встановіть Wazuh агенти на всі ваші сервери, робочі станції та хмарні інстанси, які ви хочете моніторити. Це дозволить збирати дані з усіх джерел.
  2. Тонке налаштування правил і декодерів: Вивчіть документацію Wazuh для створення власних правил виявлення загроз та декодерів логів, специфічних для ваших застосунків та інфраструктури.
  3. Інтеграція з іншими системами: Розгляньте інтеграцію Wazuh із системами сповіщень (Slack, Telegram, email), тікетінгу (Jira) або іншими інструментами безпеки для автоматизації реагування на інциденти.
  4. Моніторинг продуктивності: Регулярно відстежуйте продуктивність вашого VPS та компонентів Wazuh, щоб переконатися, що система справляється з обсягом даних, і за необхідності розгляньте масштабування (збільшення ресурсів VPS або перехід на кластерну архітектуру).

Чи був цей гайд корисним?

Ваш відгук допомагає нам покращувати гайди.

Share this post:

Надішліть гайд тому, кому він може стати в пригоді.

Telegram VKVK WhatsApp Facebook LinkedIn XX

розгортання Wazuh SIEM на VPS: комплексний моніторинг безпеки
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.