rhythmictech.ansible_thehive

ansible-thehive

Descripción

Despliega y configura TheHive, una excelente herramienta de respuesta a incidentes de código abierto. Se instala usando RPM y puede pre-seedear opcionalmente el índice de ElasticSearch, eliminando algunos de los pasos manuales molestos para hacer funcionar a TheHive.

Necesitarás instalar ElasticSearch por separado. El rol se ha probado con el rol de ansible proporcionado por Elastic. Se incluye una configuración de ejemplo en la documentación.

Esto debería cubrir la mayoría de los casos de uso de TheHive, pero se aceptan PRs y mejoras sugeridas.

Requisitos

  • Ansible 2.0 o superior
  • CentOS 7
  • ElasticSearch 5.x

Uso

Se recomienda instalar esto en un servidor dedicado, aunque tanto ElasticSearch como Cortex se pueden instalar juntos con TheHive. Un proxy Nginx opcional está habilitado por defecto, y hay soporte para autenticación de Vouch y LDAP. Si usas autenticación delegada, es importante configurar correctamente un usuario seed con el que puedas iniciar sesión.

ElasticSearch debe estar instalado y en funcionamiento previamente. Este rol se ha probado utilizando el rol de ansible-elasticsearch, que se puede importar desde Ansible Galaxy.

Las siguientes variables son recomendadas:

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"]

Cabe mencionar que ElasticSearch 6.x no es compatible con TheHive. Actualmente, la rama principal del módulo ansible-elasticsearch admite 5.x.

Las siguientes variables deben configurarse como mínimo:

  • thehive_url (dominio completo donde TheHive será accesible)
  • thehive_crypto_secret (consulta defaults/main.yml para instrucciones sobre cómo generarlo)

A continuación se incluye una configuración común de ejemplo que inicializa automáticamente TheHive y usa autenticación LDAP y 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: "..."

Autenticación de Vouch

Este rol admite la autenticación a través de un proxy de Vouch (anteriormente conocido como Lasso). Esto te permite hacer autenticación OAUTH a través de proveedores como Okta.

Al usar Vouch, es crítico establecer thehive_http_addr en 127.0.0.1. Dado que Vouch utiliza cookies para comunicar información de autenticación de vuelta a la aplicación, debes colocar tanto tu proxy de Vouch como el sitio de TheHive bajo un nombre de dominio común (por ejemplo, vouch.corp y thehive.corp).

Variables del rol

# Determina si se debe instalar el repositorio RPM de TheHive.
# Esto es generalmente lo que quieres, a menos que estés usando tu propio repositorio RPM.
thehive_install_repo: true

# Versión de TheHive para fijar e instalar
thehive_version: 3.2.1

# Ten en cuenta que los mapeos y los datos iniciales dependen de la versión del esquema.
# Si instalas una versión de TheHive que utiliza un nombre de índice diferente,
# los mapeos y archivos de datos necesitan ser actualizados.
thehive_index: thehive_14

# URL de TheHive.
thehive_url: localhost

# Determina si se debe instalar una instancia de nginx como proxy
thehive_install_nginx: true

# Determina si se debe configurar el proxy nginx
thehive_configure_nginx: true

# Los archivos referenciados se incluirán en cada configuración del servidor nginx
thehive_nginx_includes: []

# Opcionalmente usar SSL con Nginx
thehive_nginx_ssl:
  enabled: false
  certificate: ""
  key: ""
  #cabundle: proporcionar si se usa un paquete

# El puerto que TheHive escuchará. Esta variable se puede cambiar incluso al usar
# el proxy nginx.
thehive_http_port: 9000

# Dirección IP a la que TheHive debe vincularse. En general, esto se puede dejar como está. Sin embargo,
# esto debe establecerse en 127.0.0.1 al autenticar a través de un proxy
thehive_http_addr: "0.0.0.0"

# Obligatorio. Genera una clave así:
# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1
thehive_secret: ""

# Por defecto, TheHive requiere pasos manuales para configurarse.
# Opcionalmente puedes cargar un mapeo y datos iniciales preconfigurados, lo que hace
# que TheHive sea utilizable de inmediato.
thehive_load_seed_data: true

# Nombre del usuario inicial a crear. Nota que si usas vouch o LDAP para
# autenticación, debes establecer esto a un nombre de usuario válido en tu directorio.
# TheHive no crea usuarios en el primer inicio de sesión.
thehive_seed_initial_username: "admin"

# Opcionalmente usar autenticación de Vouch (por ejemplo, para autenticación de Google, Okta, etc.)
thehive_auth_vouch:
  enabled: false
  url: ""
  logon_header: THEHIVE_USER

# Opcionalmente usar autenticación LDAP.
thehive_auth_ldap:
  enabled: false
  servers: []
  use_ssl: ""
  bind_dn: ""
  bind_pw: ""
  search_base: ""
  username_attribute: "cn"

# Configuración de ElasticSearch. Si usas la configuración recomendada de ES, esto
# no necesita ser cambiado.
thehive_es:
  index: thehive
  cluster: thehive
  endpoint: 127.0.0.1:9300

# Paquetes que se instalarán con TheHive
thehive_packages:
  - java-1.8.0-openjdk
  - python-pip
  - unzip
  - git
  - thehive-{{ thehive_version }}

# Paquetes que se instalarán si se usa el proxy nginx.
# libsemanage-python es necesario para selinux.
thehive_nginx_packages:
  - nginx
  - libsemanage-python
Acerca del proyecto

Ansible Role for TheHive, an excellent incident response tool.

Instalar
ansible-galaxy install rhythmictech.ansible_thehive
Licencia
mit
Descargas
76