rhythmictech.ansible_thehive

ansible-thehive

Beschreibung

Installiert und konfiguriert TheHive, ein ausgezeichnetes Open-Source-Tool zur Incident-Response. Es wird basierend auf dem RPM installiert und kann optional den ElasticSearch-Index vorab befüllen, wodurch einige der lästigen manuellen Schritte zur Einrichtung von TheHive entfallen.

ElasticSearch muss separat installiert werden. Die Rolle wurde mit der von Elastic bereitgestellten Ansible-Rolle getestet. Eine Beispielkonfiguration ist in der Dokumentation enthalten.

Dies sollte die meisten Anwendungsfälle von TheHive abdecken, aber PRs und Verbesserungsvorschläge sind willkommen.

Anforderungen

  • Ansible 2.0 oder höher
  • CentOS 7
  • ElasticSearch 5.x

Verwendung

Es wird empfohlen, dies auf einem dedizierten Server zu installieren, obwohl sowohl ElasticSearch als auch Cortex sicher zusammen mit TheHive installiert werden können. Ein optionaler Nginx-Proxy ist standardmäßig aktiviert, und Unterstützung für Vouch- und LDAP-Authentifizierung ist verfügbar. Wenn die delegierte Authentifizierung verwendet wird, ist es wichtig, einen Seed-Benutzer korrekt festzulegen, mit dem man sich anmelden kann.

ElasticSearch muss bereits installiert und betriebsbereit sein. Diese Rolle wurde unter Verwendung der Ansible-Elasticsearch-Rolle getestet, die von Ansible Galaxy importiert werden kann.

Folgende Variablen werden empfohlen:

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

Beachte, dass ElasticSearch 6.x von TheHive nicht unterstützt wird. Derzeit unterstützt der Master-Branch des Ansible-Elasticsearch-Moduls 5.x.

Folgende Variablen müssen mindestens gesetzt werden:

  • thehive_url (vollständiger Domänenname, unter dem TheHive zugänglich sein wird)
  • thehive_crypto_secret (siehe defaults/main.yml für Anweisungen zur Generierung)

Eine Beispielkonfiguration, die TheHive automatisch befüllt und LDAP-Authentifizierung sowie Cortex verwendet, ist unten aufgeführt:

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-Authentifizierung

Diese Rolle unterstützt die Authentifizierung über einen Vouch (früher als Lasso bekannt) Proxy. Das erlaubt OAUTH-Authentifizierung über Anbieter wie Okta.

Bei der Verwendung von Vouch ist es wichtig, thehive_http_addr auf 127.0.0.1 zu setzen. Da Vouch Cookies verwendet, um Authentifizierungsinformationen an die Anwendung zurückzugeben, müssen sowohl Ihr Vouch-Proxy als auch die TheHive-Website unter einem gemeinsamen Domainnamen (z. B. vouch.corp und thehive.corp) liegen.

Rollenvariablen

# Ob das TheHive RPM-Repository installiert werden soll.
# Das ist normalerweise so gewünscht, es sei denn, Sie verwenden Ihr eigenes RPM-Repository.
thehive_install_repo: true

# Die Version von TheHive, die installiert und gesperrt werden soll.
thehive_version: 3.2.1

# Beachten Sie, dass die Zuordnungen und Seed-Daten von der Schema-Version abhängen.
# Wenn Sie eine Version von TheHive installieren, die einen anderen Indexnamen verwendet,
# müssen die Zuordnungen und Datendateien aktualisiert werden.
thehive_index: thehive_14

# Die URL von TheHive.
thehive_url: localhost

# Ob eine Nginx-Instanz als Proxy installiert werden soll.
thehive_install_nginx: true

# Ob der Nginx-Proxy konfiguriert werden soll.
thehive_configure_nginx: true

# Referenzierte Dateien werden in jede Nginx-Serverkonfiguration aufgenommen.
thehive_nginx_includes: []

# Optional SSL mit Nginx verwenden.
thehive_nginx_ssl:
  enabled: false
  certificate: ""
  key: ""
  #cabundle: bereitstellen, wenn ein Bundle verwendet wird.

# Der Port, auf dem TheHive lauschen wird. Diese Variable kann auch beim Einsatz
# des Nginx-Proxys geändert werden.
thehive_http_port: 9000

# Die IP-Adresse, an die TheHive gebunden sein soll. Dies kann im Allgemeinen so belassen werden.
# Es muss jedoch auf 127.0.0.1 gesetzt werden, wenn über einen Proxy authentifiziert wird.
thehive_http_addr: "0.0.0.0"

# Pflicht. Generieren Sie einen Schlüssel wie folgt:
# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1
thehive_secret: ""

# Standardmäßig erfordert TheHive manuelle Schritte zur Konfiguration.
# Sie können optional eine vorab konfigurierte Zuordnung und Seed-Daten laden,
# die TheHive sofort einsatzbereit macht.
thehive_load_seed_data: true

# Name des initialen Benutzers, der erstellt werden soll. Beachten Sie, dass Sie, wenn Sie Vouch oder LDAP für
# die Authentifizierung verwenden, dies auf einen gültigen Benutzernamen in Ihrem Verzeichnis setzen müssen.
# TheHive erstellt keine Benutzer bei der ersten Anmeldung.
thehive_seed_initial_username: "admin"

# Optional Vouch-Authentifizierung verwenden (z. B. für Google-Authentifizierung, Okta usw.)
thehive_auth_vouch:
  enabled: false
  url: ""
  logon_header: THEHIVE_USER

# Optional LDAP-Authentifizierung verwenden.
thehive_auth_ldap:
  enabled: false
  servers: []
  use_ssl: ""
  bind_dn: ""
  bind_pw: ""
  search_base: ""
  username_attribute: "cn"

# ElasticSearch-Konfiguration. Wenn die empfohlene ES-Konfiguration verwendet wird, muss dies
# nicht geändert werden.
thehive_es:
  index: thehive
  cluster: thehive
  endpoint: 127.0.0.1:9300

# Pakete, die zusammen mit TheHive installiert werden.
thehive_packages:
  - java-1.8.0-openjdk
  - python-pip
  - unzip
  - git
  - thehive-{{ thehive_version }}

# Pakete, die installiert werden, wenn der Nginx-Proxy verwendet wird.
# libsemanage-python ist notwendig für selinux.
thehive_nginx_packages:
  - nginx
  - libsemanage-python
Über das Projekt

Ansible Role for TheHive, an excellent incident response tool.

Installieren
ansible-galaxy install rhythmictech.ansible_thehive
GitHub Repository
Lizenz
mit
Downloads
76