[Перевод] ELK SIEM Open Distro: Интеграция с WAZUH
Продвигаемся дальше по нашему проекту. Мы завершили часть SIEM. Пришло время перевести наш проект из простого наблюдателя в активного ответчика. Одним из важных инструментов, которые мы использовали для этого, является Wazuh. В этой статье мы надеемся просветить вас о преимуществах, предлагаемых этим инструментом. А также расскажем как его установить и использовать.
Wazuh — это механизм обнаружения, просмотра и сравнения соответствия безопасности с открытым исходным кодом.
Он был создан как форк OSSEC HIDS, позже был интегрирован с Elastic Stack и OpenSCAP, которые превратились в более комплексное решение.
Wazuh помогает вам получить более глубокую видимость безопасности в вашей инфраструктуре, отслеживая хосты на операционной системе и уровне приложений.
Оглавление всех постов.
Статья разделена на следующие разделы:
- Установка сервера и агента Wazuh
Установка Wazuh-сервера
Установка Wazuh-агента
Установка приложения и интеграция с kibana
Настройка и подключение агентов
- Активный ответ
1- Установка wazuh сервера и агента
Wazuh — это бесплатный сервис для корпоративного использования для мониторинга безопасности с открытым исходным кодом, предназначенный для обнаружения угроз, мониторинга целостности, реагирования на инциденты и соблюдения нормативных требований. Вот некоторые определения, которые вам нужно знать.
Сервер Wazuh: запускает менеджер Wazuh, API и Filebeat. Он собирает и анализирует данные от развернутых агентов.
Агент Wazuh: запускается на отслеживаемом хосте, собирает системный журнал и данные конфигурации и обнаруживает вторжения и аномалии. Он общается с сервером Wazuh, на который пересылает собранные данные для дальнейшего анализа.
1.1- Введение в архитектуру сервера Wazuh:
Архитектура Wazuh основана на агентах, работающих на контролируемых хостах, которые пересылают данные журнала на центральный сервер. Кроме того, поддерживаются безагентные устройства (такие как межсетевые экраны, коммутаторы, маршрутизаторы, точки доступа и т. Д.), Которые могут активно отправлять данные журнала через системный журнал и / или периодически проверять изменения своей конфигурации для последующей пересылки данных на центральный сервер. Центральный сервер декодирует и анализирует входящую информацию и передает результаты в кластер Elasticsearch для индексации и хранения.
Мы будем использовать архитектуру с одним хостом (Single-host architecture (HIDS)), которая имеет следующие характеристики:
Подробнее о другой архитектуре. Посетите официальный сайт:
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
Теперь настроим шаблон индекса и запустим 3 службы:
filebeat setup — index-management
service filebeat start
service wazuh-manager start
service wazuh-api start
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:
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. Изучите его. У вас должно получиться нечто подобное. На данный момент у вас не будет никаких агентов, связанных с ним. В следующей части мы обсудим, как подключить ваших агентов.
1–5 Подключение и настройка агентов
Есть много способов зарегистрировать агента. В этой статье мы воспользуемся ручным способом.
В интерфейсе командной строки хоста Wazuh manager мы запустим manage_agents, чтобы добавить агента. В этом примере мы собираемся добавить нового агента. Для этого типа запустите следующую команду:
/var/ossec/bin/manage_agents
Выберите агента добавления, набрав A и нажав клавишу ВВОД. Затем мы вводим имя, которое хотим дать нашей машине, в данном случае user1. Мы вводим IP-адрес конечного устройства. Обратите внимание: если у вас нет статического IP-адреса для конечного устройства, вы можете использовать ключевое слово (любой) вместо IP-адреса. После этого нажмите Enter
Теперь мы собираемся извлечь секретный ключ, который позволит нашему агенту подключиться к серверу wazuh.
Для этого на этот раз мы выберем опцию E извлекать ключ для агента. Затем мы вводим идентификатор нашего агента, и в этом случае я выбрал агента с идентификатором 001.
После того, как вы добавили агент на хост менеджера Wazuh, откройте сеанс на хосте агента Linux как пользователь root. После этого импортируем ключ и подключим агента к менеджеру.
Введите следующее
/var/ossec/bin/manage_agents -i "Ваш_секретный_ключ"
Вы должны получить такой результат, наберите «y» и нажмите Enter.
Измените конфигурацию агента Wazuh в /var/ossec/etc/ossec.conf
, чтобы добавить IP-адрес сервера Wazuh. В разделе <клиент> <сервер> измените значение MANAGER_IP на адрес сервера Wazuh. Адрес Wazuh-сервера может быть IP-адресом или DNS-именем:
1.6- Проверка полученных данных:
Чтобы проверить, получает ли ELK данные от сервера wazuh. Перейдите в Управление индексами. Вы должны получить что-то похожее на это (wazuh-alert и wazuh-monitoring)
Активный ответ 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-адрес с помощью локального брандмауэра.
Затем в том же файле мы настраиваем OSSEC для запуска активного ответа. Основные поля:
-command: ранее определенная команда (firewall-drop).
-location: Где команда должна быть выполнена. Мы хотим выполнить его для агента, сообщившего о событии. Итак, мы используем local.
-rules_id: команда выполняется, если срабатывает правило 5712.
-timeout: заблокировать IP на 60 секунд на брандмауэре (iptables, ipfilter и т. д.)
Затем сохраните модификацию и закройте файл. Перезапустите 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