Saturday, October 10, 2020

Elastic Endpoint + SIEM - простая инфраструктура для Threat Hunting-а

В статье расскажу как быстро развернуть инфраструктуру для Threat hunting-а, бесплатно.
А здесь уже рассказано, как этим можно пользоваться.



2. Обязательно Security и SSL (уже в бесплатной версии): 

3. Обязательно Security и SSL в Kibana (раз, два)

4. Сертификаты для SSL Elastic и Kibana – использовал OpenSSL. Лучше не самоподписанный.
4.1. Делаем УЦ на OpenSSL (статей полно в Интернет, например, эта)
4.2. От этого УЦ создаем сертификты для  kibana и elastic (использовал один сертификат для обоих). Важно: Сертификат должен содержать SAN, содержащие IP
Для SAN нужен конфиг запроса, мой пример (важное выделил):
[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[ dn ]
C=RU
L=Moscow
O=Kaspersky Test
OU=SOC Test
CN=kibana
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = kibana
DNS.2 = elastic
IP.1 = 192.168.56.1
IP.2 = 192.168.220.1
Создаем запрос с созданным конфигом: openssl req -new -key kibana.key -out kibana.req -config req.conf 
Создаем сертификат подписанный ключом УЦ, с тем же конфигом: openssl x509 -req -in kibana.req -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out kibana.crt -days 5000 -extensions 'req_ext' -extfile req.conf
Полезные коммандочки:
    • Посмотреть запрос: openssl req -text -noout -verify -in kibana.req
    • Аналогично, посмотреть сертификат: openssl x509 -in kibana.crt -text -noout
5. Чтобы данные лились, в конфиге elasticsearch обязательно должен быть включен ingest node (node.ingest: true):


7. Агент – Windows, поэтому создал политику для него (“Windows”), "Default config" была.
8. Подправим URL-ы в конфигурации Ingest manager-а (IP-адреса, и https)


Правильно везде использовать HTTPS, иначе могут быть загадочные ошибки, которые сложно чинить

9. Для энроллмента агента надо создать Enrollment token

10. Энтроллим агента, удобнее использовать Fleet

Агента надо просто скачать, положить в новую папку и в ней выполнить команды, которые написаны в интерфейсе Kibana при энроллменте

Если выскакивает ошибка, надо потрастить использованный rootCA, помогает.

У агента есть несложное CLI, полный перечень команд здесь.

После энроллмента агент появляется во Fleet


В операционной системе появится два сервиса: агент и Endpoint Security

11. Можно посмотреть логи агента:

12. Детали конфигурации

13. Агенту можно назначить другу политику ли отключить от управления
14. В моем случае «Windows» - название политики для агента, посмотрим внутрь
Elastic Endpoint Security – политика EDR
System-1 – политика сервера, как обычной системы (метрики железа, дефолтные логи)

15. Посмотрим политику EDR

16. Также Elastic поставляет бесплатно «ханты», их можно включать и отключать

17. Можно и свои создавать

По хантам поставляется простенькая, но неплохая документация, некоторые сопоставлены с MITRE ATT&CK, ссылки ведут на сайт MITRE.

18. Данные от сенсоров можно обрабатывать перед индексированием
Конфигурирование можно выполняться из интерфейса Kibana, удобно.


19. Может потребоваться отредактировать продвинутые настройки

20. Конфигурация алертинга и EDR

21. Чтобы в Kibana увидеть данные сенсоров, надо завести новую роль (я дал полные права, но в реальной жизни надо следовать принципу минимума привилегий):


И своего пользователя включить в эту роль. Пользователь Elastic не имеет прав на данные, хоть и суперадмин
22. Для сбора Windows-логов поставил Winlogbeat

23. Установленного агента просто отключить (unenroll)
После Unenrollment-а пропадает сервис Elastic Endpoint


24. Когда события польются на Dashboard будет наглядно видно какой телеметрии сколько








No comments: