rhythmictech.ansible_thehive

ansible-thehive

Description

Déploie et configure TheHive, un excellent outil open source de réponse aux incidents. Il s'installe à partir du RPM et peut facultativement préconfigurer l'index ElasticSearch, éliminant ainsi certaines étapes manuelles fastidieuses pour faire fonctionner TheHive.

Vous devrez installer ElasticSearch séparément. Le rôle est testé avec le rôle ansible fourni par Elastic. Un exemple de configuration est inclus dans la documentation.

Cela devrait couvrir la plupart des cas d'utilisation de TheHive, mais les pull requests et les suggestions d'améliorations sont bienvenues.

Exigences

  • Ansible 2.0 ou supérieur
  • CentOS 7
  • ElasticSearch 5.x

Utilisation

Il est recommandé d'installer ceci sur un serveur dédié, bien qu'ElasticSearch et Cortex puissent en toute sécurité être installés avec TheHive. Un proxy Nginx optionnel est activé par défaut, et un support est disponible pour l'authentification Vouch et LDAP. Si vous utilisez une authentification déléguée, il est important de définir correctement un utilisateur de départ avec lequel vous pouvez vous connecter.

ElasticSearch doit déjà être installé et en cours d'exécution. Ce rôle est testé en utilisant le rôle ansible-elasticsearch, qui peut être importé depuis Ansible Galaxy.

Les variables suivantes sont recommandées :

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

Notez qu'ElasticSearch 6.x n'est pas pris en charge par TheHive. Actuellement, la branche principale du module ansible-elasticsearch prend en charge 5.x.

Les variables suivantes doivent être définies au minimum :

  • thehive_url (fqdn où TheHive sera accessible)
  • thehive_crypto_secret (voir defaults/main.yml pour les instructions sur la façon de le générer)

Un exemple de configuration commune qui amorce automatiquement TheHive et utilise l'authentification LDAP et Cortex est inclus ci-dessous :

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: "..."

Authentification Vouch

Ce rôle prend en charge l'authentification via un proxy Vouch (anciennement connu sous le nom de Lasso). Cela vous permet de faire de l'authentification OAUTH via des fournisseurs tels qu'Okta.

Lors de l'utilisation de Vouch, il est crucial de définir thehive_http_addr sur 127.0.0.1. Comme Vouch utilise des cookies pour communiquer les informations d'authentification à l'application, vous devez placer à la fois votre proxy Vouch et le site TheHive sous un nom de domaine commun (par exemple, vouch.corp et thehive.corp).

Variables de rôle

# Indique si le dépôt RPM de TheHive doit être installé.
# C'est généralement ce que vous voulez, à moins que vous n'utilisiez votre propre dépôt RPM.
thehive_install_repo: true

# Version de TheHive à verrouiller et installer
thehive_version: 3.2.1

# Notez que les mappings et les données de départ dépendent de la version du schéma.
# Si vous installez une version de TheHive qui utilise un nom d'index différent,
# les mappings et les fichiers de données doivent être mis à jour.
thehive_index: thehive_14

# URL de TheHive.
thehive_url: localhost

# Indique si une instance nginx doit être installée en tant que proxy
thehive_install_nginx: true

# Indique s'il faut configurer le proxy nginx
thehive_configure_nginx: true

# Les fichiers référencés seront inclus dans chaque configuration de serveur nginx
thehive_nginx_includes: []

# Utilisez SSL avec Nginx optionnellement
thehive_nginx_ssl:
  enabled: false
  certificate: ""
  key: ""
  #cabundle: à fournir si vous utilisez un bundle

# Le port sur lequel TheHive écoutera. Cette variable peut être changée même en utilisant
# le proxy nginx.
thehive_http_port: 9000

# Adresse IP à laquelle TheHive doit se lier. En général, cela peut rester tel quel. Cependant,
# cela doit être défini sur 127.0.0.1 lors de l'authentification via un proxy
thehive_http_addr: "0.0.0.0"

# Obligatoire. Générez une clé comme ceci :
# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1
thehive_secret: ""

# Par défaut, TheHive nécessite des étapes manuelles pour la configuration.
# Vous pouvez optionnellement charger un mapping préconfiguré et des données de départ, ce qui rend
# TheHive immédiatement utilisable dès la sortie du paquet.
thehive_load_seed_data: true

# Nom de l'utilisateur initial à créer. Notez que si vous utilisez vouch ou LDAP pour
# l'authentification, vous devez définir cela sur un nom d'utilisateur valide dans votre annuaire.
# TheHive ne crée pas d'utilisateurs lors de la première connexion.
thehive_seed_initial_username: "admin"

# Utilisez optionnellement l'authentification Vouch (par exemple, pour l'authentification Google, Okta, etc.)
thehive_auth_vouch:
  enabled: false
  url: ""
  logon_header: THEHIVE_USER

# Utilisez optionnellement l'authentification LDAP.
thehive_auth_ldap:
  enabled: false
  servers: []
  use_ssl: ""
  bind_dn: ""
  bind_pw: ""
  search_base: ""
  username_attribute: "cn"

# Configuration d'ElasticSearch. Si vous utilisez la configuration ES recommandée, cela
# n'a pas besoin d'être changé.
thehive_es:
  index: thehive
  cluster: thehive
  endpoint: 127.0.0.1:9300

# Paquets qui seront installés avec TheHive
thehive_packages:
  - java-1.8.0-openjdk
  - python-pip
  - unzip
  - git
  - thehive-{{ thehive_version }}

# Paquets qui seront installés si le proxy nginx est utilisé.
# libsemanage-python est nécessaire pour selinux.
thehive_nginx_packages:
  - nginx
  - libsemanage-python
À propos du projet

Ansible Role for TheHive, an excellent incident response tool.

Installer
ansible-galaxy install rhythmictech.ansible_thehive
Licence
mit
Téléchargements
76