このドキュメントでは、 Netskope Cloud Exchangeの Log Shipper モジュールを使用して Chronicle v3.0.0 プラグインを構成する方法について説明します。 このプラグインは、アラート (DLP、マルウェア、ポリシー、侵害されたクレデンシャル、マルサイト、検疫、修復、セキュリティ評価、ウォッチリスト、UBA、CTEP、異常、訴訟ホールド) およびイベント (ページ、アプリケーション、監査、インフラストラクチャ、ネットワーク、インシデント) データを Google Chronicle プラットフォームに配信するために使用されます。 このプラグインは、UDM形式およびJSON形式のデータの共有をサポートしています。必要なAPIキーは顧客に紐づけられており、Google Chronicleの担当者から提供されます。
前提条件
この設定を完了するには、以下が必要です。
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- Netskope Cloud Exchangeテナントには、テナントプラグインとログシッパープラグインが既に設定済みです。
- クロニクル紙の記事。先に進む前に、Chronicleの担当者からChronicle Base URL、サービスアカウントキー、および顧客IDを入手してください。
- 以下のホスト(これらの地域URLのいずれか)への接続性:
- 米国: https://malachiteingestion-pa.googleapis.com/
- EU: https://europe-malachiteingestion-pa.googleapis.com/
- アジア:https://asia-southeast1-malachiteingestion-pa.googleapis.com/
- その他のカスタムURL。
- Chronicleサービスアカウントキーを入手してください。以下の範囲のサービス アカウントを取得するには、Chronicle チームにお問い合わせください: https://www.googleapis.com/auth/malachite-ingestion。
Google Chronicleプラグインのサポート
Google Chronicleプラグインは UDMおよびJSON形式のすべてのアラートとイベントを取り込むためのものです。 WebTxおよびSyslog CEログデータの取り込みはサポートされていません。
| データ型 | サポート |
|---|---|
| アラート | はい (侵害されたクレデンシャル、ポリシー、マルサイト、マルウェア、DLP、セキュリティ評価、ウォッチリスト、検疫、修復、UBA、CTEP、異常、訴訟ホールド) |
| イベント | はい(ページ、アプリケーション、監査、インフラストラクチャ、ネットワーク、インシデント) |
| ウェブテキサス | いいえ |
| Syslog CEログ | いいえ |
APIの詳細
使うAPI一覧
| APIエンドポイント | 方法 | 使うケース |
|---|---|---|
| /v2/udmevents:batchCreate | 役職 | UDMイベントを取り込む |
| /v2/unstructuredlogentries:batchCreate | 役職 | 非構造化ログを取り込む |
UDMイベントを取り込む
API Endpoint: <Base URL>/v2/udmevents:batchCreate
Method: POST
Body
{
"customer_id": "c8c65bfa-5f2c-*********9-64bb7b939f2c",
"events": [
{
"metadata": {
"event_timestamp": "2019-10-22T12:00:00.000Z",
"event_type": "USER_LOGIN",
"product_name": "Acme SSO",
"vendor_name": "Acme"
},
"principal": {
"ip": [
"10.1.2.3"
]
},
"target": {
"application": "Acme Connect",
"user": {
"user_display_name": "Mary Jane",
"userid": "mary@altostrat.com"
}
},
"extensions": {
"auth": {
"type": "MACHINE",
"mechanism": [
"NETWORK"
]
}
}
},
]
}
Sample API Response
Status Code: 200 (Success)
非構造化ログを取り込む
API Endpoint: <Base URL>/v2/unstructuredlogentries:batchCreate
Method: POST
Body
{
"customer_id": "c8c65bfa-5f2c-42d4-9189-64bb7b939f2c",
"log_type": "BIND_DNS",
"labels" : [
{
"key" : "key_name_one",
"value" : "value_one"
},
{
"key" : "key_name_two",
"value" : "value_two"
}
]
"entries": [
{
"log_text": "26-Feb-2019 13:35:02.187 client 10.120.20.32#4238: query: altostrat.com IN A + (203.0.113.102)",
"ts_epoch_microseconds": 1551188102187000
},
{
"log_text": "26-Feb-2019 13:37:04.523 client 10.50.100.33#1116: query: examplepetstore.com IN A + (203.0.113.102)",
},
{
"log_text": "26-Feb-2019 13:39:01.115 client 10.1.2.3#3333: query: www.example.com IN A + (203.0.113.102)"
}
];
}
Sample API Response
Status Code: 200 (Success)
このプラグイン Chronicle Ingestion API で認証を行うための Python ライブラリ。
- ライブラリ: Python 用 Google 認証ライブラリ (google-auth)。
- 使用方法:Google APIへの認証を行うためのPython用Google認証ライブラリ(google-auth)。
Create a New Session with Credentials
SCOPES = ['https://www.googleapis.com/auth/malachite-ingestion']
credentials = (
service_account.Credentials.from_service_account_info(
json.loads(self.configuration["service_account_key"]),
scopes=SCOPES,
)
)
self.http_session = request.AuthorizedSession(credentials)
Chronicle API Request
response = self.http_session.request(
"POST",
url,
headers=headers,
json=payload,)
パフォーマンスマトリックス
このパフォーマンス測定は、以下のVM仕様を持つ大規模スタック上で実施されました。これらの測定値は、13 秒間に約 10,000 個のイベントを Google Chronicle プラットフォームに取り込むことを考慮しています。
| デスクリプション | Specifications |
|---|---|
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| Google Chronicle プラットフォームに取り込まれたアラート/イベント | 約20万EPM |
ユーザーエージェント
netskope-ce-6.0.0-cls-google-chronicle-v3.0.0
ワークフロー
- Chronicle 用のクレデンシャルを入手してください。
- Chronicleプラグインを設定します。
- Chronicleのログシッパービジネスルールを設定します。
- Chronicle 用の Log Shipper SIEM マッピングを設定します。
- Chronicleプラグインを検証してください。
動画を見る
再生ボタンをクリックして動画をご覧ください。
Google Chronicleプラグインを設定する
- プラグインの設定名を追加し、 Chronicle Default Mappingsファイルが選択されていることを確認してください。データをUDM形式で取り込むには、「フォーマット」をUDMのままにし、データをJSON形式で取り込むには、「フォーマット」をJSONに変更してください。

- Nextをクリックして、設定パラメータを入力してください。
- Region: 顧客アカウントがプロビジョニングされるクロニクルリージョン。
- Custom Region URL: カスタムリージョンのベースURL。リージョンとしてカスタムリージョンを選択した場合のみ必須です。
- Service Account Key: サービス アカウント クレデンシャル (Chronicle チームによって提供)。
- Customer ID:あなたのChronicleインスタンスに対応する一意の識別子。
- Log Source Identifier: これは、すべてのJSON形式のデータに名前空間として追加されます。ログソース識別子には空白文字を含めてはいけません。

Google Chronicle 用のログシッパービジネスルールを設定する
- Log Shipperで、 Business Rulesに移動します。
- デフォルトでは、すべてのアラートとイベントをフィルタリングするビジネスルールが設定されています。特定の種類のアラートやイベントを除外したい場合は、 Create New Ruleをクリックして、ルール名と必要なフィルターを追加して新しいビジネスルールを設定します。

Google Chronicle の Log Shipper ログ配信の設定
- Log ShipperでLog Deliveryに移動し、 Add Log Delivery Configurationをクリックします。
- ソースプラグイン( Netskope CLS)、宛先プラグイン(Chronicle デモ)、ビジネスルールSelect 、 Saveをクリックします。
- ログ配信が追加されると、 Netskopeテナントからのデータの取得、変換、Google Chronicle プラットフォームへの取り込みが開始されます。

Google Chronicleプラグインを検証する
プラグインはCloud ExchangeとGoogle Chronicleの両方で検証できます。
プルを検証する
Netskopeテナントからイベントとアラートが取得されたことを検証するには、Cloud ExchangeのLoggingに移動して、取得されたログを検索してください。


プッシュ通知を検証する
Cloud Exchange でプラグインのワークフローを検証するには、 Loggingに移動し、フィルターmessage に ingested が含まれているものを使用して、取り込まれたイベントとアラートを検索します。取り込まれたログが表示されます。



Google Chronicleでプッシュ通知を検証するには:
- 始める時間(UTC)と終了時間(UTC)を必要に応じて設定してください。 さらに、取り込まれたアラート/イベントを検索するためのクエリを追加します。Searchをクリックしてください。
Google Chronicleプラグインのトラブルシューティング
Google Chronicleプラグインの設定ができません
Google Chronicleプラグインの設定ができない場合、またはログに認証エラーが表示される場合は、以下のいずれかの理由が考えられます。
- 誤った顧客IDを入力しました。
- 誤ったサービスアカウントキーを入力しました。
- サービスアカウントキーの形式が正しくありません。
What to do:
- 選択した地域に応じて、クロニクルの担当者から提供された正しい顧客IDを必ず入力してください。
- 選択した地域に応じて、正しいサービスアカウントキーを入力してください。
- サービスアカウントキーは正しい形式で入力してください。
Google Chronicleプラグインの設定後、認証関連のエラーがログに表示される
ログに認証エラーが表示されている場合、以下のいずれかの理由が考えられます。
- 誤ったサービスアカウントキーを入力しました。
- サービスアカウントキーの形式が正しくありません。
What to do:
- 選択した地域に応じて、正しいサービスアカウントキーを入力してください。
- サービスアカウントキーは正しい形式で入力してください。
Chronicleで取り込まれたアラート/イベントをフィルタリングできません
Chronicle プラットフォームで取り込まれたアラート/イベントをフィルターできない場合は、間違ったフィルターまたは間違った時間範囲が使用されていないか確認してください。
What to do:
取り込まれたアラートやイベントは、取り込みと処理に時間がかかる場合があるため、Chronicleのユーザーインターフェースにすぐに表示されないことがあります。しばらく待ってから、 「プッシュ通知の検証」セクションを参照して、アラート/イベントをフィルタリングしてください。必要なのは イベントやアラートをフィルタリングする際に、取り込み時間に基づいて正しい時間範囲を設定することです。
Google Chronicleでデータを取り込むことができません
Google Chronicle プラットフォームでデータを取り込むことができず、このエラーが発生する場合は、以下の理由を確認してください。
Google Chronicle 2.0.2 バージョンでデータを取り込む際に、以下の画像のようなエラーメッセージが表示された場合は、下記の「対処方法」をご覧ください。

What to do:
このエラーを解決するには、Google Chronicleプラグインを最新バージョン(例えば2.2.0)にアップグレードしていることを確認してください。
プラグインをv3.0.0にアップグレードした後、フォーマットパラメータにUDMではなくCEFが表示されるようになりました。
お使いの環境がCloud Exchange v6.0.0 で、プラグインを最新バージョン (v3.0.0) にアップグレードした場合、プラグインを編集して Format パラメータを確認できます。

What to do:
プラグインを編集し、「フォーマット」を「UDM」に選択して、プラグインを保存します。
既知の行動
- Cloud Exchangeから取り込まれたアラートは、Google Chronicle上でイベントとして分類されます。以下のスクリーンショットでも同じことが確認できます。

- このプラグインは、 「プラグイン範囲」セクションに記載されているアラート/イベントの取り込みのみをサポートしています。
このプラグインでは、以下の Netskope アラートとイベントの取り込みはサポートされていません:
Alert Types : デバイス、コンテンツ
Event Types : エンドポイント、クライアント ステータス - 取り込まれたアラートやイベントは、取り込みと処理に時間がかかる場合があるため、Chronicleのユーザーインターフェースにすぐに表示されないことがあります。大量のデータを取り込んだ場合、Chronicleのユーザーインターフェースに反映されるまでに数時間かかる場合があることが確認されました。



















