В этом посте будет описана установка и настройка open Distro для Elasticsearch.
В open Distro доступны следующие плагины являются :
- Безопасность (Security )
- Оповещение (Alerting )
- SQL
- Управление информационной безопасностью (ISM)
- Анализатор производительности (Performance Analyzer )
Оглавление всех постов.
- Введение. Развертывание инфраструктуры и технологий для SOC как Service (SOCasS)
- ELK stack — установка и настройка
- Прогулка по open Distro
- Визуализация Dashboards и ELK SIEM
- Интеграция с WAZUH
- Оповещение (Alerting)
- Отчетность
- Case Management
В нашем проекте мы установили только плагины безопасности и оповещений.
1-Функция Оповещения :
Open Distro for Elasticsearch позволяет отслеживать Ваши данные и автоматически отправлять оповещения заинтересованным сторонам. Он прост в настройке и управлении, а также использует интерфейс Kibana с мощным API.
Функция оповещения позволяет настроить правила таким образом, чтобы вы могли получать уведомления, когда что-то интересное изменяется в ваших данных. Все, что вы можете запросить, вы можете построить предупреждение на этом. Функция оповещения уведомляет вас, когда данные из одного или нескольких индексов Elasticsearch удовлетворяют определенным условиям.
Этот URL-адрес предоставляет историю версий открытого дистрибутива (в нашем случае мы будем использовать 1.6.0 ) :
https://opendistro.github.io/for-elasticsearch-docs/version-history/
Чтобы добавить функцию оповещения открытого дистрибутива, вы должны управлять плагинами для elasticsearch и kibana: управление плагинами находится в следующих путях
/usr/share/elasticsearch : для Elasticsearch
/usr/share/kibana : для Kibana
1.1- Установка плагина Alerting для elasticsearch:
cd /usr/share/elasticsearch
sudo bin/elasticsearch-plugin install https://d3g5vo6xdbdb9a.cloudfront.net/downloads/elasticsearch-plugins/opendistro-sql/opendistro_sql-1.6.0.0.zip
1.2- Установка плагина Alerting для kibana :
cd /usr/share/kibana
sudo bin/kibana-plugin install — allow-root https://d3g5vo6xdbdb9a.cloudfront.net/downloads/kibana-plugins/opendistro-alerting/opendistro-alerting-1.6.0.0.zip
1.3-Чтобы отобразить ваши плагины или удалить их, вы можете использовать следующие команды :
— Для Kibana :
sudo bin/kibana-plugin list
sudo bin/kibana-plugin remove <plugin-name>
— Для elasticsearch :
sudo bin/elasticsearch-plugin list
sudo bin/elasticsearch-plugin remove <plugin-name>
1.4-Теперь вы должны перезапустить kibana и elasticsearch :
systemctl restart kibana elasticsearch
Примечание: после установки, удаления или обновления плагинов для elasticsearch или kibana требуется подождать несколько минут для правильной перезагрузки, в то время как ваш сервер kibana будет отвечать ( kibana is not ready yet ). Вы можете проверить процессы kibana и elasticsearch в режиме реального времени с помощью команды top.
1.5-Теперь вы можете проверить свои плагины в интерфейсе kibana :
1.6-Работа с плагином оповещения :
а) Создание URL-адреса веб-перехватчика Slack:
Slack — это инструмент коммуникации на рабочем месте, «единое место для обмена сообщениями, инструментами и файлами». То есть Slack — это система обмена мгновенными сообщениями с множеством надстроек для других инструментов рабочего места.
Входящие Webhooks — это простой способ отправлять сообщения из приложений в Slack. Создание входящего веб-перехватчика дает вам уникальный URL-адрес, на который вы отправляете полезные данные JSON с текстом сообщения и некоторыми параметрами. Вы можете использовать все обычные блоки форматирования и макета с помощью Incoming Webhooks, чтобы сообщения выделялись.
Сначала создайте учетную запись (slack.com)
Выберите второй пункт, если вы новичок в Slack.
Получите код, который вы только что получили в своем почтовом ящике, и создайте новое рабочее пространство
Попробуйте следовать инструкциям, пока не дойдете до своей домашней страницы, перейдите в приложение и найдите Incoming Webhook, нажмите добавить:
Нажмите добавить в Slack
Выберите канал для получения сообщений (например тестовый) и нажмите «Добавить интеграцию».
Теперь прокрутите вниз, пока не найдете URL-адрес веб-перехватчика (сохраните его, потому что мы будем использовать его позже)
Перейдите в Kibana → Alerting → Destination и нажмите кнопку add destination:
Выберите имя назначения, выберите место назначения Slack, скопируйте URl вашего веб-перехватчика и нажмите создать.
1.6.2- Создание оповещений и отправка их в Slack:
Теперь перейдите в Мониторинг и нажмите Создать монитор:
Настройте свои параметры: вы можете использовать графическую настройку или настройку запроса извлечения
Вот пример графической настройки (идентификатор события: 4624 означает, что учетная запись успешно вошла в систему)
- Проверьте Monitor Schedule и нажмите кнопку Создать
Теперь вы должны создать триггер, например:
Теперь перейдите к уведомлению и выберите место назначения, которое вы создали, затем нажмите создать:
Теперь вы можете следить за своими оповещениями в интерфейсе оповещений Kibana, и каждое оповещение будет отправляться на ваш канал Slack:
Перейдите на свой Slack-канал (#test канал в этом руководстве) и дождитесь ваших предупреждений:
2- Функция безопасности:
Этот плагин предоставляет пользовательский интерфейс для управления пользователями, ролями, сопоставлениями, группами действий и арендаторами.
2.1- Установка плагина безопасности:
Выбор этого подключения был сделан потому, что Kibana не имеет панели аутентификации в базовой версии. Таким образом, чтобы обеспечить безопасность наших интерфейсов, мы будем использовать бесплатную панель аутентификации, предлагаемую открытым дистрибутивом.
Вы можете выполнить те же шаги (от 1 до 4), что и делали для установки плагина предупреждений, чтобы установить плагины безопасности. Вам просто нужно изменить плагин установки URL:
Для Kibana:
sudo bin/kibana-plugin install — allow-root https://d3g5vo6xdbdb9a.cloudfront.net/downloads/kibana-plugins/opendistro-security/opendistro_security_kibana_plugin-1.6.0.0.zip
Для Elasticsearch:
sudo bin/elasticsearch-plugin install https://d3g5vo6xdbdb9a.cloudfront.net/downloads/elasticsearch-plugins/opendistro-security/opendistro_security-1.6.0.0.zip
Будет отображено предупреждающее сообщение: type y
После установки плагина безопасности вы можете запустить:
sudo sh /usr/share/elasticsearch/plugins/opendistro_security/tools/install_demo_configuration.sh
Чтобы быстро начать работу с демонстрационными сертификатами.
В противном случае вы должны настроить его вручную и запустить securityadmin.sh.
Воспользуемся первым вариантом:
cd /usr/share/elasticsearch/plugins/opendistro_security/tools/
chmod +x install_demo_configuration.sh
./install_demo_configuration.sh
Для всех вопросов типа y и учетных данных по умолчанию (Имя пользователя: admin / Пароль: admin)
Другая конфигурация будет добавлена безопасностью открытого дистрибутива в ваш /etc/elasticsearch/elasticsearch.yml
2.2- Изменение конфигурации для elasticsearch logstash и kibana:
В нашем случае мы создадим имя пользователя, пароль и сертификат SSL для elasticsearch. Мы хотим упомянуть, что проверка сертификата в этом разделе и во всех других следующих разделах выходит за рамки этих статей.
2.2.1- Для Elasticsearch:
Отключение x-pack security для elasticsearch: при перезапуске elasticsearch вы, вероятно, получите ошибку из-за функции безопасности xpack, включенной по умолчанию для базовой версии ELK Stack, поэтому вам придется отключить ее в /etc/elasticsearch/elasticsearch.yml перед перезапуском вашей службы.
2.2.2- Для Кибаны:
Отключение x-pack security для Kibana: Также для Кибаны мы должны отключить функцию xpack.security и игнорировать проверку ssl в /etc/kibana/kibana.yml
ПРИМЕЧАНИЕ. Убедитесь, что ваш протокол — https, а не http.
2.2.3- Для Logstash:
Поскольку наши биты не связаны напрямую с elasticsearch, они вместо этого подключены к logstash, поэтому нам не нужно управлять своими битами или перенастраивать их, нам нужно только настроить файл конфигурации logstash.
Убедитесь, что ваш протокол https, а не http.
sudo nano /etc/logstash/conf.d/logstash.conf
ПРИМЕЧАНИЕ: если вы перенастраиваете биты или настраиваете другой бит, в то время как в вашем elasticsearch установлен плагин безопасности с именем пользователя, паролем и сертификатом SSL, вы можете добавить эту конфигурацию в свой бит, чтобы сделать его доступным. Убедитесь, что ваш протокол — https, а не http.
2.3- Перезапустите все свои службы:
systemctl restart elasticsearch
systemctl restart logtash
systemctl restart kibana
Как упоминалось ранее, для правильного перезапуска может потребоваться несколько минут. Вы можете проверять это с помощью команды top в режиме реального времени. тем временем ваш сервер Кибаны будет отвечать (kibana is not ready yet).
Теперь ваш стек ELK правильно подключен с новыми учетными данными.
Вы можете проверить это, используя URL-адрес Elasticsearch (http не будет работать, вместо этого вам нужно использовать https)
Вы также можете проверить это в Кибане:
Здесь вы можете создавать пользователей, назначать роли и разрешения:
Это поможет вам организовать группы SOC на основе ролей, действий и привилегий.
Вот роли и база данных внутренних пользователей, определенные по умолчанию:
Телеграм чат по Elasticsearch: https://t.me/elasticsearch_ru