ansible_thehive
ansible-thehive
Описание
Разворачивает и настраивает TheHive — отличное инструмент для реагирования на инциденты с открытым исходным кодом. Установка осуществляется на основе RPM и может опционально предварительно заполнить индекс ElasticSearch, минимизируя некоторые раздражающие ручные шаги для запуска TheHive.
Вам потребуется отдельно установить ElasticSearch. Роль протестирована с помощью Ansible роли от Elastic. Пример конфигурации включен в документацию.
Это должно покрывать большинство сценариев использования TheHive, но PR и предлагаемые улучшения приветствуются.
Требования
- Ansible 2.0 или выше
- CentOS 7
- ElasticSearch 5.x
Использование
Рекомендуется устанавливать на выделенный сервер, хотя ElasticSearch и Cortex можно безопасно установить вместе с TheHive. Опциональный прокси Nginx включен по умолчанию, и поддержка доступна для аутентификации Vouch и LDAP. Если используется делегированная аутентификация, важно правильно установить пользователя-сид, под которым вы сможете войти.
ElasticSearch должен быть уже установлен и запущен. Эта роль протестирована с помощью роли ansible-elasticsearch, которую можно импортировать из Ansible Galaxy.
Рекомендуемые переменные:
es_instance_name: "thehive"
es_version: 5.6.14
es_major_version: 5.x
es_data_dirs:
- "/data/es"
es_config:
node.name: "thehive"
cluster.name: "thehive"
node.data: true
node.master: true
script.inline: on
thread_pool.index.queue_size: 100000
thread_pool.search.queue_size: 100000
thread_pool.bulk.queue_size: 100000
es_scripts: true
es_templates: false
es_version_lock: false
es_heap_size: 1g
es_xpack_features: ["alerting","monitoring"]
Обратите внимание, что версия ElasticSearch 6.x не поддерживается TheHive. В настоящее время главная ветка модуля ansible-elasticsearch поддерживает версию 5.x.
Следующие переменные должны быть заданы как минимум:
- thehive_url (полное доменное имя, по которому будет доступен thehive)
- thehive_crypto_secret (см.
defaults/main.yml
для получения инструкций по его генерации)
Пример общей конфигурации, которая автоматически подготавливает TheHive и использует аутентификацию LDAP и Cortex, приведен ниже:
thehive_url: "thehive.corp"
thehive_seed_initial_username: "admin"
thehive_http_addr: "127.0.0.1"
thehive_crypto_secret: "..."
thehive_auth_ldap:
enabled: true
servers: ["ldapserver.corp:636"]
use_ssl: true
bind_dn: "bind_dn"
bind_pw: "bind_pw"
search_base: "dc=corp"
username_attribute: "sAMAccountName"
}
thehive_cortex_servers:
cortex:
url: "http://127.0.0.1:9001/"
key: "..."
Аутентификация Vouch
Эта роль поддерживает аутентификацию через прокси Vouch (ранее известный как Lasso). Это позволяет вам выполнять аутентификацию OAUTH через такие сервисы, как Okta.
При использовании Vouch критически важно установить thehive_http_addr
на 127.0.0.1.
Поскольку Vouch использует куки для передачи информации об аутентификации обратно в
приложение, вы должны поместить как ваш прокси Vouch, так и сайт TheHive под общий
домен (например, vouch.corp и thehive.corp).
Переменные роли
# Устанавливать ли репозиторий RPM для TheHive
# Это в общем-то то, что вам нужно, если вы не используете свой собственный репозиторий RPM.
thehive_install_repo: true
# Версия TheHive, которую следует зафиксировать и установить
thehive_version: 3.2.1
# Обратите внимание, что сопоставления и начальные данные зависят от версии схемы.
# Если вы устанавливаете версию TheHive, которая использует другое имя индекса,
# сопоставления и файлы данных необходимо обновить.
thehive_index: thehive_14
# URL для TheHive.
thehive_url: localhost
# Устанавливать ли экземпляр nginx в качестве прокси
thehive_install_nginx: true
# Конфигурировать ли прокси nginx
thehive_configure_nginx: true
# Ссылочные файлы будут включены в каждую конфигурацию сервера nginx
thehive_nginx_includes: []
# Опционально используйте SSL с Nginx
thehive_nginx_ssl:
enabled: false
certificate: ""
key: ""
#cabundle: укажите, если используете пакет
# Порт, на котором TheHive будет слушать. Эта переменная может быть изменена даже при использовании
# прокси nginx.
thehive_http_port: 9000
# IP-адрес, к которому TheHive должен привязаться. В общем, это можно оставить как есть. Однако,
# это должно быть установлено на 127.0.0.1 при аутентификации через прокси
thehive_http_addr: "0.0.0.0"
# Обязательно. Сгенерируйте ключ так:
# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1
thehive_secret: ""
# По умолчанию TheHive требует ручных шагов для настройки.
# Вы можете опционально загрузить заранее сконфигурированные сопоставления и данные, что делает
# TheHive сразу готовым к использованию.
thehive_load_seed_data: true
# Имя начального пользователя для создания. Обратите внимание, если вы используете Vouch или LDAP для
# аутентификации, вы должны установить это на действительное имя пользователя в вашем каталоге.
# TheHive не создает пользователей при первом входе.
thehive_seed_initial_username: "admin"
# Опционально используйте аутентификацию Vouch (например, для аутентификации Google, Okta и т. д.)
thehive_auth_vouch:
enabled: false
url: ""
logon_header: THEHIVE_USER
# Опционально используйте аутентификацию LDAP.
thehive_auth_ldap:
enabled: false
servers: []
use_ssl: ""
bind_dn: ""
bind_pw: ""
search_base: ""
username_attribute: "cn"
# Конфигурация ElasticSearch. Если используется рекомендуемая конфигурация ES, это
# не нужно изменять.
thehive_es:
index: thehive
cluster: thehive
endpoint: 127.0.0.1:9300
# Пакеты, которые будут установлены с TheHive
thehive_packages:
- java-1.8.0-openjdk
- python-pip
- unzip
- git
- thehive-{{ thehive_version }}
# Пакеты, которые будут установлены, если используется прокси nginx.
# libsemanage-python необходим для selinux.
thehive_nginx_packages:
- nginx
- libsemanage-python
ansible-galaxy install rhythmictech/ansible-thehive