GitHub でコミュニティ パーサーを実装する
Google Security Operations は、GitHub のオープンソース リポジトリを使用して、パーサーの開発とメンテナンスに関するコミュニティ、パートナー、お客様のコラボレーションを可能にします。 このリポジトリにより、コミュニティの貢献によって Google SecOps で使用できるパーサーのセットを拡張し、維持できます。
目標
- コミュニティの貢献を可能にする: 外部ユーザー、パートナー、お客様が、新しいコミュニティ パーサーや更新されたコミュニティ パーサーを提供できるようにします。
- 導入を促進する: ユーザーがコミュニティ パーサーをカスタム パーサー インスタンスに導入するためのメカニズムを提供します。
- 品質を確保する: リリース前にすべての貢献のセキュリティと機能品質を 検証するための厳格な審査とテストのフレームワークを維持します。
始める前に
chronicle.adminIAM ロールの一部であるchronicle.parsers.create権限があることを確認します。- コミュニティ パーサーに貢献するには、参加者ライセンス契約(CLA)に署名します。詳細については、参加者ライセンス契約に署名するをご覧ください。
リポジトリの構成
すべてのパーサーは、GitHub リポジトリの
Content Hub 領域にある最上位の parsers/ ディレクトリに整理されています。各ログソースには、専用のサブディレクトリがあります。
content-hub/
└── content/
└── parsers/
├── third_party/
│ ├── community/
│ │ ├── VENDOR1_PRODUCT1/cbn/
│ │ └── VENDOR2_PRODUCT2/cbn/
│ ├── partnerA/
│ │ └── VENDOR1_PRODUCT1/cbn/
│ └── partnerB/
│ └── VENDOR1_PRODUCT1/cbn/
...
フォルダの命名規則
third_party/community/parser リポジトリ内のすべてのサブディレクトリのフォルダ命名規則は厳密に定義されています。これらの標準により、システムの互換性、お客様の検出可能性、Google SecOps の内部規則との整合性が確保されます。
GitHub でコミュニティ パーサーを作成する
次のセクションでは、コミュニティ パーサーの作成と管理の方法について説明します。
コミュニティ パーサーを見つけてダウンロードする
- 必要なログタイプのフォルダに移動します。
metadata.jsonファイルを確認して、パーサーでサポートされているログソースに関連する参照がないか確認します。- CBN 構文でコア パーサー ロジックを含む
parser.confファイルをダウンロードします。
Google SecOps にコミュニティ パーサーをデプロイする
次の手順では、コミュニティ パーサーをコピーして独自のカスタム パーサー インスタンスに変換する方法について説明します。デプロイすると、パーサーは維持するカスタム パーサーとして動作します。
- Google SecOps インスタンスで、ダウンロードした
parser.confファイルの内容をコピーして、[パーサーを作成] ページの対応するフィールドに貼り付けます。
カスタム パーサーを検証する
Google SecOps インスタンスにパーサーをデプロイすると、組み込みのカスタム パーサー検証が自動的にトリガーされ、パイプラインの障害や正規化の問題が発生する可能性がないか確認されます。これらの検証に失敗した場合は、パーサー ロジックを修正するか、特定のユースケースに合わせてパーサーのコピーを変更する必要があります。修正や機能強化をコミュニティ リポジトリに提供し、オープンソース コミュニティに積極的に参加することをおすすめします。
GitHub で新しいパーサーを提供したり、既存のパーサーを更新したりする方法について詳しくは、GitHub パーサーの手順をご覧ください。
インテグレーションで問題が発生した場合は、GitHub でケースを開いてください。コミュニティ パーサーは Google サポートの対象外です。
さらにサポートが必要な場合コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。