Zscaler ZPA 監査ログを収集する
このドキュメントでは、Bindplane エージェントを設定して Zscaler ZPA 監査ログをエクスポートする方法と、ログフィールドが Google SecOps 統合データモデル(UDM)フィールドにマッピングする方法について説明します。
詳細については、Google SecOps へのデータの取り込みの概要をご覧ください。
一般的なデプロイは、Zscaler ZPA Audit と、Google Security Operations にログを送信するように構成された Bindplane エージェントで構成されています。お客様のデプロイはそれぞれ異なり、より複雑になる場合もあります。
デプロイには次のコンポーネントが含まれます。
Zscaler ZPA Audit: ログを収集するプラットフォーム。
Bindplane エージェント: Bindplane エージェントは、Zscaler ZPA Audit からログを取得し、Google Security Operations にログを送信します。
Google SecOps: ログを保持して分析します。
取り込みラベルによって、未加工のログデータを構造化 UDM 形式に正規化するパーサーが識別されます。 このドキュメントの情報は、ZSCALER_ZPA
ラベルが付加されたパーサーに適用されます。
始める前に
- Zscaler ZPA Audit 2024 以降を使用していることを確認します。
- Zscaler Private Access コンソールにアクセスできることを確認します。詳細については、安全なプライベート アクセス(ZPA)のヘルプをご覧ください。
- デプロイ アーキテクチャ内のすべてのシステムが、UTC タイムゾーンで構成されていることを確認します。
Zscaler Private Access でログ受信機を構成する
Zscaler Private Access でログ受信機を構成して管理する手順は次のとおりです。
ログレシーバーを追加する
- [構成と制御] > [プライベート インフラストラクチャ] > [ログ ストリーミング サービス] > [ログ受信機] を選択し、[ログ受信機を追加] をクリックします。
- [Log Receiver] タブで、次の操作を行います。
- [名前] フィールドに、ログ受信機の名前を入力します。
- [説明] フィールドに説明を入力します。
- [Domain or IP Address] フィールドに、ログ受信側の完全修飾ドメイン名(FQDN)または IP アドレスを入力します。
- [TCP ポート] フィールドに、ログ受信側で使用される TCP ポート番号を入力します。
- [TLS 暗号化] で暗号化タイプを選択し、App Connector とログ受信側間のトラフィックの暗号化を有効または無効にします。デフォルトでは、この設定は無効になっています。
- [App Connector グループ] リストで、レシーバにログを転送できる App Connector グループを選択し、[完了] をクリックします。
- [次へ] をクリックします。
[ログストリーム] タブで、次の操作を行います。
- メニューから [ログタイプ] を選択します。
- メニューから [ログ テンプレート] を選択します。
[ログストリーム コンテンツ] をコピーして貼り付け、新しいフィールドを追加します。キー名が実際のフィールド名と一致していることを確認します。
監査ログの種類のデフォルトのログストリーム コンテンツは次のとおりです。
{"ModifiedTime":%j{modifiedTime:iso8601},"CreationTime":%j{creationTime:iso8601},"ModifiedBy":%d{modifiedBy},"RequestID":%j{requestId},"SessionID":%j{sessionId},"AuditOldValue":%j{auditOldValue},"AuditNewValue":%j{auditNewValue},"AuditOperationType":%j{auditOperationType},"ObjectType":%j{objectType},"ObjectName":%j{objectName},"ObjectID":%d{objectId},"CustomerID":%d{customerId},"User":%j{modifiedByUser},"ClientAuditUpdate":%d{clientAuditUpdate}}\n
[SAML 属性] で [IdP を選択] をクリックし、ポリシーに含める IdP 構成を選択します。
[アプリケーション セグメント] メニューで、追加するアプリケーション セグメントを選択し、[完了] をクリックします。
[セグメント グループ] メニューで、追加するセグメント グループを選択し、[完了] をクリックします。
[クライアント タイプ] メニューで、含めるクライアント タイプを選択し、[完了] をクリックします。
[セッション ステータス] メニューで、除外するセッション ステータス コードを選択し、[完了] をクリックします。
[次へ] をクリックします。
[確認] タブでログ受信機の構成を確認し、[保存] をクリックします。
注: ZSCALER_ZPA_AUDIT
Gold パーサーは JSON ログ形式のみをサポートしているため、ログストリームを構成するときに、メニューから [ログ テンプレート] として [JSON] を選択してください。
ログレシーバーをコピーする
- [コントロール] > [プライベート インフラストラクチャ] > [ログ ストリーミング サービス] > [ログ受信機] を選択します。
- テーブルで、変更するログ受信機を見つけて、[コピー] をクリックします。
- [ログ受信機を追加] ウィンドウで、必要に応じてフィールドを変更します。各フィールドの詳細については、ログレシーバを追加するの手順をご覧ください。
- [保存] をクリックします。
ログレシーバーを編集する
- [コントロール] > [プライベート インフラストラクチャ] > [ログ ストリーミング サービス] > [ログ受信機] を選択します。
- 表で、変更するログ受信機を見つけて、[編集] をクリックします。
- [ログ受信機の編集] ウィンドウで、必要に応じてフィールドを変更します。各フィールドの詳細については、ログレシーバを追加するの手順をご覧ください。
- [保存] をクリックします。
ログレシーバーを削除する
- [コントロール] > [プライベート インフラストラクチャ] > [ログ ストリーミング サービス] > [ログ受信機] を選択します。
- 表で、変更するログ受信機を見つけて、[削除] をクリックします。
- [確認] ウィンドウで [削除] をクリックします。
Bindplane エージェントを使用してログを Google SecOps に転送する
- Linux 仮想マシンをインストールして設定します。
- Linux に Bindplane エージェントをインストールして構成し、ログを Google SecOps に転送します。Bindplane エージェントのインストールと構成方法の詳細については、Bindplane エージェントのインストールと構成の手順をご覧ください。
フィードの作成時に問題が発生した場合は、Google SecOps サポートにお問い合わせください。
UDM マッピング テーブル
フィールド マッピング リファレンス: ZSCALER_ZPA_AUDIT
次の表に、ZSCALER_ZPA_AUDIT
ログタイプのログ フィールドと、対応する UDM フィールドを示します。
Log field | UDM mapping | Logic |
---|---|---|
|
metadata.product_name |
The metadata.product_name UDM field is set to ZPA Audit . |
|
metadata.vendor_name |
The metadata.vendor_name UDM field is set to Zscaler . |
CreationTime |
metadata.event_timestamp |
|
RequestID |
metadata.product_log_id |
|
SessionID |
network.session_id |
|
|
metadata.event_type |
If the AuditOperationType log field value is not empty, then if the AuditOperationType log field value is equal to Create , then the metadata.event_type UDM field is set to RESOURCE_CREATION .Else, if the AuditOperationType log field value is equal to Client Session Revoked , then the metadata.event_type UDM field is set to USER_LOGOUT .Else, if the AuditOperationType log field value is equal to Delete , then the metadata.event_type UDM field is set to RESOURCE_DELETION .Else, if the AuditOperationType log field value is equal to Download , then the metadata.event_type UDM field is set to USER_RESOURCE_ACCESS .Else, if the AuditOperationType log field value is equal to Sign In , then the metadata.event_type UDM field is set to USER_LOGIN .Else, if the AuditOperationType log field value is equal to Sign In Failure , then the metadata.event_type UDM field is set to USER_LOGIN .Else, if the AuditOperationType log field value is equal to Sign Out , then the metadata.event_type UDM field is set to USER_LOGOUT .Else, if the AuditOperationType log field value is equal to Update , then the metadata.event_type UDM field is set to USER_RESOURCE_UPDATE_CONTENT . |
|
metadata.product_event_type |
If the AuditOperationType log field value is not empty, then if the AuditOperationType log field value is equal to Create , then the metadata.product_event_type UDM field is set to create .Else, if the AuditOperationType log field value is equal to Client Session Revoked , then the metadata.product_event_type UDM field is set to client session revoked .Else, if the AuditOperationType log field value is equal to Delete , then the metadata.product_event_type UDM field is set to delete .Else, if the AuditOperationType log field value is equal to Download , then the metadata.product_event_type UDM field is set to download .Else, if the AuditOperationType log field value is equal to Sign In , then the metadata.product_event_type UDM field is set to user_login .Else, if the AuditOperationType log field value is equal to Sign In Failure , then the metadata.product_event_type UDM field is set to user_login_fail .Else, if the AuditOperationType log field value is equal to Sign Out , then the metadata.product_event_type UDM field is set to user_logout .Else, if the AuditOperationType log field value is equal to Update , then the metadata.product_event_type UDM field is set to update . |
|
security_result.action |
If the AuditOperationType log field value is not empty, then if the AuditOperationType log field value is equal to Client Session Revoked , then the security_result.action UDM field is set to BLOCK .Else, if the AuditOperationType log field value is equal to Sign In , then the security_result.action UDM field is set to ALLOW .Else, if the AuditOperationType log field value is equal to Sign In Failure , then the security_result.action UDM field is set to FAIL . |
ObjectType |
target.resource.resource_subtype |
|
ObjectID |
target.resource.product_object_id |
|
ObjectName |
target.resource.name |
|
ModifiedTime |
target.resource.attribute.labels[ModifiedTime] |
|
ModifiedBy |
principal.user.userid |
|
User |
principal.user.email_addresses |
|
AuditOldValue |
additional.fields[AuditOldValue] |
Iterate through AuditOldValue object: The AuditOldValue object key is mapped to the additional.fields.key UDM field and AuditOldValue object value is mapped to the additional.fields.value UDM field. |
AuditNewValue |
additional.fields[AuditNewValue] |
Iterate through AuditNewValue object: The AuditNewValue object key is set to the additional.fields.key UDM field and AuditNewValue object value is mapped to the additional.fields.value UDM field. |
CustomerID |
target.user.userid |
|
ClientAuditUpdate |
additional.fields[ClientAuditUpdate] |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。