[Перевод] ELK SIEM Open Distro: Интеграция с WAZUH

Продвигаемся дальше по нашему проекту. Мы завершили часть SIEM. Пришло время перевести наш проект из простого наблюдателя в активного ответчика. Одним из важных инструментов, которые мы использовали для этого, является Wazuh. В этой статье мы надеемся просветить вас о преимуществах, предлагаемых этим инструментом. А также расскажем как его установить и использовать.

Wazuh — это механизм обнаружения, просмотра и сравнения соответствия безопасности с открытым исходным кодом.

Он был создан как форк OSSEC HIDS, позже был интегрирован с Elastic Stack и OpenSCAP, которые превратились в более комплексное решение.

Wazuh помогает вам получить более глубокую видимость безопасности в вашей инфраструктуре, отслеживая хосты на операционной системе и уровне приложений.

Оглавление всех постов.

Статья разделена на следующие разделы:


  • Установка сервера и агента Wazuh


  1. Установка Wazuh-сервера


  2. Установка Wazuh-агента


  3. Установка приложения и интеграция с kibana


  4. Настройка и подключение агентов



  • Активный ответ


1- Установка wazuh сервера и агента

Wazuh — это бесплатный сервис для корпоративного использования для мониторинга безопасности с открытым исходным кодом, предназначенный для обнаружения угроз, мониторинга целостности, реагирования на инциденты и соблюдения нормативных требований. Вот некоторые определения, которые вам нужно знать.

Сервер Wazuh: запускает менеджер Wazuh, API и Filebeat. Он собирает и анализирует данные от развернутых агентов.

Агент Wazuh: запускается на отслеживаемом хосте, собирает системный журнал и данные конфигурации и обнаруживает вторжения и аномалии. Он общается с сервером Wazuh, на который пересылает собранные данные для дальнейшего анализа.


1.1- Введение в архитектуру сервера Wazuh:

Архитектура Wazuh основана на агентах, работающих на контролируемых хостах, которые пересылают данные журнала на центральный сервер. Кроме того, поддерживаются безагентные устройства (такие как межсетевые экраны, коммутаторы, маршрутизаторы, точки доступа и т. Д.), Которые могут активно отправлять данные журнала через системный журнал и / или периодически проверять изменения своей конфигурации для последующей пересылки данных на центральный сервер. Центральный сервер декодирует и анализирует входящую информацию и передает результаты в кластер Elasticsearch для индексации и хранения.

Мы будем использовать архитектуру с одним хостом (Single-host architecture (HIDS)), которая имеет следующие характеристики:

ufo620zmrugpva_4s6ab4x3h9fo.png

Подробнее о другой архитектуре. Посетите официальный сайт:

https://documentation.wazuh.com/3.8/getting-started/architecture.html


1.2- Установка Wazuh manager, API и Filebeat

Здесь мы предоставим вам официальный сайт wazuh для установки

https://documentation.wazuh.com/3.12/installation-guide/installing-wazuh-manager/linux/ubuntu/wazuh_server_packages_ubuntu.html#wazuh-server-packages-ubuntu

После установки нам нужно настроить файл конфигурации filebeat: вы можете подключить filebeat к выходу elasticsearch или выходу logstash. В нашем случае мы настроим вывод elasticsearch без проверки ssl (здесь мы видим, что включен только модуль предупреждений)

cd /etc/filebeat
nano filebeat.yml

oe5cd8jj3cmmrblf3afd4p2z6_m.png

Теперь настроим шаблон индекса и запустим 3 службы:

filebeat setup — index-management
service filebeat start
service wazuh-manager start
service wazuh-api start

4nspbkj1hvz4y6wkvkde10jca3m.png

lz7cdqxf9o1ldqnftd3ppybn8mo.png


1.3- Установка wazuh-агента

Используйте эту ссылку для установки

https://documentation.wazuh.com/3.12/installation-guide/installing-wazuh-agent/linux/ubuntu12.04-or-greater/wazuh_agent_package_ubuntu12.04_or_greater.html#wazuh-agent-package-ubuntu12–04-or — большая

Проверьте, правильно ли работает wazuh-agent:

x9_4prpzz1fap_l74vnipucpysi.png


1.4- Установка приложения wazuh и интеграция с Kibana:

Это приложение станет мостом между сервером Wazuh и Kibana в ELK, который мы ранее установили.

Это приложение предоставляется только в репозитории Git Hub, а не на официальном веб-сайте.

Мы будем устанавливать приложение wazuh, совместимое с ELK Stack 7.6.1. Для этого.

cd /usr/share/kibana

sudo -u kibana bin/kibana-plugin install https://packages.wazuh.com/wazuhapp/wazuhapp-3.12.2_7.6.1.zip

Рекомендуется увеличить размер Kibana, чтобы обеспечить установку плагина:

cat >> /etc/default/kibana << EOF
NODE_OPTIONS=" —max_old_space_size=2048"
EOF

Перезапустите Кибану:

systemctl restart kibana

Вы можете проверить все доступные версии на этом сайте:

https://github.com/wazuh/wazuh-kibana-app

Теперь в вашей кибане вы должны увидеть, что символ wazuh появился на левой вкладке вашей кибаны. Нажмите на него. Откроется wazuh api. Изучите его. У вас должно получиться нечто подобное. На данный момент у вас не будет никаких агентов, связанных с ним. В следующей части мы обсудим, как подключить ваших агентов.

jbkyzf8c5ckwofzi2f555rsxacq.png


1–5 Подключение и настройка агентов

Есть много способов зарегистрировать агента. В этой статье мы воспользуемся ручным способом.

В интерфейсе командной строки хоста Wazuh manager мы запустим manage_agents, чтобы добавить агента. В этом примере мы собираемся добавить нового агента. Для этого типа запустите следующую команду:

/var/ossec/bin/manage_agents

ynmymlcpbwugiz0lfm3hurqaq_k.png

Выберите агента добавления, набрав A и нажав клавишу ВВОД. Затем мы вводим имя, которое хотим дать нашей машине, в данном случае user1. Мы вводим IP-адрес конечного устройства. Обратите внимание: если у вас нет статического IP-адреса для конечного устройства, вы можете использовать ключевое слово (любой) вместо IP-адреса. После этого нажмите Enter

Теперь мы собираемся извлечь секретный ключ, который позволит нашему агенту подключиться к серверу wazuh.

Для этого на этот раз мы выберем опцию E извлекать ключ для агента. Затем мы вводим идентификатор нашего агента, и в этом случае я выбрал агента с идентификатором 001.

tkhh0yfnojhdxnvwxpjac5zmlfu.png

После того, как вы добавили агент на хост менеджера Wazuh, откройте сеанс на хосте агента Linux как пользователь root. После этого импортируем ключ и подключим агента к менеджеру.

Введите следующее

/var/ossec/bin/manage_agents -i "Ваш_секретный_ключ"

Вы должны получить такой результат, наберите «y» и нажмите Enter.

y78y2zislolzy3xx-bdouaesfeu.png

Измените конфигурацию агента Wazuh в /var/ossec/etc/ossec.conf, чтобы добавить IP-адрес сервера Wazuh. В разделе <клиент> <сервер> измените значение MANAGER_IP на адрес сервера Wazuh. Адрес Wazuh-сервера может быть IP-адресом или DNS-именем:

evryq2eby5j5aou2uz1crxqp53g.png


1.6- Проверка полученных данных:

Чтобы проверить, получает ли ELK данные от сервера wazuh. Перейдите в Управление индексами. Вы должны получить что-то похожее на это (wazuh-alert и wazuh-monitoring)

j1xi7f1tcudgvlbkmlqpvo_rop8.png


  1. Активный ответ Wazuh:


Wazuh предоставляет модуль активного ответа для обработки автоматического ответа на определенные предупреждения, которые вы настраиваете в Wazuh-manager.

Активный ответ — это сценарий, который настроен на выполнение при срабатывании определенного предупреждения, уровня предупреждения или группы правил. Активные ответы — это ответы с сохранением состояния или без состояния. Ответы с сохранением состояния настроены для отмены действия по истечении заданного периода времени, в то время как ответы без состояния настроены как одноразовые действия.

Например, если мы хотим автоматически блокировать определенные IP-адреса на основе определенных журналов, поступающих с вашего конечного устройства, показывая, что они выполняют атаку Bruteforce, независимо от того, является ли это RDP или SSH, в зависимости от ОС хоста.

Мы можем создать активный ответ, который будет блокировать IP-адрес злоумышленника, если он соответствует поведению с набором правил, хранящимся в Wazuh. Мы возьмем пример SSH-Bruteforce. Мы будем рассматривать 8 неудачных попыток входа в систему как попытку атаки. Когда это событие происходит, действует правило »5712 — SSHD брутфорс пытается получить доступ к системе». Будет запущено. Таким образом, команда блокировки IP выполняется.

Во-первых, нам нужно определить команду, которую мы будем использовать для ответа.

OSSEC поставляется с набором общих скриптов, используемых в активном ответе. Эти сценарии находятся в / var / ossec / active-response / bin / на сервере. Мы собираемся использовать сценарий firewall-drop.sh, который должен работать с распространенными операционными системами Linux / Unix и позволяет блокировать вредоносный IP-адрес с помощью локального брандмауэра.

Определите команду в ossec.conf вашего OSSEC Manager:

nano /var/ossec/etc/ossec.conf

Мы собираемся использовать скрипт firewall-drop.sh, который должен работать с распространенными операционными системами Linux / Unix и позволяет блокировать вредоносный IP-адрес с помощью локального брандмауэра.

b3xfvovh7clbgnohlmy8uarpqr8.png

Затем в том же файле мы настраиваем OSSEC для запуска активного ответа. Основные поля:

-command: ранее определенная команда (firewall-drop).

-location: Где команда должна быть выполнена. Мы хотим выполнить его для агента, сообщившего о событии. Итак, мы используем local.

-rules_id: команда выполняется, если срабатывает правило 5712.

-timeout: заблокировать IP на 60 секунд на брандмауэре (iptables, ipfilter и т. д.)

x9cia7cr3btbmbiz8hx5yzpnccs.png

Затем сохраните модификацию и закройте файл. Перезапустите wazuh-manager командой:

service wazuh-manager restart

Теперь на ваших хостах wazuh-agent не забудьте изменить файл ossec.conf и добавить:


no

Теперь вы можете попытаться подобрать SSH на вашем хост-компьютере, на котором установлен агент Wazuh, и вы будете заблокированы на 60 секунд после 8 неудачных попыток входа.

Чтобы узнать больше об активном респоне Wazuh, вы можете проверить:

https://documentation.wazuh.com/3.7/user-manual/capabilities/active-response/how-it-works.html

Телеграм чат по Elasticsearch: https://t.me/elasticsearch_ru

© Habrahabr.ru