ELK SIEM Open Distro: Прогулка по open Distro

от автора

В этом посте будет описана установка и настройка open Distro для Elasticsearch.
В open Distro доступны следующие плагины являются :

  • Безопасность (Security )
  • Оповещение (Alerting )
  • SQL
  • Управление информационной безопасностью (ISM)
  • Анализатор производительности (Performance Analyzer )

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

В нашем проекте мы установили только плагины безопасности и оповещений.

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

ссылка на оригинал статьи https://habr.com/ru/post/515920/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *