Для настройки связи между Wazuh, OpenSearch и Logstash в Docker, вам нужно будет выполнить следующие шаги:
1. Установка Docker и Docker Compose.
2. Создание Docker Compose файла для определения сервисов Wazuh manager, OpenSearch и Logstash.
3. Настройка Wazuh чтобы отправлять логи в Logstash.
4. Настройка Logstash для приёма и обработки логов от Wazuh, и отправки данных в OpenSearch.
5. Настройка OpenSearch для хранения и индексации данных, присланных Logstash.
Давайте разберем данный процесс по шагам.
### Шаг 1: Установите Docker и Docker Compose
Перед началом убедитесь, что у вас установлены Docker и Docker Compose. Последние версии можно скачать с официального сайта или через пакетный менеджер вашей операционной системы.
### Шаг 2: Создание Docker Compose файла
Создайте файл `docker-compose.yml` для определения сервисов. Ваш файл может выглядеть так:
```yaml
version: '3'
services:
opensearch-node1:
image: opensearchproject/opensearch:latest
container_name: opensearch-node1
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- opensearch-data1:/usr/share/opensearch/data
ports:
- 9200:9200
- 9600:9600
networks:
- opensearch-net
logstash:
image: docker.elastic.co/logstash/logstash:7.9.3
container_name: logstash
volumes:
- ./logstash/pipeline:/usr/share/logstash/pipeline
ports:
- 5000:5000
depends_on:
- opensearch-node1
networks:
- opensearch-net
wazuh-manager:
image: wazuh/wazuh-manager:latest
container_name: wazuh-manager
ports:
- 55000:55000
networks:
- opensearch-net
volumes:
opensearch-data1:
driver: local
networks:
opensearch-net:
driver: bridge
```
Создайте при необходимости директорию `logstash/pipeline` и файл конфигурации внутри нее, например `logstash.conf`, который будет содержать ваш конфиг для Logstash, например:
```apache
input {
tcp {
port => 5000
codec => json
}
}
output {
opensearch {
hosts => ["http://opensearch-node1:9200"]
index => "wazuh-alerts-%{+YYYY.MM.dd}"
user => "admin"
password => "admin"
}
}
```
### Шаг 3: Настройка Wazuh
Настройте Wazuh, чтобы отправлять логи в Logstash. Можно это сделать через файл конфигурации Wazuh manager (ossec.conf).
### Шаг 4: Настройка Logstash
Убедитесь, что Logstash конфигурирован для приема логов от Wazuh и отправки их в OpenSearch, как указано в файле `logstash.conf`.
### Шаг 5: Запуск контейнеров
После настройки конфигурационных файлов, выполните `docker-compose up` в директории, где находится ваш `docker-compose.yml`, для запуска всех сервисов.
### Заметка:
Всегда проверяйте совместимость версий между Wazuh, OpenSearch и Logstash. Инструкция выше для демонстрационных целей и может потребовать