Обновление Wazuh 4.14 - пошаговое руководство

Обновление Wazuh требует последовательного обновления всех центральных компонентов и агентов в строго определенном порядке. Нарушение порядка или несовпадение версий компонентов приводит к неработоспособности платформы. В этом руководстве описаны все этапы обновления до версии 4.14, включая подготовку, пошаговые инструкции, проверку результатов и откат при сбое.

Матрица совместимости версий

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

КомпонентСовместимые версииЗависимости
Wazuh IndexerДолжен совпадать с Server и DashboardFilebeat-OSS 7.10.2
Wazuh ServerДолжен совпадать с Indexer и DashboardFilebeat-OSS 7.10.2
Wazuh DashboardДолжен совпадать с Indexer и Server-
Wazuh AgentВерсия менеджера >= версии агента-

Совместимость версий агентов

Wazuh Agent совместим с Wazuh Server той же или более новой версии. Допускается ситуация, когда сервер обновлен до 4.14, а агенты работают на версии 4.9 и выше. Обратная ситуация (агент новее сервера) не поддерживается.

Порядок обновления

Обновление компонентов выполняется строго в следующем порядке:

  1. Wazuh Indexer - хранилище данных обновляется первым
  2. Wazuh Server (менеджер + Filebeat) - сервер обработки событий
  3. Wazuh Dashboard - веб-интерфейс
  4. Wazuh Agent - агенты на конечных точках (после центральных компонентов)

Нарушение порядка может привести к потере данных или неработоспособности платформы.

Предварительная подготовка

Контрольный список перед обновлением

Перед началом обновления выполните следующие проверки:

  • Создана резервная копия конфигурации и данных всех компонентов
  • Зафиксированы текущие версии всех компонентов
  • Проверена доступность репозиториев Wazuh или подготовлены пакеты для автономной установки
  • Запланировано окно обслуживания (обновление центральных компонентов требует остановки сервисов)
  • Экспортированы пользовательские объекты Dashboard (визуализации, дашборды, поисковые запросы)
  • Проверено состояние кластера индексатора (все узлы в статусе green)
  • Записаны идентификаторы ML Commons моделей и агентов (при использовании AI-интеграций)

Проверка текущих версий

# Версии пакетов (RPM)
rpm -qa | grep wazuh

# Версии пакетов (DEB)
dpkg -l | grep wazuh

# Версия менеджера через API
curl -sk -u wazuh-wui:<PASSWORD> \
  -X POST "https://localhost:55000/security/user/authenticate?raw=true" \
  | xargs -I {} curl -sk -H "Authorization: Bearer {}" \
  "https://localhost:55000/manager/info" | jq '.data.affected_items[0].version'

# Состояние кластера индексатора
curl -sk -u admin:<PASSWORD> \
  "https://localhost:9200/_cluster/health?pretty"

Экспорт объектов Dashboard

Перед обновлением Dashboard сохраните пользовательские объекты:

  1. Откройте Wazuh Dashboard
  2. Перейдите в Stack Management > Saved Objects
  3. Выберите все объекты и нажмите Export
  4. Сохраните файл экспорта в безопасном месте

Добавление репозитория Wazuh

Для обновления необходим доступ к репозиторию Wazuh. Если репозиторий был отключен после установки, активируйте его:

RPM-дистрибутивы (CentOS, RHEL, Amazon Linux):

sed -i "s/^enabled=0/enabled=1/" /etc/yum.repos.d/wazuh.repo

DEB-дистрибутивы (Ubuntu, Debian):

sed -i "s/^#deb /deb /" /etc/apt/sources.list.d/wazuh.list
apt-get update

Обновление Wazuh Indexer

Wazuh Indexer обновляется первым. В многоузловом кластере узлы обновляются по одному, узел cluster_manager обновляется последним.

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

  1. Создайте резервную копию конфигурации безопасности:
/usr/share/wazuh-indexer/bin/indexer-security-init.sh \
  --options "-backup /etc/wazuh-indexer/opensearch-security -icl -nhnv"
  1. Отключите перераспределение шардов для предотвращения избыточной нагрузки во время обновления:
curl -sk -u admin:<PASSWORD> \
  -X PUT "https://localhost:9200/_cluster/settings" \
  -H "Content-Type: application/json" \
  -d '{
    "persistent": {
      "cluster.routing.allocation.enable": "primaries"
    }
  }'
  1. Выполните сброс транзакционного лога:
curl -sk -u admin:<PASSWORD> \
  -X POST "https://localhost:9200/_flush"
  1. Остановите Filebeat и Dashboard:
systemctl stop filebeat
systemctl stop wazuh-dashboard

Обновление узла индексатора

Выполните следующие шаги для каждого узла (в многоузловом кластере - по одному):

  1. Остановите сервис индексатора:
systemctl stop wazuh-indexer
  1. Сохраните текущие настройки JVM:
cp /etc/wazuh-indexer/jvm.options /etc/wazuh-indexer/jvm.options.bak
  1. Обновите пакет:
# RPM
yum upgrade wazuh-indexer

# DEB
apt-get install wazuh-indexer
  1. Восстановите пользовательские настройки JVM (размер heap и другие параметры):
# Сравните файлы и перенесите пользовательские настройки
diff /etc/wazuh-indexer/jvm.options /etc/wazuh-indexer/jvm.options.bak
  1. Перезапустите сервис:
systemctl daemon-reload
systemctl enable wazuh-indexer
systemctl start wazuh-indexer
  1. Дождитесь присоединения узла к кластеру (30-60 секунд) и проверьте его статус:
curl -sk -u admin:<PASSWORD> \
  "https://localhost:9200/_cat/nodes?v"

Завершение обновления индексатора

После обновления всех узлов:

  1. Восстановите конфигурацию безопасности:
/usr/share/wazuh-indexer/bin/indexer-security-init.sh
  1. Включите перераспределение шардов:
curl -sk -u admin:<PASSWORD> \
  -X PUT "https://localhost:9200/_cluster/settings" \
  -H "Content-Type: application/json" \
  -d '{
    "persistent": {
      "cluster.routing.allocation.enable": "all"
    }
  }'
  1. Проверьте состояние кластера:
curl -sk -u admin:<PASSWORD> \
  "https://localhost:9200/_cluster/health?pretty"

Кластер должен вернуться в статус green. Если статус yellow - дождитесь завершения перераспределения шардов.

Обновление Wazuh Server

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

Обновление менеджера

  1. Обновите пакет:
# RPM
yum upgrade wazuh-manager

# DEB
apt-get install wazuh-manager

Модифицированный файл /var/ossec/etc/ossec.conf не перезаписывается при обновлении. Новые параметры конфигурации необходимо добавить вручную.

  1. Запустите сервис:
systemctl daemon-reload
systemctl enable wazuh-manager
systemctl start wazuh-manager
  1. Проверьте статус:
systemctl status wazuh-manager

Дополнительные настройки при обновлении с ранних версий

При обновлении с версии 4.12.x и ранее добавьте списки CDB для обнаружения IoC в /var/ossec/etc/ossec.conf:

<ruleset>
  <list>etc/lists/audit-keys</list>
  <list>etc/lists/amazon/aws-eventnames</list>
  <list>etc/lists/security-eventchannel</list>
  <list>etc/lists/malicious-ioc-md5</list>
  <list>etc/lists/malicious-ioc-sha1</list>
  <list>etc/lists/malicious-ioc-sha256</list>
</ruleset>

При обновлении с версии 4.7.x и ранее настройте модуль обнаружения уязвимостей и коннектор индексатора:

<vulnerability-detection>
  <enabled>yes</enabled>
  <index-status>yes</index-status>
  <feed-update-interval>60m</feed-update-interval>
</vulnerability-detection>

<indexer>
  <enabled>yes</enabled>
  <hosts>
    <host>https://INDEXER_IP:9200</host>
  </hosts>
</indexer>

Сохраните учетные данные в хранилище ключей:

echo '<USERNAME>' | /var/ossec/bin/wazuh-keystore -f indexer -k username
echo '<PASSWORD>' | /var/ossec/bin/wazuh-keystore -f indexer -k password
systemctl restart wazuh-manager

Обновление Filebeat

  1. Загрузите обновленный модуль Wazuh для Filebeat:
curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.5.tar.gz \
  | tar -xvz -C /usr/share/filebeat/module
  1. Загрузите обновленный шаблон индекса:
curl -so /etc/filebeat/wazuh-template.json \
  https://raw.githubusercontent.com/wazuh/wazuh/v4.14.4/extensions/elasticsearch/7.x/wazuh-template.json
  1. Обновите пакет Filebeat:
# RPM
yum upgrade filebeat

# DEB
apt-get install filebeat
  1. Перезапустите Filebeat и примените настройки:
systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat

filebeat setup --pipelines
filebeat setup --index-management
  1. Проверьте подключение Filebeat к индексатору:
filebeat test output

Обновление Wazuh Dashboard

Dashboard обновляется после сервера и индексатора.

  1. Сохраните текущую конфигурацию:
cp /etc/wazuh-dashboard/opensearch_dashboards.yml \
   /etc/wazuh-dashboard/opensearch_dashboards.yml.bak
  1. Обновите пакет:
# RPM
yum upgrade wazuh-dashboard

# DEB
apt-get install wazuh-dashboard
  1. Проверьте пути к SSL-сертификатам в конфигурации:
grep -E "server.ssl.(key|certificate)" /etc/wazuh-dashboard/opensearch_dashboards.yml

Убедитесь, что пути к сертификатам корректны и файлы существуют.

  1. При обновлении с версии 4.7 и ранее добавьте маршрут по умолчанию:
uiSettings.overrides.defaultRoute: /app/wz-home
  1. Перезапустите Dashboard:
systemctl daemon-reload
systemctl enable wazuh-dashboard
systemctl start wazuh-dashboard
  1. Импортируйте сохраненные объекты через Stack Management > Saved Objects > Import.

Обновление агентов Wazuh

Агенты обновляются после центральных компонентов. Wazuh поддерживает два метода обновления.

Удаленное обновление

Удаленное обновление выполняется через утилиту agent_upgrade или API:

# Обновление конкретного агента
/var/ossec/bin/agent_upgrade -a 001

# Обновление всех агентов
/var/ossec/bin/agent_upgrade -a all

Через API:

TOKEN=$(curl -sk -u wazuh-wui:<PASSWORD> \
  -X POST "https://localhost:55000/security/user/authenticate?raw=true")

curl -sk -H "Authorization: Bearer $TOKEN" \
  -X PUT "https://localhost:55000/agents/upgrade?agents_list=001"

Локальное обновление

Linux (RPM):

yum upgrade wazuh-agent
systemctl restart wazuh-agent

Linux (DEB):

apt-get install wazuh-agent
systemctl restart wazuh-agent

Windows:

Загрузите MSI-инсталлятор с packages.wazuh.com и выполните установку поверх текущей версии. Настройки агента сохраняются.

macOS:

curl -so wazuh-agent.pkg \
  https://packages.wazuh.com/4.x/macos/wazuh-agent-4.14.4-1.arm64.pkg
sudo installer -pkg wazuh-agent.pkg -target /
sudo /Library/Ossec/bin/wazuh-control restart

Проверка после обновления

После обновления всех компонентов выполните следующие проверки:

# Версии установленных пакетов
rpm -qa | grep wazuh   # или dpkg -l | grep wazuh

# Состояние сервисов
systemctl status wazuh-indexer
systemctl status wazuh-manager
systemctl status filebeat
systemctl status wazuh-dashboard

# Кластер индексатора
curl -sk -u admin:<PASSWORD> \
  "https://localhost:9200/_cluster/health?pretty"

# Подключенные агенты
TOKEN=$(curl -sk -u wazuh-wui:<PASSWORD> \
  -X POST "https://localhost:55000/security/user/authenticate?raw=true")

curl -sk -H "Authorization: Bearer $TOKEN" \
  "https://localhost:55000/agents?status=active&limit=5" \
  | jq '.data.affected_items[] | {id, name, version, status}'

Отключение репозиториев после обновления

Для предотвращения случайных обновлений отключите репозитории:

# RPM
sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo

# DEB
sed -i "s/^deb /#deb /" /etc/apt/sources.list.d/wazuh.list
apt-get update

Откат при сбое обновления

Откат на версию 4.11 и ранее невозможен из-за изменений в формате данных Apache Lucene. Для защиты от потери данных:

  1. Перед обновлением создайте снимок индексов
  2. Сохраните резервные копии конфигурации всех компонентов
  3. В случае сбоя обновления одного компонента - не продолжайте обновление следующих
  4. Восстановите компонент из пакета предыдущей версии и резервной копии конфигурации

Для отката в пределах линейки 4.12+:

# Остановите сервис
systemctl stop wazuh-indexer  # или wazuh-manager, wazuh-dashboard

# Установите предыдущую версию
yum downgrade wazuh-indexer-4.13.4-1
# или
apt-get install wazuh-indexer=4.13.4-1

# Восстановите конфигурацию из резервной копии
cp /backup/jvm.options /etc/wazuh-indexer/jvm.options

# Запустите сервис
systemctl start wazuh-indexer

Устранение проблем при обновлении

Индексатор не запускается после обновления

Проверьте журналы:

journalctl -u wazuh-indexer -n 50
cat /var/log/wazuh-indexer/wazuh-indexer.log

Типичные причины:

  • Несовместимые настройки JVM (восстановите из резервной копии)
  • Недостаточно дискового пространства для миграции индексов
  • Некорректные права доступа к файлам данных

Filebeat не подключается к индексатору

filebeat test output

Убедитесь, что SSL-сертификаты соответствуют обновленной версии и пути в конфигурации корректны.

Dashboard показывает ошибку после обновления

Очистите кэш браузера и перезапустите Dashboard:

systemctl restart wazuh-dashboard

Если ошибка сохраняется, проверьте пути к сертификатам в /etc/wazuh-dashboard/opensearch_dashboards.yml.

Агенты не подключаются после обновления сервера

Убедитесь, что версия агента не превышает версию сервера. Проверьте журнал менеджера:

tail -f /var/ossec/logs/ossec.log | grep -i error

Подробнее о диагностике проблем с подключением агентов см. в разделе устранение неполадок .

Связанные разделы

Last updated on