Офлайн-установка Wazuh 4.14 - изолированные сети
Офлайн-установка предназначена для развертывания Wazuh 4.14 в изолированных сетях (air-gapped) без доступа в интернет. Все необходимые пакеты, зависимости и скрипты загружаются заранее на хосте с интернетом, переносятся на целевые серверы и устанавливаются из локального хранилища.
Обзор процедуры
Процесс офлайн-установки состоит из следующих этапов:
- Загрузка пакетов и зависимостей на хосте с интернетом
- Перенос файлов на целевые серверы
- Настройка локального репозитория
- Генерация TLS-сертификатов
- Установка компонентов в правильном порядке
- Проверка работоспособности
Предварительные требования
Хост для загрузки (с интернетом)
- Любая Linux-система с доступом в интернет
- Утилиты:
curl,tar,gpg - Минимум 5 ГБ свободного дискового пространства
Целевые серверы (без интернета)
- 64-битная ОС из списка поддерживаемых
- Минимум 4 ядра CPU и 8 ГБ RAM для all-in-one
- Открытые порты между узлами: 1514, 1515, 9200, 443, 55000
- Способ передачи файлов (USB, SCP через локальную сеть, NFS)
Загрузка пакетов
Автоматическая загрузка
Wazuh предоставляет скрипт для автоматической загрузки всех необходимых файлов:
curl -sO https://packages.wazuh.com/4.14/wazuh-offline.tar.gzЭтот архив содержит:
- Пакеты Wazuh Indexer, Manager, Dashboard для поддерживаемых ОС
- GPG-ключи репозитория
- Конфигурационные файлы
- Скрипт установки
Ручная загрузка пакетов
Для выборочной загрузки скачайте только нужные пакеты.
Для Debian/Ubuntu:
mkdir -p wazuh-offline/deb
# Wazuh Indexer
curl -sO https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-indexer/wazuh-indexer_4.14.3-1_amd64.deb \
-o wazuh-offline/deb/
# Wazuh Manager
curl -sO https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-manager/wazuh-manager_4.14.3-1_amd64.deb \
-o wazuh-offline/deb/
# Wazuh Dashboard
curl -sO https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-dashboard/wazuh-dashboard_4.14.3-1_amd64.deb \
-o wazuh-offline/deb/
# Filebeat
curl -sO https://packages.wazuh.com/4.x/apt/pool/main/f/filebeat/filebeat-oss-7.10.2-amd64.deb \
-o wazuh-offline/deb/Для RHEL/CentOS:
mkdir -p wazuh-offline/rpm
curl -sO https://packages.wazuh.com/4.x/yum/wazuh-indexer-4.14.3-1.x86_64.rpm \
-o wazuh-offline/rpm/
curl -sO https://packages.wazuh.com/4.x/yum/wazuh-manager-4.14.3-1.x86_64.rpm \
-o wazuh-offline/rpm/
curl -sO https://packages.wazuh.com/4.x/yum/wazuh-dashboard-4.14.3-1.x86_64.rpm \
-o wazuh-offline/rpm/Загрузка GPG-ключа
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH -o wazuh-offline/GPG-KEY-WAZUHЗагрузка конфигурации Filebeat
curl -sO https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.4.tar.gz \
-o wazuh-offline/wazuh-filebeat-0.4.tar.gzПеренос на целевые серверы
Упакуйте все загруженные файлы:
tar czf wazuh-offline-bundle.tar.gz wazuh-offline/Перенесите архив на целевые серверы любым доступным способом:
- USB-носитель: скопируйте на USB, перенесите физически
- SCP по локальной сети:
scp wazuh-offline-bundle.tar.gz user@target:/tmp/ - NFS-монтирование: скопируйте в общий каталог
На целевом сервере распакуйте архив:
tar xzf /tmp/wazuh-offline-bundle.tar.gz -C /tmp/Настройка локального репозитория
Для Debian/Ubuntu
Создайте локальный APT-репозиторий:
mkdir -p /var/local/wazuh-repo
cp /tmp/wazuh-offline/deb/*.deb /var/local/wazuh-repo/
cd /var/local/wazuh-repo
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gzДобавьте репозиторий в APT:
echo "deb [trusted=yes] file:///var/local/wazuh-repo ./" > /etc/apt/sources.list.d/wazuh-local.list
apt-get updateДля RHEL/CentOS
Создайте локальный YUM-репозиторий:
mkdir -p /var/local/wazuh-repo
cp /tmp/wazuh-offline/rpm/*.rpm /var/local/wazuh-repo/
createrepo /var/local/wazuh-repo/Если createrepo не установлен, установите его заранее или включите в офлайн-пакет:
yum install createrepo_cДобавьте репозиторий:
cat > /etc/yum.repos.d/wazuh-local.repo << 'EOF'
[wazuh-local]
name=Wazuh Local Repository
baseurl=file:///var/local/wazuh-repo/
enabled=1
gpgcheck=0
EOFГенерация сертификатов
Загрузка скрипта генерации
На хосте с интернетом скачайте скрипт и конфигурацию:
curl -sO https://packages.wazuh.com/4.14/wazuh-certs-tool.sh
curl -sO https://packages.wazuh.com/4.14/config.ymlНастройка config.yml
Отредактируйте config.yml, указав имена и IP-адреса всех узлов:
nodes:
indexer:
- name: wazuh-indexer-1
ip: 192.168.1.10
server:
- name: wazuh-manager-1
ip: 192.168.1.20
dashboard:
- name: wazuh-dashboard-1
ip: 192.168.1.30Для многоузловой конфигурации добавьте все узлы:
nodes:
indexer:
- name: wazuh-indexer-1
ip: 192.168.1.10
- name: wazuh-indexer-2
ip: 192.168.1.11
- name: wazuh-indexer-3
ip: 192.168.1.12
server:
- name: wazuh-manager-master
ip: 192.168.1.20
node_type: master
- name: wazuh-manager-worker
ip: 192.168.1.21
node_type: worker
dashboard:
- name: wazuh-dashboard-1
ip: 192.168.1.30Генерация сертификатов
bash wazuh-certs-tool.sh -AСкрипт создаст каталог wazuh-certificates/ со всеми необходимыми сертификатами. Перенесите его на целевые серверы вместе с пакетами.
Распределение сертификатов
На каждом целевом сервере скопируйте соответствующие сертификаты:
# На узле индексатора
mkdir -p /etc/wazuh-indexer/certs
cp wazuh-certificates/root-ca.pem /etc/wazuh-indexer/certs/
cp wazuh-certificates/wazuh-indexer-1.pem /etc/wazuh-indexer/certs/indexer.pem
cp wazuh-certificates/wazuh-indexer-1-key.pem /etc/wazuh-indexer/certs/indexer-key.pem
chmod 400 /etc/wazuh-indexer/certs/*
chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certsПошаговая установка
Порядок установки компонентов строго определен. Нарушение порядка приведет к ошибкам.
1. Установка Wazuh Indexer
# Debian/Ubuntu
apt-get install wazuh-indexer
# RHEL/CentOS
yum install wazuh-indexerНастройте /etc/wazuh-indexer/opensearch.yml:
cluster.name: wazuh-cluster
node.name: wazuh-indexer-1
network.host: 0.0.0.0
node.master: true
node.data: true
plugins.security.ssl.transport.pemcert_filepath: /etc/wazuh-indexer/certs/indexer.pem
plugins.security.ssl.transport.pemkey_filepath: /etc/wazuh-indexer/certs/indexer-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/wazuh-indexer/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /etc/wazuh-indexer/certs/indexer.pem
plugins.security.ssl.http.pemkey_filepath: /etc/wazuh-indexer/certs/indexer-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /etc/wazuh-indexer/certs/root-ca.pemЗапустите и инициализируйте:
systemctl daemon-reload
systemctl enable wazuh-indexer
systemctl start wazuh-indexer
/usr/share/wazuh-indexer/bin/indexer-security-init.shПроверка:
curl -sk -u admin:admin https://localhost:9200/_cluster/health?pretty2. Установка Wazuh Manager
# Debian/Ubuntu
apt-get install wazuh-manager
# RHEL/CentOS
yum install wazuh-managerУстановите Filebeat:
# Debian/Ubuntu
dpkg -i /tmp/wazuh-offline/deb/filebeat-oss-*.deb
# RHEL/CentOS
rpm -ivh /tmp/wazuh-offline/rpm/filebeat-oss-*.rpmНастройте Filebeat для отправки данных в индексатор:
cp /tmp/wazuh-offline/wazuh-filebeat-0.4.tar.gz /tmp/
tar xzf /tmp/wazuh-filebeat-0.4.tar.gz -C /usr/share/filebeat/module/Отредактируйте /etc/filebeat/filebeat.yml:
output.elasticsearch:
hosts: ["https://192.168.1.10:9200"]
username: admin
password: admin
ssl.certificate_authorities:
- /etc/filebeat/certs/root-ca.pem
ssl.certificate: /etc/filebeat/certs/filebeat.pem
ssl.key: /etc/filebeat/certs/filebeat-key.pemЗапустите сервисы:
systemctl daemon-reload
systemctl enable wazuh-manager filebeat
systemctl start wazuh-manager filebeat3. Установка Wazuh Dashboard
# Debian/Ubuntu
apt-get install wazuh-dashboard
# RHEL/CentOS
yum install wazuh-dashboardНастройте /etc/wazuh-dashboard/opensearch_dashboards.yml:
server.host: 0.0.0.0
server.port: 443
opensearch.hosts: ["https://192.168.1.10:9200"]
opensearch.ssl.certificateAuthorities: ["/etc/wazuh-dashboard/certs/root-ca.pem"]
server.ssl.enabled: true
server.ssl.certificate: "/etc/wazuh-dashboard/certs/dashboard.pem"
server.ssl.key: "/etc/wazuh-dashboard/certs/dashboard-key.pem"Запустите сервис:
systemctl daemon-reload
systemctl enable wazuh-dashboard
systemctl start wazuh-dashboardОткройте https://<IP-адрес>:443 для доступа к дашборду.
Установка агентов в офлайн-режиме
Загрузка пакета агента
На хосте с интернетом загрузите пакет для нужной ОС:
# Linux DEB
curl -sO https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.14.3-1_amd64.deb
# Linux RPM
curl -sO https://packages.wazuh.com/4.x/yum/wazuh-agent-4.14.3-1.x86_64.rpm
# Windows
curl -sO https://packages.wazuh.com/4.x/windows/wazuh-agent-4.14.3-1.msiУстановка на целевом хосте
# Debian/Ubuntu
WAZUH_MANAGER="192.168.1.20" dpkg -i wazuh-agent_4.14.3-1_amd64.deb
# RHEL/CentOS
WAZUH_MANAGER="192.168.1.20" rpm -ivh wazuh-agent-4.14.3-1.x86_64.rpmЗапустите агент:
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agentОбновление в офлайн-режиме
Подготовка обновления
- На хосте с интернетом загрузите пакеты новой версии
- Перенесите пакеты на целевые серверы
- Обновите локальный репозиторий
Порядок обновления
Обновление выполняется в обратном порядке:
- Агенты
- Менеджер
- Индексатор
- Дашборд
Обновление компонента
# Debian/Ubuntu
apt-get install --only-upgrade wazuh-indexer
systemctl restart wazuh-indexer
# RHEL/CentOS
yum update wazuh-indexer
systemctl restart wazuh-indexerПеред обновлением индексатора создайте резервную копию данных:
curl -sk -u admin:admin \
-X PUT "https://localhost:9200/_snapshot/backup/pre-upgrade" \
-H "Content-Type: application/json" \
-d '{"indices":"wazuh-*"}'Решение проблем
Пакет не устанавливается из локального репозитория
Симптомы: ошибка Unable to locate package или No package available.
Решение:
- Проверьте содержимое репозитория:
ls -la /var/local/wazuh-repo/- Для Debian/Ubuntu пересоздайте индекс пакетов:
cd /var/local/wazuh-repo
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
apt-get update- Для RHEL/CentOS пересоздайте метаданные:
createrepo --update /var/local/wazuh-repo/
yum clean all && yum makecacheОшибки сертификатов при подключении компонентов
Симптомы: в логах ошибки ssl_exception, компоненты не могут установить TLS-соединение.
Решение:
- Убедитесь, что все компоненты используют сертификаты от одного CA:
openssl x509 -in /etc/wazuh-indexer/certs/root-ca.pem -text -noout | grep Issuer- Проверьте, что SAN в сертификате соответствует IP-адресу узла:
openssl x509 -in /etc/wazuh-indexer/certs/indexer.pem -text -noout | grep -A1 "Subject Alternative Name"- Проверьте права доступа к файлам сертификатов
Индексатор не запускается
Симптомы: сервис wazuh-indexer не стартует, в логах ошибки JVM или файловой системы.
Решение:
- Проверьте
vm.max_map_count:
sysctl vm.max_map_countЕсли значение меньше 262144, увеличьте:
sysctl -w vm.max_map_count=262144
echo "vm.max_map_count=262144" >> /etc/sysctl.conf- Проверьте владельца каталога данных:
chown -R wazuh-indexer:wazuh-indexer /var/lib/wazuh-indexer- Проверьте логи:
journalctl -u wazuh-indexer -n 100Filebeat не отправляет данные в индексатор
Симптомы: алерты не появляются в дашборде, хотя менеджер работает.
Решение:
- Проверьте статус Filebeat:
systemctl status filebeat
filebeat test outputУбедитесь, что адрес индексатора в
/etc/filebeat/filebeat.ymlкорректенПроверьте подключение вручную:
curl -sk -u admin:admin https://192.168.1.10:9200