IONIX 攻撃対象領域の管理ログを収集する
このドキュメントでは、Webhook を使用して Google Security Operations にログを push するように IONIX 攻撃対象領域の管理 を構成する方法について説明します。
IONIX は、組織のインターネットに接続されたアセットとデジタル サプライ チェーン全体でセキュリティ エクスポージャーを検出、評価、検証する外部攻撃対象領域管理(EASM)プラットフォームです。IONIX は、DNS の検出結果、PKI の問題、クラウドの露出、脆弱性に関するアクション アイテムを提供し、優先順位付けされた修復ワークフローを提供します。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
- IONIX 攻撃対象領域の管理は、ログ配信用の HTTP POST push をサポートしています。
- Google Cloud コンソールへのアクセス(API キーの作成用)
- [Settings] > [Integrations] への管理者アクセス権を持つ、有効な IONIX ポータル アカウント
Google SecOps で Webhook フィードを作成する
フィードを作成する
- [設定] > [データ管理] > [フィード] に移動します。SIEM のみのプラットフォームを使用している場合は、[設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで、[単一のフィードを構成する] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
IONIX ASM Logs)。 - [Source type] として [Webhook] を選択します。
- [ログタイプ] として [IONIX] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- 分割区切り文字(省略可): 複数行のイベントを分割する区切り文字を入力します。一般的な値:
\n- 改行区切り文字(NDJSON で最も一般的)- 各リクエストに 1 つのイベントが含まれている場合は、空のままにします
- Asset namespace: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- 分割区切り文字(省略可): 複数行のイベントを分割する区切り文字を入力します。一般的な値:
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
秘密鍵を生成して保存する
フィードを作成したら、認証用の秘密鍵を生成する必要があります。
- フィードの詳細ページで、[Generate Secret Key] をクリックします。
- ダイアログに秘密鍵が表示されます。
- 秘密鍵をコピーして安全に保存します。
フィード エンドポイント URL を取得する
- フィードの [詳細] タブに移動します。
- [エンドポイント情報] セクションで、[フィードのエンドポイント URL] をコピーします。
URL の形式は次のとおりです。
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:importここで、
{region}は Google SecOps インスタンスのリージョン(us、europe、asia-southeast1など)、{parent}はprojects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>形式のリソースパスです。次の手順で使用するために、この 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 エンドポイントにデータを push するように調整されています。
Webhook URL を作成する
Google SecOps エンドポイント URL と API キーを 1 つの URL に結合します。
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>例:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
IONIX ポータルで統合を構成する
- IONIX ポータル(
https://<your-portal-name>.ionix.comなど)にログインします。 - [Settings] > [Integrations] に移動します。
- [Splunk Integration] > [Settings] をクリックします。
次の構成情報を提供してください。
- HEC トークン: Google SecOps Webhook フィードから生成された秘密鍵を入力します。
Splunk Server: API キーをクエリ パラメータとして追加した Google SecOps Webhook エンドポイントの完全な URL を入力します。形式は次のようにします。
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=<API_KEY>
push interval を構成して、IONIX がエンドポイントにデータを送信する頻度を設定します(例: 60 分ごと)。
環境に関連する追加のデータ フィールドに入力します。
[保存] をクリックします。
統合スイッチを [有効] に切り替えて、統合を有効にします。
データは、1 回のプッシュ間隔サイクル内に Google SecOps に表示されます。最初のデータ配信には最長で 1 時間かかることがあります。
代替方法: カスタム スクリプトで IONIX REST API を使用する
ネイティブの Splunk HEC 統合が要件を満たしていない場合は、IONIX REST API を使用してデータを pull し、Google SecOps に転送できます。
IONIX API キーを生成する
- IONIX ポータルにログインします。
- [API Settings] をクリックします。
- トークンの名前を入力します。
- トークンタイプを選択します。
- 読み取り専用(データの収集に推奨)
- 読み取り / 書き込み
- トークンの有効期限を設定します。
- [トークンの作成] をクリックします。
- 生成されたトークンをコピーし、安全に保存します。
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 の Webhook フィードは、複数の認証方法をサポートしています。ベンダーがサポートしている方法を選択してください。
方法 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://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?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 統合データモデル(UDM)フィールドにマッピングされる方法については、サポートされているデフォルト パーサーのリファレンスで IONIX ログタイプを検索してください。
変更ログ
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。