В этом руководстве вы узнаете, как установить Wazuh с Graylog на Ubuntu с помощью официального установщика. Wazuh объединяет бесплатный движок SIEM с хранилищем данных, поддерживаемым OpenSearch, и удобным веб-интерфейсом, поэтому вы можете поднять все это на одной коробке Ubuntu менее чем за пятнадцать минут.
Запуск сервера без SIEM в 2026 году - проигрышная игра. Логи прокручиваются мимо, неудачные логины накапливаются, и первый раз, когда кто-то замечает компромисс, это когда резервная копия выходит из строя или клиент жалуется. Wazuh закрывает этот пробел.
Предпосылки#
- Сервер под управлением Ubuntu 26.04
- Права пользователя: пользователь root или обычный пользователь с привилегиями sudo.
- 4 ГБ ОЗУ минимум, 8 ГБ рекомендуется (только индексатор хочет 2 ГБ).
- Не менее 40 ГБ диска. Оповещение быстро съедает хранилище.
Конвенции#
1
2
| # - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ - данные команды должны выполняться от имени обычного пользователя.
|
Обновите систему#
Свежая установка Ubuntu 26.04 требует обновления пакетов до последних доступных версий.
1
| sudo apt update -y && sudo apt upgrade -y
|
Система может нуждаться в перезагрузке после обновления.
Добавить репозиторий Wazuh APT#
Установите предварительные условия
1
2
| sudo apt install debconf adduser procps
sudo aptt install gnupg apt-transport-https
|
Wazuh поддерживает свой собственный репозиторий APT с последними стабильными релизами. Начните с импорта ключа подписи GPG:
1
| sudo curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg
|
После добавления ключа мы можем добавить стабильный репозиторий в список источников:
1
| echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee -a /etc/apt/sources.list.d/wazuh.list
|
Обновите индекс пакета, чтобы получить новый репозиторий и перейдите к следующему шагу по установке Wazuh.
Включите UFW и откройте порты, в которых нуждается Wazuh.
1
2
3
4
5
| sudo ufw allow 443/tcp
sudo ufw allow 1514/tcp
sudo ufw allow 1515/tcp
sudo ufw allow 9200/tcp
sudo ufw allow 55000/tcp
|
Установка Wazuh Indexer#
Wazuh Indexer - это компонент платформы, основанный на OpenSearch, который отвечает за хранение, индексацию и поиск данных безопасности.
Теперь, когда ключ GPG и репозиторий Wazuh добавлены, мы можем приступить к установке пакетов Wazuh с помощью команды ниже:
1
| sudo apt install wazuh-indexer
|
Создание SSL сертификатов#
Скачайте скрипт wazuh-certs-tool.sh и конфигурационный файл config.yml. Это создает сертификаты, которые шифруют связь между центральными компонентами Wazuh.
1
2
| curl -sO https://packages.wazuh.com/4.14/wazuh-certs-tool.sh
curl -sO https://packages.wazuh.com/4.14/config.yml
|
Далее отредактируйте ./config.yml и замените имена узлов и значения IP соответствующими именами и IP-адресами. Вам нужно сделать это для всех узлов Wazuh server, Wazuh indexer и Wazuh dashboard. Добавьте столько полей узла, сколько необходимо. Например:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| nodes:
# Wazuh indexer nodes
indexer:
- name: node-1
ip: "<indexer-node-ip>"
#- name: node-2
# ip: "<indexer-node-ip>"
#- name: node-3
# ip: "<indexer-node-ip>"
# Wazuh server nodes
# If there is more than one Wazuh server
# node, each one must have a node_type
server:
- name: wazuh-1
ip: "<wazuh-manager-ip>"
# node_type: master
#- name: wazuh-2
# ip: "<wazuh-manager-ip>"
# node_type: worker
#- name: wazuh-3
# ip: "<wazuh-manager-ip>"
# node_type: worker
# Wazuh dashboard nodes
dashboard:
- name: dashboard
ip: "<dashboard-node-ip>"
|
Запустите ./wazuh-certs-tool.sh для создания сертификатов. Для кластера с несколькими узлами эти сертификаты должны быть позже развернуты во всех экземплярах Wazuh в вашем кластере.
1
| sudo bash ./wazuh-certs-tool.sh -A
|
После развертывания сертификатов в каталоге установки будет создан каталог wazuh-certificates со следующим содержанием:
1
2
3
4
5
6
7
| wazuh-certificates/
├── admin-key.pem
├── admin.pem
├── root-ca.key
├── root-ca.pem
├── node-1-key.pem
└── node-1.pem
|
Сжимайте все необходимые файлы.
1
2
| tar -cvf ./wazuh-certificates.tar -C ./wazuh-certificates/ .
rm -rf ./wazuh-certificates
|
После создания сертификатов необходимо переименовать и перенести сертификат индексатора Wazuh в соответствующие узлы индексатора Wazuh соответственно. Вы должны разместить их в каталоге по умолчанию /etc/wazuh-indexer/certs/, как указано в файле /etc/wazuh-indexer/opensearch.yml. Вы должны создать каталог, если он не существует.
Копировать сертификаты в /etc/wazuh-indexer/certs
1
2
3
4
5
6
7
8
9
| sudo mkdir /etc/wazuh-indexer/certs
sudo tar -xf ./wazuh-certificates.tar -C /etc/wazuh-indexer/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./admin.pem ./admin-key.pem ./root-ca.pem
sudo mv -n /etc/wazuh-indexer/certs/$NODE_NAME.pem /etc/wazuh-indexer/certs/indexer.pem
sudo mv -n /etc/wazuh-indexer/certs/$NODE_NAME-key.pem /etc/wazuh-indexer/certs/indexer-key.pem
sudo chmod 500 /etc/wazuh-indexer/certs
sudo chmod 400 /etc/wazuh-indexer/certs/*
sudo chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certs
|
Здесь вы перемещаете сертификат узла и ключевые файлы, такие как node-1.pem и node-1-key.pem, в их соответствующую папку сертификатов. Они специфичны для узла и не требуются для других узлов. Однако обратите внимание, что сертификат root-ca.pem не перемещается, а копируется в папку certs. Таким образом, вы можете продолжить развертывание его в других папках компонентов на следующих этапах.
Настройка Wazuh Indexer#
Изменить /etc/wazuh-indexer/opensearch.yml и заменить следующие значения:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| network.host: "<IP_ЭТОГО_УЗЛА>"
node.name: "node-1"
cluster.initial_master_nodes:
- "node-1"
- "node-2"
- "node-3"
discovery.seed_hosts:
- "<IP_ИНДЕКСАТОРА_1>"
- "<IP_ИНДЕКСАТОРА_2>"
- "<IP_ИНДЕКСАТОРА_3>"
plugins.security.nodes_dn:
- "CN=node-1,OU=Wazuh,O=Wazuh,L=Moscow,C=RU"
- "CN=node-2,OU=Wazuh,O=Wazuh,L=Moscow,C=RU"
- "CN=node-3,OU=Wazuh,O=Wazuh,L=Moscow,C=RU"
|
network.host: устанавливает адрес этого узла как для HTTP, так и для транспортного трафика. Узел свяжется с этим адресом и будет использовать его в качестве своего адреса публикации. Принимает IP-адрес или имя хоста.
Используйте тот же адрес узла, установленный в config.yml, для создания SSL-сертификатов.
Имя узла обязательно должно совпадать с именем, используемым в config.yml для начальной конфигурации, например, node-1.
Включите и запустите службу Wazuh indexer.
1
2
3
| sudo systemctl daemon-reload
sudo systemctl enable wazuh-indexer
sudo systemctl start wazuh-indexer
|
Для кластеров с несколькими узлами повторите предыдущие шаги на каждом узле Wazuh indexer.
Когда все узлы Wazuh indexer работают, запустите скрипт индексатора Wazuh indexer-security-init.sh на любом узле индексатора Wazuh, чтобы загрузить новую информацию о сертификатах и запустить кластер.
1
| sudo /usr/share/wazuh-indexer/bin/indexer-security-init.sh
|
Выполните следующую команду, чтобы убедиться, что установка прошла успешно. Обратите внимание, что в этой команде используется 127.0.0.1, при необходимости установите свой Wazuh indexer.
1
| sudo curl -XGET https://127.0.0.1:9200 -u admin:<ADMIN_PASSWORD> -k
|
На выходе мы должны получить что-то похожее:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| {
"name" : "node-1",
"cluster_name" : "wazuh-cluster",
"cluster_uuid" : "095jEW-oRJSFKLz5wmo5PA",
"version" : {
"number" : "7.10.2",
"build_type" : "rpm",
"build_hash" : "db90a415ff2fd428b4f7b3f800a51dc229287cb4",
"build_date" : "2023-06-03T06:24:25.112415503Z",
"build_snapshot" : false,
"lucene_version" : "9.6.0",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}
|
Установка Wazuh Manager#
Wazuh Server - это центральный компонент платформы, который принимает данные от агентов, выполняет анализ событий, применяет правила обнаружения и генерирует оповещения. Сервер включает два основных компонента: Wazuh Manager (обработка событий) и Filebeat (передача данных в индексатор).
Запустите следующие команды, чтобы установить Wazuh manager.
1
2
3
4
| sudo apt install wazuh-manager
sudo systemctl daemon-reload
sudo systemctl enable wazuh-manager
sudo systemctl start wazuh-manager
|
Установка Filebeat#
Filebeat передает оповещения и архивные события из Wazuh Manager в Wazuh Indexer.
1
| sudo apt install filebeat
|
Настройка Filebeat#
Скачать предварительно сконфигурированный файл конфигурации Filebeat.
1
| sudo curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/4.14/tpl/wazuh/filebeat/filebeat.yml
|
Настройка подключения к индексатору#
Отредактируйте /etc/filebeat/filebeat.yml, указав адрес индексатора:
1
2
3
4
5
| output.elasticsearch:
hosts: ["<IP_ИНДЕКСАТОРА>:9200"]
protocol: https
username: ${username}
password: ${password}
|
Для кластера из нескольких индексаторов укажите все узлы:
1
2
3
4
5
6
7
8
| output.elasticsearch:
hosts:
- "<IP_ИНДЕКСАТОРА_1>:9200"
- "<IP_ИНДЕКСАТОРА_2>:9200"
- "<IP_ИНДЕКСАТОРА_3>:9200"
protocol: https
username: ${username}
password: ${password}
|
Создайте хранилище ключей Filebeat для безопасного хранения учетных данных аутентификации.
1
| sudo filebeat keystore create
|
Добавьте имя пользователя по умолчанию и пароль admin:admin в хранилище секретов.
1
2
| sudo echo admin | filebeat keystore add username --stdin --force
sudo echo admin | filebeat keystore add password --stdin --force
|
Замените admin на актуальные учетные данные для доступа к индексатору.
Загрузите шаблон оповещений для индексатора Wazuh.
1
2
| sudo curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.14.7/extensions/elasticsearch/7.x/wazuh-template.json
sudo chmod go+r /etc/filebeat/wazuh-template.json
|
Установите модуль Wazuh для Filebeat.
1
| sudo curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.5.tar.gz | tar -xvz -C /usr/share/filebeat/module
|
Развертывание сертификатов для Filebeat#
Примечание
Убедитесь, что копия wazuh-certificates.tar, созданный на начальном этапе настройки, помещается в рабочий каталог.
Заменить <server_node_name> с именем сертификата серверного узла Wazuh, которое используется в config.yml при создании сертификатов. Затем переместите сертификаты в соответствующее место.
1
2
3
4
5
6
7
8
9
10
11
| NODE_NAME=wazuh-1
sudo mkdir /etc/filebeat/certs
sudo tar -xf ./wazuh-certificates.tar -C /etc/filebeat/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
sudo mv -n /etc/filebeat/certs/$NODE_NAME.pem /etc/filebeat/certs/filebeat.pem
sudo mv -n /etc/filebeat/certs/$NODE_NAME-key.pem /etc/filebeat/certs/filebeat-key.pem
sudo chmod 500 /etc/filebeat/certs
sudo chmod 400 /etc/filebeat/certs/*
sudo chown -R root:root /etc/filebeat/certs
|
Замените wazuh-1 на имя узла сервера, указанное в config.yml при генерации сертификатов.
Настройка подключения индексатора в ossec.conf#
Примечание
Вы можете пропустить этот шаг, если не собираетесь использовать возможность обнаружения уязвимостей
Начиная с Wazuh 4.14, менеджер может напрямую взаимодействовать с индексатором. Настройте учетные данные:
1
2
| sudo echo '<INDEXER_USERNAME>' | /var/ossec/bin/wazuh-keystore -f indexer -k username
sudo echo '<INDEXER_PASSWORD>' | /var/ossec/bin/wazuh-keystore -f indexer -k password
|
Отредактируйте /var/ossec/etc/ossec.conf, добавив секцию :
1
2
3
4
5
6
7
8
9
10
11
12
13
| <indexer>
<enabled>yes</enabled>
<hosts>
<host>https://<IP_ИНДЕКСАТОРА>:9200</host>
</hosts>
<ssl>
<certificate_authorities>
<ca>/etc/filebeat/certs/root-ca.pem</ca>
</certificate_authorities>
<certificate>/etc/filebeat/certs/filebeat.pem</certificate>
<key>/etc/filebeat/certs/filebeat-key.pem</key>
</ssl>
</indexer>
|
Замените своим IP-адресом или именем хоста. Вы можете найти это значение в файле конфигурации Filebeat /etc/filebeat/filebeat.yml.
Убедитесь, что сертификат Filebeat и имя ключа соответствуют файлам сертификата в /etc/filebeat/certs.
Запуск сервиса Filebeat#
Включите и запустите сервис Filebeat.
1
2
3
| sudo systemctl daemon-reload
sudo systemctl enable filebeat
sudo systemctl start filebeat
|
Проверка установки#
Проверка статуса менеджера
1
| sudo systemctl status wazuh-manager
|
Проверка Filebeat
Ожидаемый результат:
1
2
3
4
5
6
7
8
9
10
11
12
| elasticsearch: https://<IP_ИНДЕКСАТОРА>:9200...
parse url... OK
connection...
parse host... OK
dns lookup... OK
addresses: <IP>
dial up... OK
TLS...
security: server's certificate chain verification is enabled
...
talk to server... OK
...
|
Установка Wazuh Dashboard#
Wazuh Dashboard - это веб-интерфейс управления платформой, построенный на основе OpenSearch Dashboards.
1
2
| sudo apt install debhelper tar curl libcap2-bin
sudo apt install wazuh-dashboard
|
Через дашборд администратор системы имеет возможность:
- просматривать и анализировать события безопасности и журналы;
- отслеживать подключённые агенты и состояние контролируемых систем;
- обнаруживать подозрительную активность и потенциальные угрозы;
- контролировать уязвимости программного обеспечения;
- отслеживать изменения файлов и конфигурации;
- исследовать и классифицировать инциденты безопасности;
- создавать отчёты и визуализации на основе собранных данных.
Настройка Wazuh Dashboard#
Настройка сертификатов так, чтобы сервис Wazuh Dashboard мог подключаться к кластеру Wazuh Indexer.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| NODE_NAME=dashboard
mkdir /etc/wazuh-dashboard/certs
tar -xf ./wazuh-certificates.tar -C /etc/wazuh-dashboard/certs/ \
./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
[ ! -e /etc/wazuh-dashboard/certs/dashboard.pem ] && \
mv -n /etc/wazuh-dashboard/certs/$NODE_NAME.pem /etc/wazuh-dashboard/certs/dashboard.pem
[ ! -e /etc/wazuh-dashboard/certs/dashboard-key.pem ] && \
mv -n /etc/wazuh-dashboard/certs/$NODE_NAME-key.pem /etc/wazuh-dashboard/certs/dashboard-key.pem
chmod 500 /etc/wazuh-dashboard/certs
chmod 400 /etc/wazuh-dashboard/certs/*
chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/certs
|
Замените dashboard на имя узла дашборда, указанное в config.yml при генерации сертификатов.
Отредактируйте файл /etc/wazuh-dashboard/opensearch_dashboards.yml:
1
2
3
4
| server.host: 0.0.0.0
server.port: 443
opensearch.hosts: https://127.0.0.1:9200
opensearch.ssl.verificationMode: certificate
|
Запуск службы
1
2
3
| systemctl daemon-reload
systemctl enable wazuh-dashboard
systemctl start wazuh-dashboard
|
Дашборд не запускается
Порт 443 занят другим процессом (например, Apache или Nginx)
Настройка подключения к Wazuh Server#
Отредактируйте файл /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml:
1
2
3
4
5
6
7
| hosts:
- default:
url: https://<IP_СЕРВЕРА_WAZUH>
port: 55000
username: wazuh-wui
password: <WUI_PASSWORD>
run_as: true
|
Замените <IP_СЕРВЕРА_WAZUH> на IP-адрес узла с Wazuh Manager и <WUI_PASSWORD> на пароль пользователя wazuh-wui.
Доступ к веб-интерфейсу Wazuh с вашими учетными данными пользователя администратора. Это учетная запись администратора по умолчанию для индексатора Wazuh, и она позволяет вам получить доступ к панели инструментов Wazuh.
Первый вход#
Откройте браузер и перейдите по адресу:
Учетные данные по умолчанию:
1
2
| Логин: admin
Пароль: admin
|
При первом доступе к панели инструментов Wazuh браузер показывает предупреждающее сообщение о том, что сертификат не был выдан доверенным органом. Исключение можно добавить в расширенные опции веб-браузера. Для повышения безопасности ранее сгенерированный файл root-ca.pem может быть импортирован в менеджер сертификатов браузера. Кроме того, вы можете настроить сертификат от доверенного органа.
Обеспечение безопасности вашей установки Wazuh#
Теперь вы установили и настроили все центральные компоненты Wazuh. Мы рекомендуем изменить учетные данные по умолчанию, чтобы защитить вашу инфраструктуру от возможных атак.
Выберите тип развертывания и следуйте инструкциям по изменению паролей по умолчанию как для API Wazuh, так и для пользователей индексатора Wazuh.
1
2
| sudo /usr/share/wazuh-indexer/plugins/opensearch-security/tools/wazuh-passwords-tool.sh \
--api --change-all --admin-user wazuh --admin-password wazuh
|
Эта команда изменит пароли всех внутренних пользователей, включая admin и wazuh-wui.
Смена пароля конкретного пользователя
1
2
| sudo /usr/share/wazuh-indexer/plugins/opensearch-security/tools/wazuh-passwords-tool.sh \
--user admin --password <НОВЫЙ_ПАРОЛЬ> --admin-user wazuh --admin-password wazuh
|
После смены паролей обновите конфигурацию подключения в /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml и перезапустите дашборд:
1
| sudo systemctl restart wazuh-dashboard
|
Также обновите учетные данные в keystore Filebeat на сервере:
1
2
| sudo echo <НОВЫЙ_ПАРОЛЬ> | filebeat keystore add password --stdin --force
systemctl restart filebeat
|
Использование собственных сертификатов#
Для замены самоподписанных сертификатов на выданные корпоративным или публичным CA:
Поместите файлы сертификата, ключа и CA в /etc/wazuh-dashboard/certs/
Обновите пути в /etc/wazuh-dashboard/opensearch_dashboards.yml:
1
2
3
4
| server.ssl.enabled: true
server.ssl.certificate: /etc/wazuh-dashboard/certs/your-cert.pem
server.ssl.key: /etc/wazuh-dashboard/certs/your-key.pem
opensearch.ssl.certificateAuthorities: ["/etc/wazuh-dashboard/certs/your-ca.pem"]
|
Установите права доступа:
1
2
| sudo chmod 400 /etc/wazuh-dashboard/certs/*
sudo chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/certs
|
Перезапустите службу:
1
| sudo systemctl restart wazuh-dashboard
|
Установка Wazuh Agent#
Wazuh Agent - это легковесный компонент, устанавливаемый на контролируемых конечных точках. Агент собирает данные о событиях безопасности, выполняет локальные проверки и передает результаты на Wazuh Server для анализа.
Установка пакета
1
| WAZUH_MANAGER="<IP_МЕНЕДЖЕРА>" sudo apt install wazuh-agent
|
С дополнительными параметрами:
1
2
3
4
5
| WAZUH_MANAGER="<IP_МЕНЕДЖЕРА>" \
WAZUH_AGENT_NAME="web-server-01" \
WAZUH_AGENT_GROUP="linux-servers" \
WAZUH_REGISTRATION_PASSWORD="MyRegistrationPassword" \
sudo apt install wazuh-agent
|
Запуск службы
1
2
3
| sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent
|
Отключение автоматических обновлений#
Мы рекомендуем отключить репозитории пакетов Wazuh после установки всех компонентов на этом сервере, чтобы предотвратить случайные обновления.
Выполните следующую команду только после завершения всех установок:
1
2
| sudo sed -i "s/^deb /#deb /" /etc/apt/sources.list.d/wazuh.list
sudo apt update
|
Удаление Wazuh#
Данное руководство описывает процедуру корректного удаления компонентов Wazuh 4.14. Удаление может быть частичным (только пакеты) или полным (пакеты + данные + конфигурация). Порядок удаления: сначала агенты, затем дашборд, сервер и индексатор.
Удаление Wazuh Agent#
Остановка службы:
1
2
| sudo systemctl stop wazuh-agent
sudo systemctl disable wazuh-agent
|
Удаление пакета (сохранение конфигурации):
1
| sudo apt remove wazuh-agent
|
Полное удаление (пакет + конфигурация):
1
| sudo apt purge wazuh-agent
|
Очистка оставшихся файлов:
1
2
3
| sudo rm -rf /var/ossec
sudo rm -f /etc/apt/sources.list.d/wazuh.list
sudo rm -f /usr/share/keyrings/wazuh.gpg
|
Удаление Wazuh Dashboard#
Остановка службы:
1
2
| sudo systemctl stop wazuh-dashboard
sudo systemctl disable wazuh-dashboard
|
Удаление пакета:
1
| sudo apt remove wazuh-dashboard
|
Полное удаление:
1
| sudo apt purge wazuh-dashboard
|
Очистка оставшихся файлов:
1
2
3
| sudo rm -rf /etc/wazuh-dashboard
sudo rm -rf /usr/share/wazuh-dashboard
sudo rm -rf /var/log/wazuh-dashboard
|
Удаление Wazuh Server (Manager + Filebeat)#
Остановка служб:
1
2
3
4
| sudo systemctl stop filebeat
sudo systemctl stop wazuh-manager
sudo systemctl disable filebeat
sudo systemctl disable wazuh-manager
|
Удаление пакетов:
1
| sudo apt remove wazuh-manager filebeat
|
Полное удаление:
1
| sudo apt purge wazuh-manager filebeat
|
Очистка оставшихся файлов:
1
2
3
4
| sudo rm -rf /var/ossec
sudo rm -rf /etc/filebeat
sudo rm -rf /var/lib/filebeat
sudo rm -rf /usr/share/filebeat
|
Удаление Wazuh Indexer#
Остановка службы:
1
2
| sudo systemctl stop wazuh-indexer
systemctl disable wazuh-indexer
|
Удаление пакета:
1
| sudo apt remove wazuh-indexer
|
Полное удаление:
1
| sudo apt purge wazuh-indexer
|
Очистка оставшихся файлов (включая данные индексов):
1
2
3
4
| sudo rm -rf /etc/wazuh-indexer
sudo rm -rf /var/lib/wazuh-indexer
sudo rm -rf /usr/share/wazuh-indexer
sudo rm -rf /var/log/wazuh-indexer
|
Очистка репозитория#
После удаления всех компонентов удалите репозиторий Wazuh:
1
2
3
| sudo rm -f /etc/apt/sources.list.d/wazuh.list
sudo rm -f /usr/share/keyrings/wazuh.gpg
sudo apt-get update
|
Очистка сертификатов#
Удалите архив сертификатов и сгенерированные файлы:
1
2
3
| sudo rm -f ./wazuh-certificates.tar
sudo rm -f ./wazuh-install-files.tar
sudo rm -rf ./wazuh-certificates
|
Удаление пользователей и групп#
После полной деинсталляции можно удалить системных пользователей и группы:
1
2
3
4
5
6
| sudo userdel wazuh
sudo groupdel wazuh
sudo userdel wazuh-indexer
sudo groupdel wazuh-indexer
sudo userdel wazuh-dashboard
sudo groupdel wazuh-dashboard
|
Проверка удаления#
После удаления убедитесь, что все компоненты полностью удалены:
1
2
3
4
5
6
7
8
9
10
11
| # Проверка отсутствия пакетов
dpkg -l | grep wazuh
# Проверка отсутствия служб
systemctl list-units | grep wazuh
# Проверка отсутствия процессов
ps aux | grep -E "wazuh|ossec" | grep -v grep
# Проверка освобождения портов
ss -tlnp | grep -E "1514|1515|9200|443|55000"
|
Установка Graylog#
Graylog — это мощная платформа для управления журналами (логами), которая позволяет собирать, хранить и анализировать данные с разных источников.
Теперь мы установим Graylog и подключим его к нашему Wazuh Indexer.
Установка зависимостей#
Graylog требует для работы Java, Elasticsearch и MongoDB. Для начала установим все необходимые компоненты:
Запустите следующую команду для импорта открытого ключа для MongoDB 8.0:
1
2
3
4
5
6
7
8
9
10
11
12
| # Import MongoDB GPG key
curl -fsSL https://pgp.mongodb.com/server-8.0.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg
# Add official repo
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/8.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
# Install
sudo apt update
sudo apt install mongodb-org
|
Установим Java (версия 26):
1
| sudo apt install openjdk-26-jre-headless
|
Установим Elasticsearch:
Для установки Elasticsearch добавим репозиторий:
1
2
3
4
5
6
7
8
9
10
11
12
| # Import Elasticsearch GPG key
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | \
sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg
# Add official repo
echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] \
https://artifacts.elastic.co/packages/9.x/apt stable main" | \
sudo tee -a /etc/apt/sources.list.d/elastic-9.x.list
# Install
sudo apt update
sudo apt install elasticsearch
|
Установим Graylog:
Скачиваем репозиторий и устанавливаем Graylog:
1
2
3
4
| wget https://packages.graylog2.org/repo/packages/graylog-7.1-repository_latest.deb
sudo dpkg -i graylog-7.1-repository_latest.deb
sudo apt-get update
sudo apt-get install graylog-server
|
Настройка Graylog#
Настроим конфигурационный файл Graylog: Откройте файл /etc/graylog/server/server.conf:
Установите секретный ключ:
1
| password_secret = some_random_secret
|
Чтобы создать свой пароль secret запустите следующую команду:
Установите админский пароль:
1
| root_password_sha2 = <hashed_password>
|
Для получения хеша пароля можно использовать команду:
1
| echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
|
Настройте соединение с вашим Wazuh Indexer:
1
| elasticsearch_hosts = https://user:pass@127.0.0.1:9200
|
Копируйте cacerts и импортируйте информацию rootCA.crt в Java Keystore.
1
| sudo cp -a /usr/share/graylog-server/jvm/lib/security/cacerts /etc/graylog/server/certs/cacerts
|
1
| sudo /usr/share/graylog-server/jvm/bin/keytool -importcert -keystore /etc/graylog/server/certs/cacerts -storepass changeit -alias root_ca -file /etc/graylog/server/certs/root-ca.pem
|
1
| sudo nano /etc/default/graylog-server
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # Path to a custom java executable. By default the java executable of the
# bundled JVM is used.
#JAVA=/usr/bin/java
# Default Java options for heap and garbage collection.
GRAYLOG_SERVER_JAVA_OPTS="-Xms1g -Xmx1g -server -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow"
# Avoid endless loop with some TLSv1.3 implementations.
GRAYLOG_SERVER_JAVA_OPTS="$GRAYLOG_SERVER_JAVA_OPTS -Djdk.tls.acknowledgeCloseNotify=true"
# Fix for log4j CVE-2021-44228
#GRAYLOG_SERVER_JAVA_OPTS="$GRAYLOG_SERVER_JAVA_OPTS -Dlog4j2.formatMsgNoLookups=true"
GRAYLOG_SERVER_JAVA_OPTS="$GRAYLOG_SERVER_JAVA_OPTS -Dlog4j2.formatMsgNoLookups=true -Djavax.net.ssl.trustStore=/etc/graylog/server/certs/cacerts -Djavax.net.ssl.trustStorePassword=changeit"
# Pass some extra args to graylog-server. (i.e. "-d" to enable debug mode)
GRAYLOG_SERVER_ARGS=""
# Program that will be used to wrap the graylog-server command. Useful to
# support programs like authbind.
GRAYLOG_COMMAND_WRAPPER=""
|
Запустите сервер Graylog:
1
2
| sudo systemctl start graylog-server
sudo systemctl enable graylog-server
|
Доступ к веб-интерфейсу Graylog#
После запуска сервера Graylog можно подключиться к веб-интерфейсу.
Откройте браузер и перейдите по адресу: http://<ip-адрес-сервера>:9000
Войдите с использованием логина admin и пароля, который вы установили в конфиге.
Журналы для Graylog#
1
2
3
4
5
6
7
8
9
10
11
12
| # Import fluentbit GPG key
curl -fsSL https://packages.fluentbit.io/fluentbit.key | \
sudo gpg --dearmor -o /usr/share/keyrings/fluentbit-keyring.gpg
# Add official repo
echo "deb [signed-by=/usr/share/keyrings/fluentbit-keyring.gpg] | \
https://packages.fluentbit.io/ubuntu/$codename $codename main" | \
sudo tee /etc/apt/sources.list.d/fluent-bit.list
# Install
sudo apt update
sudo apt install fluent-bit
|
Отредактируйте файл /etc/fluent-bit/fluent-bit.conf, чтобы собрать файл alerts.json и отправить его в Graylog:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| [SERVICE]
flush 5
daemon Off
log_level info
parsers_file parsers.conf
plugins_file plugins.conf
http_server Off
http_listen 0.0.0.0
http_port 2020
storage.metrics on
storage.path /var/log/flb-storage/
storage.sync normal
storage.checksum off
storage.backlog.mem_limit 5M
Log_File /var/log/td-agent-bit.log
[INPUT]
name tail
path /var/ossec/logs/alerts/alerts.json
tag wazuh
parser json
Buffer_Max_Size 5MB
Buffer_Chunk_Size 400k
storage.type filesystem
Mem_Buf_Limit 512MB
[OUTPUT]
Name tcp
Host *your graylog host*
Port *your graylog port*
net.keepalive off
Match wazuh
Format json_lines
json_date_key true
|
Запустите службу Fluent Bit:
1
2
| sudo systemctl enable fluent-bit
sudo systemctl start fluent-bit
|
Теперь вам нужно настроить экстракторы Graylog для анализа ваших событий Wazuh.
Завершение#
В этом руководстве мы узнали, как анализировать полученные предупреждения Wazuh, создавать уникальные индексы и направлять наши журналы в правильный индекс. Возможность разрезать, обрезать и маршрутизировать наши журналы в соответствии с нашими потребностями имеет решающее значение для любой команды SOC/MSP/ и т.д.
Если вам понравился этот пост о том, как установить Wazuh с Graylog на Ubuntu 26.04, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.