rhythmictech.ansible_thehive

ansible-thehive

Opis

Deployuje i konfiguruje TheHive, doskonałe narzędzie do reakcji na incydenty w modelu open source. Instalacja opiera się na RPM i może opcjonalnie wstępnie załadować indeks ElasticSearch, eliminując niektóre uciążliwe kroki manualne w celu uruchomienia TheHive.

Należy zainstalować ElasticSearch osobno. Rola jest testowana z wykorzystaniem rolę ansible dostarczoną przez Elastic. Przykładowa konfiguracja jest zawarta w dokumentacji.

To powinno pokryć większość przypadków użycia TheHive, ale przyjmujemy zgłoszenia PR oraz sugerowane poprawki.

Wymagania

  • Ansible w wersji 2.0 lub wyższej
  • CentOS 7
  • ElasticSearch w wersji 5.x

Użycie

Zaleca się instalację na dedykowanym serwerze, chociaż zarówno ElasticSearch, jak i Cortex mogą być bezpiecznie zainstalowane razem z TheHive. Opcjonalny proxy Nginx jest domyślnie włączony, a wsparcie jest dostępne dla uwierzytelniania Vouch i LDAP. Jeśli używasz zewnętrznego uwierzytelniania, ważne jest, aby poprawnie ustawić użytkownika z początkowym dostępem, za pomocą którego można się zalogować.

ElasticSearch musi być już zainstalowany i uruchomiony. Ta rola jest testowana za pomocą roli ansible-elasticsearch, którą można zaimportować z Ansible Galaxy.

Zaleca się ustawienie następujących zmiennych:

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

Należy pamiętać, że ElasticSearch 6.x nie jest obsługiwany przez TheHive. Obecnie gałąź główna modułu ansible-elasticsearch obsługuje wersję 5.x.

Następujące zmienne muszą być ustawione przynajmniej:

  • thehive_url (fqdn, pod którym będzie dostępny TheHive)
  • thehive_crypto_secret (szczegóły dotyczące generowania znajdują się w defaults/main.yml)

Przykładowa konfiguracja, która automatycznie załadowuje TheHive i używa uwierzytelniania LDAP oraz Cortex znajduje się poniżej:

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

Uwierzytelnianie Vouch

Ta rola obsługuje uwierzytelnianie za pośrednictwem proxy Vouch (wcześniej znanego jako Lasso). Pozwala to na realizację uwierzytelniania OAUTH za pomocą dostawców takich jak Okta.

Podczas korzystania z Vouch, kluczowe jest ustawienie thehive_http_addr na 127.0.0.1. Ponieważ Vouch używa ciasteczek do przekazywania informacji o uwierzytelnieniu do aplikacji, musisz umieścić zarówno proxy Vouch, jak i stronę TheHive pod wspólną nazwą domeny (np. vouch.corp i thehive.corp).

Zmienne roli

# Czy repozytorium TheHive RPM powinno być zainstalowane.
# Zazwyczaj jest to to, czego chcesz, chyba że używasz własnego repozytorium RPM.
thehive_install_repo: true

# Wersja TheHive do zablokowania i zainstalowania
thehive_version: 3.2.1

# Należy pamiętać, że mapowania i dane wstępne zależą od wersji schematu.
# Jeśli instalujesz wersję TheHive, która używa innej nazwy indeksu,
# mapowania i pliki danych muszą być zaktualizowane.
thehive_index: thehive_14

# Adres URL TheHive.
thehive_url: localhost

# Czy powinno być zainstalowane wystąpienie nginxa jako proxy
thehive_install_nginx: true

# Czy skonfigurować proxy nginx
thehive_configure_nginx: true

# Wymienione pliki będą dołączane w każdej konfiguracji serwera nginx
thehive_nginx_includes: []

# Opcjonalnie użyj SSL z Nginx
thehive_nginx_ssl:
  enabled: false
  certificate: ""
  key: ""
  #cabundle: podaj, jeśli korzystasz z pakietu

# Port, na którym TheHive będzie nasłuchiwać. Ta zmienna może być zmieniana nawet przy użyciu
# proxy nginx.
thehive_http_port: 9000

# Adres IP, do którego TheHive powinien się przywiązać. Zwykle można to zostawić jak jest. Jednak
# należy to ustawić na 127.0.0.1 podczas uwierzytelniania przez proxy
thehive_http_addr: "0.0.0.0"

# Obowiązkowe. Wygeneruj klucz w ten sposób:
# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1
thehive_secret: ""

# Domyślnie, TheHive wymaga ręcznych kroków w celu skonfigurowania.
# Możesz opcjonalnie załadować wstępnie skonfigurowaną mapę i dane wstępne, co sprawia,
# że TheHive jest natychmiast użyteczny.
thehive_load_seed_data: true

# Nazwa początkowego użytkownika do utworzenia. Należy pamiętać, że jeśli korzystasz z vouch lub LDAP do
# uwierzytelniania, musisz ustawić to na ważną nazwę użytkownika w swoim katalogu.
# TheHive nie tworzy użytkowników przy pierwszym logowaniu.
thehive_seed_initial_username: "admin"

# Opcjonalnie użyj uwierzytelnienia Vouch (np. dla uwierzytelnienia Google, Okta itp.)
thehive_auth_vouch:
  enabled: false
  url: ""
  logon_header: THEHIVE_USER

# Opcjonalnie użyj uwierzytelnienia LDAP.
thehive_auth_ldap:
  enabled: false
  servers: []
  use_ssl: ""
  bind_dn: ""
  bind_pw: ""
  search_base: ""
  username_attribute: "cn"

# Konfiguracja ElasticSearch. Jeśli korzystasz z zalecanej konfiguracji ES, nie
# trzeba tego zmieniać.
thehive_es:
  index: thehive
  cluster: thehive
  endpoint: 127.0.0.1:9300

# Pakiety, które będą instalowane wraz z TheHive
thehive_packages:
  - java-1.8.0-openjdk
  - python-pip
  - unzip
  - git
  - thehive-{{ thehive_version }}

# Pakiety, które będą instalowane, jeśli używane jest proxy nginx.
# libsemanage-python jest niezbędny dla selinux.
thehive_nginx_packages:
  - nginx
  - libsemanage-python
O projekcie

Ansible Role for TheHive, an excellent incident response tool.

Zainstaluj
ansible-galaxy install rhythmictech.ansible_thehive
Licencja
mit
Pobrania
76