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
ansible-galaxy install rhythmictech.ansible_thehive