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ファイルの内容を、[SIEM 設定] の [パーサーの作成] ページの対応するフィールドにアップロードまたは貼り付けます。
カスタム パーサーを検証する
Google SecOps インスタンスにパーサーをデプロイすると、組み込みのカスタム パーサー検証が自動的にトリガーされ、パイプラインの障害や正規化の問題の可能性がチェックされます。これらの検証に失敗した場合は、パーサー ロジックを修正するか、特定のユースケースに合わせてパーサーのコピーを変更する必要があります。修正や機能強化をコミュニティ リポジトリに提供し、オープンソース コミュニティに積極的に参加することをおすすめします。
GitHub で新しいパーサーを追加したり、既存のパーサーを更新したりする方法について詳しくは、GitHub のパーサーの手順をご覧ください。
統合で問題が発生した場合は、GitHub でケースを登録してください。コミュニティ パーサーは Google サポートの対象外です。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。