IONIX 攻撃対象領域の管理ログを収集する
このドキュメントでは、Webhook を使用してログを Google Security Operations に push するように IONIX 攻撃対象領域の管理 を構成する方法について説明します。
IONIX は、組織のインターネットに接続されたアセットとデジタル サプライ チェーン全体でセキュリティの脆弱性を検出、評価、検証する外部攻撃対象領域管理(EASM)プラットフォームです。IONIX は、DNS の検出結果、PKI の問題、クラウドの露出、脆弱性に関するアクション アイテムを提供し、優先順位付けされた修復ワークフローを提供します。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
- IONIX 攻撃対象領域の管理は、ログ配信用の HTTP POST プッシュをサポートしています
- Google Cloud コンソールへのアクセス(API キーの作成用)
- [Settings > Integrations] への管理者アクセス権を持つ有効な IONIX ポータル アカウント
Google SecOps で Webhook フィードを作成する
フィードを作成する
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで、[単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
IONIX ASM Logs)。 - [Source type] として [Webhook] を選択します。
- [ログタイプ] として [IONIX] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- 分割区切り文字(省略可): 複数行のイベントを分割する区切り文字を入力します。一般的な値:
\n- 改行区切り文字(NDJSON で最も一般的)- 各リクエストに単一のイベントが含まれている場合は空のままにします
- アセットの名前空間: アセットの名前空間
- Ingestion labels: このフィードのイベントに適用されるラベル
- 分割区切り文字(省略可): 複数行のイベントを分割する区切り文字を入力します。一般的な値:
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
秘密鍵を生成して保存する
フィードを作成したら、認証用のシークレット キーを生成する必要があります。
- フィードの詳細ページで、[シークレット キーを生成] をクリックします。
- ダイアログに秘密鍵が表示されます。
- 秘密鍵をコピーして安全に保存します。
フィード エンドポイントの URL を取得する
- フィードの [詳細] タブに移動します。
- [エンドポイント情報] セクションで、[フィード エンドポイント URL] をコピーします。
URL の形式は次のとおりです。
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateまたは
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateこの URL は次の手順で使用します。
[完了] をクリックします。
Google Cloud API キーを作成する
Google SecOps では、認証に API キーが必要です。Google Cloud コンソールで制限付き API キーを作成します。
API キーを作成する
- Google Cloud コンソールの [認証情報] ページに移動します。
- プロジェクト(Google SecOps インスタンスに関連付けられているプロジェクト)を選択します。
- [認証情報を作成] > [API キー] をクリックします。
- API キーが作成され、ダイアログに表示されます。
- [API キーを編集] をクリックして、キーを制限します。
API キーを制限する
- [API キー] 設定ページで、次の操作を行います。
- 名前: わかりやすい名前を入力します(例:
Google SecOps Webhook API Key)。
- 名前: わかりやすい名前を入力します(例:
- [API の制限] で次の操作を行います。
- [キーを制限] を選択します。
- [API を選択] プルダウンで、[Google SecOps API](または [Chronicle API])を検索して選択します。
- [保存] をクリックします。
- ページ上部の [API キー] フィールドから API キーの値をコピーします。
- API キーを安全に保存します。
IONIX 攻撃対象領域の管理 Webhook を構成する
IONIX は、統合フレームワークを使用して、HTTP POST 経由でセキュリティ イベントデータを外部エンドポイントにプッシュすることをネイティブにサポートしています。この統合は IONIX ポータルで構成され、Splunk HEC 統合と同じメカニズムを使用して、Google SecOps Webhook エンドポイントにデータをプッシュするように調整されています。
Webhook URL を作成する
Google SecOps エンドポイント URL と API キーを 1 つの URL に結合します。
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
IONIX ポータルで統合を構成する
- IONIX ポータル(
https://<your-portal-name>.ionix.comなど)にログインします。 - [設定] > [インテグレーション] に移動します。
- [Splunk Integration > Settings] をクリックします。
次の構成情報を提供してください。
- HEC トークン: Google SecOps Webhook フィードから生成された秘密鍵を入力します。
Splunk サーバー: API キーがクエリ パラメータとして付加された完全な Google SecOps Webhook エンドポイント URL を入力します。形式は次のようにします。
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY>
プッシュ間隔を構成して、IONIX がエンドポイントにデータを送信する頻度(60 分ごとなど)を設定します。
環境に関連する追加のデータ フィールドに入力します。
[保存] をクリックします。
統合スイッチを [有効] に切り替えて、統合を有効にします。
データは、1 回のプッシュ間隔サイクル内で Google SecOps に表示され始めます。最初のデータ配信には最長で 1 時間かかることがあります。
代替方法: カスタム スクリプトで IONIX REST API を使用する
ネイティブの Splunk HEC 統合が要件を満たしていない場合は、IONIX REST API を使用してデータを取得し、Google SecOps に転送できます。
IONIX API キーを生成する
- IONIX ポータルにログインします。
- [API 設定] をクリックします。
- トークンの名前を指定します。
- トークンタイプを選択します。
- 読み取り専用(データの収集に推奨)
- 読み取り / 書き込み
- トークンの有効期限を設定します。
- [トークンの作成] をクリックします。
- 生成されたトークンをコピーし、安全に保存します。
IONIX API エンドポイント
次の API エンドポイントを使用して、IONIX からセキュリティ データを取得します。
| エンドポイント | 説明 |
|---|---|
/api/v1/remediation/action-items/open/ |
未対応のアクション アイテム(ドメイン、ルート エンドポイント) |
/api/v1/remediation/action-items/all/detailed |
詳細情報を含むすべてのアクション アイテム |
/api/v1/discovery/org-assets/export-discovery-evidence |
アセットのリスクと検出の証拠 |
/api/v1/discovery/org-assets |
組織のアセット(first_seen 日付を含む) |
/api/v1/tests |
セキュリティ テストの結果 |
API リクエストの例
curl -X GET "https://api.portal.ionix.io/api/v1/remediation/action-items/all/detailed" \ -H "Authorization: Token <IONIX_API_KEY>" \ -H "Content-Type: application/json"
Google SecOps にデータを転送する
IONIX API からデータを取得したら、Google SecOps Webhook エンドポイントに転送します。
curl -X POST "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>" \ -H "Content-Type: application/json" \ -d @ionix_events.json
認証方法のリファレンス
Google SecOps ウェブフック フィードは、複数の認証方法をサポートしています。ベンダーがサポートしている方法を選択します。
方法 1: カスタム ヘッダー(推奨)
ベンダーがカスタム HTTP ヘッダーをサポートしている場合は、この方法を使用するとセキュリティが強化されます。
リクエストの形式:
POST <ENDPOINT_URL> HTTP/1.1 Content-Type: application/json x-goog-chronicle-auth: <API_KEY> x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
メリット:
- API キーとシークレットが URL に表示されない
- より安全(ヘッダーがウェブサーバーのアクセスログに記録されない)
- ベンダーがサポートしている場合の推奨方法
方法 2: クエリ パラメータ
ベンダーがカスタム ヘッダーをサポートしていない場合は、認証情報を URL に追加します。
URL 形式:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>- 例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...リクエストの形式:
POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1 Content-Type: application/json { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
デメリット:
- URL に認証情報が表示される
- ウェブサーバーのアクセスログに記録される場合があります
- ヘッダーよりも安全性が低い
方法 3: ハイブリッド(URL + ヘッダー)
一部の構成では、URL に API キー、ヘッダーにシークレット キーを使用します。
リクエストの形式:
POST <ENDPOINT_URL>?key=<API_KEY> HTTP/1.1 Content-Type: application/json x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
認証ヘッダー名
Google SecOps は、認証に次のヘッダー名を使用します。
API キーの場合:
x-goog-chronicle-auth(推奨)X-Goog-Chronicle-Auth(大文字と小文字を区別しない)
秘密鍵の場合:
x-chronicle-auth(推奨)X-Chronicle-Auth(大文字と小文字を区別しない)
UDM マッピング テーブル
IONIX ログフィールドが Google Security Operations Unified Data Model(UDM)フィールドにマッピングされる方法については、サポートされているデフォルト パーサーのリファレンスで IONIX ログタイプを検索してください。
変更ログ
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。