Обновление Wazuh 4.14 - пошаговое руководство
Обновление Wazuh требует последовательного обновления всех центральных компонентов и агентов в строго определенном порядке. Нарушение порядка или несовпадение версий компонентов приводит к неработоспособности платформы. В этом руководстве описаны все этапы обновления до версии 4.14, включая подготовку, пошаговые инструкции, проверку результатов и откат при сбое.
Матрица совместимости версий
Все центральные компоненты Wazuh должны иметь одинаковую версию, включая номер патча. Несоответствие версий приводит к ошибкам взаимодействия между компонентами.
| Компонент | Совместимые версии | Зависимости |
|---|---|---|
| Wazuh Indexer | Должен совпадать с Server и Dashboard | Filebeat-OSS 7.10.2 |
| Wazuh Server | Должен совпадать с Indexer и Dashboard | Filebeat-OSS 7.10.2 |
| Wazuh Dashboard | Должен совпадать с Indexer и Server | - |
| Wazuh Agent | Версия менеджера >= версии агента | - |
Совместимость версий агентов
Wazuh Agent совместим с Wazuh Server той же или более новой версии. Допускается ситуация, когда сервер обновлен до 4.14, а агенты работают на версии 4.9 и выше. Обратная ситуация (агент новее сервера) не поддерживается.
Порядок обновления
Обновление компонентов выполняется строго в следующем порядке:
- Wazuh Indexer - хранилище данных обновляется первым
- Wazuh Server (менеджер + Filebeat) - сервер обработки событий
- Wazuh Dashboard - веб-интерфейс
- 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 сохраните пользовательские объекты:
- Откройте Wazuh Dashboard
- Перейдите в Stack Management > Saved Objects
- Выберите все объекты и нажмите Export
- Сохраните файл экспорта в безопасном месте
Добавление репозитория Wazuh
Для обновления необходим доступ к репозиторию Wazuh. Если репозиторий был отключен после установки, активируйте его:
RPM-дистрибутивы (CentOS, RHEL, Amazon Linux):
sed -i "s/^enabled=0/enabled=1/" /etc/yum.repos.d/wazuh.repoDEB-дистрибутивы (Ubuntu, Debian):
sed -i "s/^#deb /deb /" /etc/apt/sources.list.d/wazuh.list
apt-get updateОбновление Wazuh Indexer
Wazuh Indexer обновляется первым. В многоузловом кластере узлы обновляются по одному, узел cluster_manager обновляется последним.
Подготовка кластера
- Создайте резервную копию конфигурации безопасности:
/usr/share/wazuh-indexer/bin/indexer-security-init.sh \
--options "-backup /etc/wazuh-indexer/opensearch-security -icl -nhnv"- Отключите перераспределение шардов для предотвращения избыточной нагрузки во время обновления:
curl -sk -u admin:<PASSWORD> \
-X PUT "https://localhost:9200/_cluster/settings" \
-H "Content-Type: application/json" \
-d '{
"persistent": {
"cluster.routing.allocation.enable": "primaries"
}
}'- Выполните сброс транзакционного лога:
curl -sk -u admin:<PASSWORD> \
-X POST "https://localhost:9200/_flush"- Остановите Filebeat и Dashboard:
systemctl stop filebeat
systemctl stop wazuh-dashboardОбновление узла индексатора
Выполните следующие шаги для каждого узла (в многоузловом кластере - по одному):
- Остановите сервис индексатора:
systemctl stop wazuh-indexer- Сохраните текущие настройки JVM:
cp /etc/wazuh-indexer/jvm.options /etc/wazuh-indexer/jvm.options.bak- Обновите пакет:
# RPM
yum upgrade wazuh-indexer
# DEB
apt-get install wazuh-indexer- Восстановите пользовательские настройки JVM (размер heap и другие параметры):
# Сравните файлы и перенесите пользовательские настройки
diff /etc/wazuh-indexer/jvm.options /etc/wazuh-indexer/jvm.options.bak- Перезапустите сервис:
systemctl daemon-reload
systemctl enable wazuh-indexer
systemctl start wazuh-indexer- Дождитесь присоединения узла к кластеру (30-60 секунд) и проверьте его статус:
curl -sk -u admin:<PASSWORD> \
"https://localhost:9200/_cat/nodes?v"Завершение обновления индексатора
После обновления всех узлов:
- Восстановите конфигурацию безопасности:
/usr/share/wazuh-indexer/bin/indexer-security-init.sh- Включите перераспределение шардов:
curl -sk -u admin:<PASSWORD> \
-X PUT "https://localhost:9200/_cluster/settings" \
-H "Content-Type: application/json" \
-d '{
"persistent": {
"cluster.routing.allocation.enable": "all"
}
}'- Проверьте состояние кластера:
curl -sk -u admin:<PASSWORD> \
"https://localhost:9200/_cluster/health?pretty"Кластер должен вернуться в статус green. Если статус yellow - дождитесь завершения перераспределения шардов.
Обновление Wazuh Server
Wazuh Server обновляется после индексатора. В кластерной конфигурации обновите сначала рабочие узлы (workers), затем главный узел (master).
Обновление менеджера
- Обновите пакет:
# RPM
yum upgrade wazuh-manager
# DEB
apt-get install wazuh-managerМодифицированный файл /var/ossec/etc/ossec.conf не перезаписывается при обновлении. Новые параметры конфигурации необходимо добавить вручную.
- Запустите сервис:
systemctl daemon-reload
systemctl enable wazuh-manager
systemctl start wazuh-manager- Проверьте статус:
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
- Загрузите обновленный модуль Wazuh для Filebeat:
curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.5.tar.gz \
| tar -xvz -C /usr/share/filebeat/module- Загрузите обновленный шаблон индекса:
curl -so /etc/filebeat/wazuh-template.json \
https://raw.githubusercontent.com/wazuh/wazuh/v4.14.4/extensions/elasticsearch/7.x/wazuh-template.json- Обновите пакет Filebeat:
# RPM
yum upgrade filebeat
# DEB
apt-get install filebeat- Перезапустите Filebeat и примените настройки:
systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat
filebeat setup --pipelines
filebeat setup --index-management- Проверьте подключение Filebeat к индексатору:
filebeat test outputОбновление Wazuh Dashboard
Dashboard обновляется после сервера и индексатора.
- Сохраните текущую конфигурацию:
cp /etc/wazuh-dashboard/opensearch_dashboards.yml \
/etc/wazuh-dashboard/opensearch_dashboards.yml.bak- Обновите пакет:
# RPM
yum upgrade wazuh-dashboard
# DEB
apt-get install wazuh-dashboard- Проверьте пути к SSL-сертификатам в конфигурации:
grep -E "server.ssl.(key|certificate)" /etc/wazuh-dashboard/opensearch_dashboards.ymlУбедитесь, что пути к сертификатам корректны и файлы существуют.
- При обновлении с версии 4.7 и ранее добавьте маршрут по умолчанию:
uiSettings.overrides.defaultRoute: /app/wz-home- Перезапустите Dashboard:
systemctl daemon-reload
systemctl enable wazuh-dashboard
systemctl start wazuh-dashboard- Импортируйте сохраненные объекты через 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-agentLinux (DEB):
apt-get install wazuh-agent
systemctl restart wazuh-agentWindows:
Загрузите 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. Для защиты от потери данных:
- Перед обновлением создайте снимок индексов
- Сохраните резервные копии конфигурации всех компонентов
- В случае сбоя обновления одного компонента - не продолжайте обновление следующих
- Восстановите компонент из пакета предыдущей версии и резервной копии конфигурации
Для отката в пределах линейки 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Подробнее о диагностике проблем с подключением агентов см. в разделе устранение неполадок .
Связанные разделы
- Резервное копирование Wazuh - создание резервных копий перед обновлением
- Устранение неполадок - диагностика типичных проблем
- Установка Wazuh - первоначальное развертывание