rhythmictech.ansible_thehive
ansible-thehive
説明
TheHiveをデプロイおよび構成するためのツールです。TheHiveは素晴らしいオープンソースのインシデントレスポンスツールであり、RPMに基づいてインストールされます。オプションでElasticSearchインデックスを事前にシードすることもでき、TheHiveを実行するための手間のかかる手順を省くことができます。
ElasticSearchは別途インストールする必要があります。このロールは、Elasticが提供するansibleロールでテストされています。サンプル設定はドキュメントに含まれています。
この設定はTheHiveのほとんどの使用例をカバーしていますが、プルリクエストや改善提案は歓迎します。
要件
- Ansible 2.0以上
- CentOS 7
- ElasticSearch 5.x
使用法
専用サーバーにインストールすることをお勧めしますが、ElasticSearchとCortexはTheHiveと一緒に安全にインストールできます。オプションでNginxプロキシがデフォルトで有効になっており、VouchおよびLDAP認証のサポートもあります。委任認証を使用する場合、ログインできるシードユーザーを正確に設定することが重要です。
ElasticSearchはすでにインストールされて実行されている必要があります。このロールは、Ansible Galaxyからインポートできるansible-elasticsearchロールを使用してテストされています。
以下の変数を推奨します:
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"]
ElasticSearch 6.xはTheHiveではサポートされていない点に注意してください。現在、ansible-elasticsearchモジュールのマスターブランチは5.xをサポートしています。
以下の変数は最低限設定する必要があります:
- thehive_url(TheHiveにアクセス可能な完全修飾ドメイン名)
- thehive_crypto_secret(生成方法については
defaults/main.yml
を参照)
LDAP認証とCortexを使用してTheHiveを自動的にシードするサンプル設定は以下に含まれています:
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認証
このロールはVouch(旧Lasso)プロキシを介した認証をサポートしています。これにより、Oktaなどの提供者を通じてOAUTH認証を行うことができます。
Vouchを使用する場合は、thehive_http_addr
を127.0.0.1に設定することが重要です。Vouchは認証情報をアプリケーションに返すためにクッキーを使用するため、VouchプロキシとTheHiveを共通のドメイン名(例:vouch.corpおよびthehive.corp)で配置する必要があります。
ロール変数
# TheHive RPMリポジトリをインストールするかどうか。
# 自分のRPMリポジトリを使用していない限り、通常はこれを真に設定します。
thehive_install_repo: true
# ロックしてインストールするTheHiveのバージョン
thehive_version: 3.2.1
# マッピングとシードデータはスキーマバージョンに依存することに注意してください。
# 異なるインデックス名を使用するTheHiveのバージョンをインストールする場合、
# マッピングとデータファイルが更新される必要があります。
thehive_index: thehive_14
# TheHiveのURL。
thehive_url: localhost
# Nginxインスタンスをプロキシとしてインストールするかどうか
thehive_install_nginx: true
# Nginxプロキシを構成するかどうか
thehive_configure_nginx: true
# 参照されるファイルは各nginxサーバー設定に含まれます
thehive_nginx_includes: []
# オプションでNginxでSSLを使用
thehive_nginx_ssl:
enabled: false
certificate: ""
key: ""
#cabundle: バンドルを使用する場合は提供
# TheHiveがリッスンするポート。この変数はnginxプロキシを使用している場合でも変更可能です。
thehive_http_port: 9000
# TheHiveがバインドするIPアドレス。一般的には、そのままにしておくことができますが、
# プロキシを介して認証を行う場合、127.0.0.1に設定する必要があります。
thehive_http_addr: "0.0.0.0"
# 必須です。以下のようにキーを生成してください:
# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1
thehive_secret: ""
# デフォルトでは、TheHiveの設定には手動の手順が必要です。
# 事前に設定されたマッピングとシードデータを読み込むことで、
# TheHiveをすぐに使用可能にすることができます。
thehive_load_seed_data: true
# 初期ユーザー名の名前。VouchやLDAPで認証する場合は、ディレクトリ内の有効なユーザー名に設定する必要があります。
# TheHiveは初回ログイン時にユーザーを作成しません。
thehive_seed_initial_username: "admin"
# オプションでVouch認証を使用(例:Google認証、Oktaなど)
thehive_auth_vouch:
enabled: false
url: ""
logon_header: THEHIVE_USER
# オプションでLDAP認証を使用。
thehive_auth_ldap:
enabled: false
servers: []
use_ssl: ""
bind_dn: ""
bind_pw: ""
search_base: ""
username_attribute: "cn"
# ElasticSearch設定。推奨されるES設定を使用している場合、この設定を変更する必要はありません。
thehive_es:
index: thehive
cluster: thehive
endpoint: 127.0.0.1:9300
# TheHiveと一緒にインストールされるパッケージ
thehive_packages:
- java-1.8.0-openjdk
- python-pip
- unzip
- git
- thehive-{{ thehive_version }}
# nginxプロキシが使用される場合にインストールされるパッケージ。
# libsemanage-pythonはSELinuxに必要です。
thehive_nginx_packages:
- nginx
- libsemanage-python