Как стать автором
Обновить

ELK, SIEM из OpenSource, Open Distro: Интеграция с WAZUH

Время на прочтение6 мин
Количество просмотров29K
Автор оригинала: Ibrahim Ayadhi

Продвигаемся дальше по нашему проекту. Мы завершили часть 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)), которая имеет следующие характеристики:



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


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)



  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-адрес с помощью локального брандмауэра.



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


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


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


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


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



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


service wazuh-manager restart

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


<active-response>
<disabled>no</disabled>
</active-response>

Теперь вы можете попытаться подобрать 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

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Публикации

Истории

Работа

DevOps инженер
50 вакансий
Data Scientist
84 вакансии

Ближайшие события