
CorelightまたはZeek Elastic Common Schemaテンプレート
このリポジトリには、Corelight または Zeek のログを Elastic Common Schema (ECS) の命名標準に変換し、Elastic Stack デプロイメントに格納するために必要なものがすべて含まれています。2019年に Elastic Common Schema と同じ年に最初にリリースされたこのリポジトリは、今もなお積極的にメンテナンスされ、更新されています。
200を超えるさまざまなログとメトリクス をサポートしており、すべての環境をサポートしつつ、各固有の環境をサポートするために必要なオプションや望ましいオプションをカスタマイズできるように設計されています。
すべての環境をサポートすることに多大な努力が払われると同時に、各固有かつ個別のデプロイメントに合わせて必要なオプションと望ましいオプションをカスタマイズできるようになっています。
このリポジトリは主に次の2つの要素で構成されています:
ファイルと自動化スクリプトは、BSD ライセンスの下でオープンソースです。詳細は COPYINGを参照してください。
スクリプトを実行する前に、すべてのセクションをお読みください。
corelight_ecs.py スクリプトを使用すること。ファイル全体にはスクリプトによって置き換えられる数百の変数があるため、テンプレートとパイプラインを手動でインストールすることはサポートされていません。インデックス設定、マッピング、エイリアス、ILM ポリシーのカスタマイズを推奨します。そのため、スクリプトは多くの種類のカスタマイズをサポートできるように設計されています(詳細は下記)。
必要ないカスタマイズも多いですが、ないよりはあった方が良いでしょう。独自のシャード数/レプリカ数と ILM ポリシーを使用することを常にお勧めしますが、それ以外はあまりカスタマイズする必要はないはずです。ただし、すべてのデプロイメントでインデックステンプレート、インジェストパイプライン、Logstash パイプラインの多くの項目を通常どおりカスタマイズしている場合は、その機能を引き続き利用できます。
詳細については、以下の各セクションを参照してください。
データストリームにカスタムのインデックス名/パターンを選択したい場合は、スクリプトが確認を求めます。これにより、独自のインデックス命名規則を選択できます。たとえば、次のように選択できます:
logs-corelight.conn-defaultecs-corelight.conn-defaultcall_it_what_you_will.conn-defaultlogs-corelight.conn-remotesite1その後、インジェストパイプラインまたは Logstash パイプラインを選択した場合は、必要なすべてのインデックステンプレートも更新されます。
Corelight のログは他のすべてのタイプの ECS データと連携し、logs-* などの Kibana データビュー内から使用できるように設定されているため、デフォルトを変更することはお勧めしません。
マルチテナント環境(MSSP/CSSP や異なるネットワークなど)では、スクリプトのプロンプトでデータストリームの組織部分を選択できるだけでなく(上記の3つの例では default の部分)、filebeat や他の方法で data_stream.namespace を設定するか、パイプラインをフックする場合、パイプラインはその変数がすでに設定されている場合に上書きしないよう尊重するように設定されています。namespace が Elasticsearch がインデックス名として許可する値に設定されていることを確認してください(時々気づきにくい一般的な間違いです)。
使用されるインデックスパターンと各ログのデフォルトは Google Sheet で確認できます。また、各ログの event.category、event.kind などの追加情報も一部記載されています。
各インデックステンプレートは、インデックス設定を上書きするために使用できるコンポーネントテンプレートを呼び出すように指定されています。 したがって、独自のインデックス設定を使用するためにリポジトリのインデックステンプレートを変更する必要はありません。
以下のコンポーネントテンプレートを作成するか、インストール後に変更してください。変更可能なコンポーネントテンプレートの名前は次のとおりです:
すべてのログをカバーする場合(5つのカテゴリに分割):
corelight-ecs-component-metric_log-base-settings@customcorelight-ecs-component-parse_failures-base-settings@customcorelight-ecs-component-protocol_log-base-settings@customcorelight-ecs-component-system_log-base-settings@customcorelight-ecs-component-unknown_log-base-settings@custom上記に加えて、より具体的な設定が必要になることが多い個別のログをカバーする場合:
corelight-ecs-component-protocol_log-conn-base-settings@customcorelight-ecs-component-protocol_log-dns-base-settings@customcorelight-ecs-component-protocol_log-files-base-settings@customcorelight-ecs-component-protocol_log-http-base-settings@customcorelight-ecs-component-protocol_log-smb-base-settings@customcorelight-ecs-component-protocol_log-smtp-base-settings@customcorelight-ecs-component-protocol_log-ssl-base-settings@customcorelight-ecs-component-protocol_log-suricata_corelight-base-settings@customcorelight-ecs-component-protocol_log-syslog-base-settings@customcorelight-ecs-component-protocol_log-various-base-settings@customcorelight-ecs-component-protocol_log-weird-base-settings@customcorelight-ecs-component-protocol_log-x509-base-settings@custom各インデックステンプレートは、フィールドタイプやフィールド名などのインデックスマッピングを上書きするために使用できるコンポーネントテンプレートを呼び出すように指定されています。 したがって、独自のインデックスマッピングを使用するためにリポジトリのインデックステンプレートを変更する必要はありません。
以下のコンポーネントテンプレートを作成するか、インストール後に変更してください。変更可能なコンポーネントテンプレートの名前は次のとおりです:
すべてのログをカバーする場合(5つのカテゴリに分割):
corelight-ecs-component-metric_log-mappings@customcorelight-ecs-component-parse_failures-mappings@customcorelight-ecs-component-protocol_log-mappings@customcorelight-ecs-component-system_log-mappings@customcorelight-ecs-component-unknown_log-mappings@custom上記に加えて、より具体的な設定が必要になることが多い個別のログをカバーする場合:
corelight-ecs-component-protocol_log-conn-mappings@customcorelight-ecs-component-protocol_log-dns-mappings@customcorelight-ecs-component-protocol_log-files-mappings@customcorelight-ecs-component-protocol_log-http-mappings@customcorelight-ecs-component-protocol_log-smb-mappings@customcorelight-ecs-component-protocol_log-smtp-mappings@customcorelight-ecs-component-protocol_log-ssl-mappings@customcorelight-ecs-component-protocol_log-suricata_corelight-mappings@customcorelight-ecs-component-protocol_log-syslog-mappings@customcorelight-ecs-component-protocol_log-various-mappings@customcorelight-ecs-component-protocol_log-weird-mappings@customcorelight-ecs-component-protocol_log-x509-mappings@custom各インデックステンプレートは、独自の保持期間を設定するために ILM ポリシーを上書きできるコンポーネントテンプレートを呼び出すように指定されています。 したがって、独自の ILM ポリシーを使用するためにリポジトリのインデックステンプレートを変更する必要はありません。
以下のコンポーネントテンプレートを作成するか、インストール後に変更してください。変更可能なコンポーネントテンプレートの名前は次のとおりです:
すべてのログをカバーする場合(5つのカテゴリに分割):
corelight-ecs-component-metric_log-ilm-settings@customcorelight-ecs-component-parse_failures-ilm-settings@customcorelight-ecs-component-protocol_log-ilm-settings@customcorelight-ecs-component-system_log-ilm-settings@customcorelight-ecs-component-unknown_log-ilm-settings@customこれらは、上記に加えて、より具体的な設定が必要になることが多い個別のログをカバーします:
corelight-ecs-component-protocol_log-conn-ilm-settings@customcorelight-ecs-component-protocol_log-dns-ilm-settings@customcorelight-ecs-component-protocol_log-files-ilm-settings@customcorelight-ecs-component-protocol_log-http-ilm-settings@customcorelight-ecs-component-protocol_log-smb-ilm-settings@customcorelight-ecs-component-protocol_log-smtp-ilm-settings@customcorelight-ecs-component-protocol_log-ssl-ilm-settings@customcorelight-ecs-component-protocol_log-suricata_corelight-ilm-settings@customcorelight-ecs-component-protocol_log-syslog-ilm-settings@customcorelight-ecs-component-protocol_log-various-ilm-settings@customcorelight-ecs-component-protocol_log-weird-ilm-settings@customcorelight-ecs-component-protocol_log-x509-ilm-settings@custom各インデックステンプレートは、インデックスエイリアスを上書きするために使用できるコンポーネントテンプレートを呼び出すように指定されています。 したがって、独自のインデックスエイリアスを使用するためにリポジトリのインデックステンプレートを変更する必要はありません。
以下のコンポーネントテンプレートを作成するか、インストール後に変更してください。変更可能なコンポーネントテンプレートの名前は次のとおりです: