Как установить связь между Wazuh, OpenSearch и Logstash?

Конечно! Как объединить в контейнере Docker Wazuh, OpenSearch и Logstash для их совместной работы?
  • 31 января 2024 г. 9:29
Ответы на вопрос 1
Для настройки связи между 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. Инструкция выше для демонстрационных целей и может потребовать
Похожие вопросы