Imperva SecureSphere Management のログを収集する
このドキュメントでは、Bindplane を使用して Imperva SecureSphere Management ログを Google Security Operations に取り込む方法について説明します。パーサーは、CEF 形式または JSON 形式のログからフィールドを抽出します。grok パターンと Key-Value 解析を使用して未加工のログフィールドを UDM にマッピングし、標準の CEF フィールドとカスタム JSON 構造の両方を処理します。JSON データが利用可能な場合は、JSON データを優先します。Imperva SecureSphere は、オンプレミスとクラウドのデプロイに包括的なウェブ アプリケーション ファイアウォール、データベース セキュリティ、ファイル セキュリティ機能を提供します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または systemdを使用する Linux ホスト
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
- Imperva SecureSphere Management コンソールへの特権アクセス
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
Windows のインストール
- 管理者として コマンド プロンプトまたは PowerShell を開きます。
- 次のコマンドを実行します。 - msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
- 次のコマンドを実行します。 - sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
その他のインストール リソース
- その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
- 構成ファイルにアクセスします。 - config.yamlファイルを見つけます。通常、Linux では- /etc/bindplane-agent/ディレクトリに、Windows ではインストール ディレクトリにあります。
- テキスト エディタ(nano、vi、メモ帳など)を使用してファイルを開きます。
 
- config.yamlファイルを次のように編集します。- receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'IMPERVA_SECURESPHERE' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
- <customer_id>は、実際の顧客 ID に置き換えます。
- /path/to/ingestion-authentication-file.jsonの値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。
 
Bindplane エージェントを再起動して変更を適用する
- Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。 - sudo systemctl restart bindplane-agent
- Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。 - net stop BindPlaneAgent && net start BindPlaneAgent
Imperva SecureSphere Management で Syslog 転送を構成する
- Imperva SecureSphere Management Console にログインします。
- [構成> アクション セット] に移動します。
- [追加] をクリックして、新しいアクション セットを作成します。
- 次の構成の詳細を入力します。
- 名前: わかりやすい名前を入力します(例: Google SecOps Syslog)。
 
- 名前: わかりやすい名前を入力します(例: 
セキュリティ イベント アクションを構成する
- [アクションを追加] をクリックして、次のように構成します。
- アクション タイプ: [Syslog] を選択します。
- ホスト: Bindplane エージェントの IP アドレスを入力します。
- ポート: Bindplane エージェントのポート番号(デフォルトは 514)を入力します。
- プロトコル: [UDP] または [TCP] を選択します。
- Syslog ログレベル: [DEBUG] を選択します。
- Syslog Facility: [LOCAL0] を選択します。
- メッセージ形式: [Gateway Log - Security Event - System Log (syslog) using CEF standard] を選択します。
 
システム イベント アクションを構成する
- [アクションを追加] をクリックして、次のように構成します。
- Action Type: [System Log] を選択します。
- ホスト: BindPlane エージェントの IP アドレスを入力します。
- ポート: BindPlane Agent のポート番号を入力します。
- プロトコル: [UDP] または [TCP] を選択します。
- メッセージ形式: [CEF 標準を使用してシステムログ(syslog)にシステム イベントを記録する] を選択します。
 
ポリシーにアクション セットを適用する
- [ポリシー>セキュリティ ポリシー] に移動します。
- 関連するポリシーごとに、アクション セットを使用するように [フォローされたアクション] を構成します。
- [Policies] > [System Events Policies] に移動します。
- 包括的なモニタリングのために、アクション セットを使用するようにシステム イベント ポリシーを構成します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック | 
|---|---|---|
| action | security_result.action_details | actionフィールドの値がsecurity_result.action_detailsフィールドに割り当てられます。 | 
| application-name | target.application | application-nameフィールドの値がtarget.applicationフィールドに割り当てられます。 | 
| cat | security_result.category_details | catフィールドの値がsecurity_result.category_detailsフィールドに割り当てられます。 | 
| class | security_result.detection_fields.value | classフィールドの値は、security_result.detection_fields内のvalueフィールドに割り当てられます。対応するkeyは「class」です。 | 
| collection_time.seconds | metadata.event_timestamp.seconds | 未加工ログの collection_time.secondsの値が、metadata.event_timestampの秒の値として使用されます。 | 
| create-time | metadata.event_timestamp.seconds | create-timeの値が解析され、その秒の値がmetadata.event_timestampの秒の値として使用されます。 | 
| cs1 | security_result.rule_name | cs1フィールドの値がsecurity_result.rule_nameフィールドに割り当てられます。 | 
| cs10 | target.resource.attribute.labels.value | cs10フィールドの値がtarget.resource.attribute.labels内のvalueフィールドに割り当てられます。 | 
| cs10Label | target.resource.attribute.labels.key | cs10Labelフィールドの値がtarget.resource.attribute.labels内のkeyフィールドに割り当てられます。 | 
| cs11 | principal.application | cs11フィールドの値がprincipal.applicationフィールドに割り当てられます。 | 
| cs12 | security_result.description | 中かっこやドル記号を削除した後の cs12フィールドの値がsecurity_result.descriptionフィールドに割り当てられます。 | 
| cs14 | target.resource.attribute.labels.value | cs14フィールドの値がtarget.resource.attribute.labels内のvalueフィールドに割り当てられます。 | 
| cs14Label | target.resource.attribute.labels.key | cs14Labelフィールドの値がtarget.resource.attribute.labels内のkeyフィールドに割り当てられます。 | 
| cs15 | security_result.summary | cs15フィールドの値がsecurity_result.summaryフィールドに割り当てられます。 | 
| cs16 | principal.process.command_line | cs16フィールドの値がprincipal.process.command_lineフィールドに割り当てられます。 | 
| cs17 | target.resource.resource_subtype | cs17フィールドの値がtarget.resource.resource_subtypeフィールドに割り当てられます。 | 
| cs2 | principal.group.group_display_name | cs2フィールドの値がprincipal.group.group_display_nameフィールドに割り当てられます。 | 
| cs3 | principal.hostname、principal.asset.hostname | cs3フィールドの値は、principal.hostnameフィールドとprincipal.asset.hostnameフィールドの両方に割り当てられます。 | 
| cs4 | target.application | 値が「ProcessWitness」でない限り、 cs4フィールドの値がtarget.applicationフィールドに割り当てられます。 | 
| cs5 | metadata.description | cs5フィールドの値がmetadata.descriptionフィールドに割り当てられます。 | 
| cs6 | target.resource_ancestors.name | cs6フィールドの値がtarget.resource_ancestors.nameフィールドに割り当てられます。 | 
| cs7 | target.resource_ancestors.resource_subtype | cs7フィールドの値がtarget.resource_ancestors.resource_subtypeフィールドに割り当てられます。 | 
| cs8 | target.resource.name、target.resource.resource_type | cs8フィールドの値がtarget.resource.nameフィールドに割り当てられ、target.resource.resource_typeが「DATABASE」に設定されます。 | 
| cs9 | principal.user.userid | cs9フィールドの値がprincipal.user.useridフィールドに割り当てられます。 | 
| description | security_result.description | descriptionフィールドの値がsecurity_result.descriptionフィールドに割り当てられます。 | 
| dest-ip | target.ip、target.asset.ip | dest-ipフィールドから抽出された IP アドレスは、target.ipフィールドとtarget.asset.ipフィールドの両方に割り当てられます。 | 
| dest-port | target.port | dest-portフィールドの値が整数に変換され、target.portフィールドに割り当てられます。 | 
| deviceExternalId | intermediary.hostname | deviceExternalIdフィールドの値がintermediary.hostnameフィールドに割り当てられます。 | 
| dpt | target.port | dptフィールドの値が整数に変換され、target.portフィールドに割り当てられます。 | 
| dst | target.ip、target.asset.ip | dstフィールドの値は、target.ipフィールドとtarget.asset.ipフィールドの両方に割り当てられます。 | 
| duser | target.user.userid | duserフィールドの値がtarget.user.useridフィールドに割り当てられます。 | 
| eventId | metadata.product_log_id | eventIdフィールドの値がmetadata.product_log_idフィールドに割り当てられます。 | 
| gateway-name | security_result.detection_fields.value | gateway-nameフィールドの値は、security_result.detection_fields内のvalueフィールドに割り当てられます。対応するkeyは「gateway-name」です。 | 
| http.request.method | network.http.method | http.request.methodフィールドの値がnetwork.http.methodフィールドに割り当てられます。 | 
| http.request.user-agent | network.http.user_agent | http.request.user_agentフィールドの値がnetwork.http.user_agentフィールドに割り当てられます。 | 
| http.response.code | network.http.response_code | http.response.codeフィールドの値が整数に変換され、network.http.response_codeフィールドに割り当てられます。 | 
| http.session-id | network.session_id | http.session-idフィールドの値がnetwork.session_idフィールドに割り当てられます。 | 
| http.user-name | principal.user.userid | http.user-nameフィールドの値(囲み引用符が削除されたもの)がprincipal.user.useridフィールドに割り当てられます。 | 
| log_type | metadata.log_type | 未加工ログの log_typeフィールドの値がmetadata.log_typeフィールドに割り当てられます。 | 
| mx-ip | intermediary.ip | mx-ipフィールドの値がintermediary.ipフィールドに割り当てられます。 | 
| MxIP | intermediary.ip | MxIPフィールドの値がintermediary.ipフィールドに割り当てられます。 | 
| OSUser | principal.user.userid | OSUserフィールドの値がprincipal.user.useridフィールドに割り当てられます。 | 
| policy-name | security_result.detection_fields.value | policy-nameフィールドの値は、security_result.detection_fields内のvalueフィールドに割り当てられます。対応するkeyは「policy-name」です。 | 
| pquery | target.resource.name、target.process.command_line | pqueryが空ではなく、「from」という単語が含まれている場合、テーブル名が抽出されてtarget.resource.nameに割り当てられ、target.resource.resource_typeが「TABLE」に設定され、pqueryの値全体がtarget.process.command_lineに割り当てられます。それ以外の場合、pquery値全体がtarget.resource.nameに割り当てられます。 | 
| pro | security_result.description | proフィールドの値がsecurity_result.descriptionフィールドに割り当てられます。 | 
| product | metadata.product_name | productフィールドの値がmetadata.product_nameフィールドに割り当てられます。 | 
| product_type | metadata.product_event_type | product_typeフィールドの値がmetadata.product_event_typeフィールドに割り当てられます。 | 
| protocol | network.ip_protocol | protocolフィールドの値が「TCP」または「UDP」の場合、network.ip_protocolフィールドに割り当てられます。 | 
| proto | network.ip_protocol | protoフィールドの値がnetwork.ip_protocolフィールドに割り当てられます。 | 
| reason | security_result.rule_name | reasonフィールドの値がsecurity_result.rule_nameフィールドに割り当てられます。 | 
| rt | metadata.event_timestamp.seconds | rtの値が解析され、その秒の値がmetadata.event_timestampの秒の値として使用されます。 | 
| server-group-name | target.resource.attribute.labels.value | server-group-nameフィールドの値は、target.resource.attribute.labels内のvalueフィールドに割り当てられます。対応するkeyは「server-group-name」です。 | 
| server-group-simulation-mode | target.resource.attribute.labels.value | server-group-simulation-modeフィールドの値は、target.resource.attribute.labels内のvalueフィールドに割り当てられます。対応するkeyは「server-group-simulation-mode」です。 | 
| service-name | target.resource.attribute.labels.value | service-nameフィールドの値は、target.resource.attribute.labels内のvalueフィールドに割り当てられます。対応するkeyは「service-name」です。 | 
| ServiceName | target.application | ApplicationNameが空ではなく、ServiceNameが空の場合、ApplicationNameの値がServiceNameに割り当てられます。ServiceNameの値がtarget.applicationに割り当てられます。 | 
| severity | security_result.severity、security_result.severity_details | severityフィールドの値は大文字に変換されます。「LOW」、「MEDIUM」、「HIGH」、「CRITICAL」のいずれかの場合は、security_result.severityに割り当てられます。「INFORMATIVE」または「INFO」の場合、security_result.severityは「INFORMATIONAL」に設定されます。元の値はsecurity_result.severity_detailsにも割り当てられます。 | 
| severity_data | security_result.severity | severity_dataフィールドの値は大文字に変換されます。「HIGH」、「LOW」、「MEDIUM」、「CRITICAL」、「ERROR」、「INFORMATIONAL」のいずれかの場合は、security_result.severityに割り当てられます。 | 
| source-ip | principal.ip、principal.asset.ip | source-ipフィールドの値は、principal.ipフィールドとprincipal.asset.ipフィールドの両方に割り当てられます。 | 
| source-port | principal.port | source-portフィールドの値が整数に変換され、principal.portフィールドに割り当てられます。 | 
| spt | principal.port | sptフィールドの値が整数に変換され、principal.portフィールドに割り当てられます。 | 
| src | principal.ip、principal.asset.ip | srcフィールドの値は、principal.ipフィールドとprincipal.asset.ipフィールドの両方に割り当てられます。 | 
| srcapp | principal.application | srcappフィールドの値がprincipal.applicationフィールドに割り当てられます。 | 
| srchost | principal.hostname、principal.asset.hostname | srchostフィールドの値は、principal.hostnameフィールドとprincipal.asset.hostnameフィールドの両方に割り当てられます。 | 
| vendor | metadata.vendor_name | vendorフィールドの値がmetadata.vendor_nameフィールドに割り当てられます。 | 
| version | metadata.product_version | versionフィールドの値がmetadata.product_versionフィールドに割り当てられます。 | 
| violation-id | security_result.detection_fields.value | violation-idフィールドの値は、security_result.detection_fields内のvalueフィールドに割り当てられます。対応するkeyは「violation-id」です。 | 
| violation-type | security_result.detection_fields.value | violation-typeフィールドの値は、security_result.detection_fields内のvalueフィールドに割り当てられます。対応するkeyは「violation-type」です。 | 
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。