Dope Security SWG のログを収集する
このドキュメントでは、Amazon S3 を使用して Dope Security SWG ログを Google Security Operations に取り込む方法について説明します。
Dope Security dope.swg は、リアルタイムのウェブ フィルタリング、マルウェア対策、クラウド アプリケーション制御を提供するエンドポイント ベースの安全なウェブ ゲートウェイです。各 dope.endpoint は 15 分ごとにウェブ トランザクション ログを dope.cloud に送信します。これらのログは、SIEM 統合のために圧縮された GZIP JSONL 形式で AWS S3 バケットに自動的にエクスポートされます。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Dope Security dope.console への特権アクセス
- AWS(S3、IAM)への特権アクセス
- Dope Security テナントは、S3 バケットと同じ AWS リージョンに存在する必要があります([Settings] > [SIEM] ページでリージョンを確認します)。
Dope Security SIEM 統合を構成する
Dope Security SIEM 統合を構成する手順は次のとおりです。
- https://console.dope.security で dope.console にログインします。
- [設定] > [SIEM] > [SIEM 統合設定] に移動します。
- [SIEM タイプ] リストで、[AWS S3] を選択します。
ページの右側に表示されている AWS リージョン(例: US-EAST-2)をメモします。
AWS S3 の設定後にこのページに戻って設定を完了するため、このページを開いたままにしておきます。
Google SecOps 用に AWS S3 バケットと IAM を構成する
- Amazon S3 バケットを作成します。詳細については、バケットを作成するをご覧ください。
- バケットを作成するときは、[リージョン] が Dope Security SIEM 統合ページに表示されているリージョン(米国東部(オハイオ)us-east-2 など)と一致していることを確認します。
バケットの名前を後で参照できるように保存します(例:
chronicle-dope-swg-logs)。ユーザーを作成します。詳細については、IAM ユーザーの作成をご覧ください。
作成した [ユーザー] を選択します。
[セキュリティ認証情報] タブを選択します。
[アクセスキー] セクションで [アクセスキーを作成] をクリックします。
[ユースケース] で [サードパーティ サービス] を選択します。
[次へ] をクリックします。
省略可: 説明タグを追加します。
[アクセスキーを作成] をクリックします。
[.csv ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、今後の参照に備えます。
[完了] をクリックします。
[権限] タブを選択します。
[権限ポリシー] セクションで [権限を追加] をクリックします。
[権限を追加] を選択します。
[ポリシーを直接アタッチする] を選択します。
AmazonS3FullAccess ポリシーを検索します。
ポリシーを選択します。
[次へ] をクリックします。
[権限を追加] をクリックします。
Dope Security Amazon S3 接続を構成する
- [設定] > [SIEM] > [SIEM 統合設定] ページで dope.console に戻ります。
- [S3 Bucket Name] フィールドに、S3 バケットの名前(
chronicle-dope-swg-logsなど)を入力します。 - 右側のペインに、事前生成された JSON ポリシーを含む [バケット ポリシー] セクションが表示されます。
- ポリシー JSON の横にある [コピー] をクリックして、クリップボードにコピーします。
- 新しいブラウザタブで、AWS S3 コンソールに移動します。
- S3 バケット(
chronicle-dope-swg-logsなど)を選択します。 - [権限] タブに移動します。
- [バケット ポリシー] セクションまで下にスクロールします。
- [編集] をクリックします。
- dope.console からコピーしたポリシー JSON を [ポリシー] テキスト領域に貼り付けます。
- [変更を保存] をクリックします。
- dope.console のブラウザタブに戻ります。
- [SIEM Integration Settings] ページの下部にある [Sync] をクリックします。
- 同期が完了するまで待ちます。
- [S3 Bucket Name] フィールドの横に緑色のチェックマークが表示されていることを確認します。
ページの右上にある [最終同期] のタイムスタンプを確認します。
Dope Security SWG のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで [単一フィードを設定] をクリックします。
- [Feed name] に一意の名前を入力します(例:
Dope Security SWG Logs)。 - [ソースタイプ] として [Amazon S3 V2] を選択します。
- [ログタイプ] として [DOPE_SWG] を選択します。
- [次へ] をクリックしてから、[送信] をクリックします。
次のフィールドに値を指定します。
- S3 URI:
s3://chronicle-dope-swg-logs/(バケット名に置き換えます) - Source deletion option: 必要に応じて削除オプションを選択します。
- ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます(デフォルトは 180 日)。
- アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー(AWS 構成のステップ 12)
- シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー(AWS 構成の手順 12 で取得)
- アセットの名前空間: アセットの名前空間
- Ingestion labels: このフィードのイベントに適用されるラベル
- S3 URI:
[次へ] をクリックしてから、[送信] をクリックします。
ログデータ形式のリファレンス
Dope Security は、GZIP 圧縮を使用して JSONL(JSON Lines)形式でログをエクスポートします。各ログエントリには、次のキーフィールドが含まれています。
| フィールド | 説明 |
|---|---|
| タイムスタンプ | ウェブ トランザクションがリクエストされたときの ISO 8601 タイムスタンプ |
| 期間 | 接続時間(ミリ秒) |
| 一致したリンク先 | 薬物カテゴリが照合されたドメイン |
| 宛先 IP | リクエストされた URL の宛先 IP アドレス |
| テナント ID | お客様の dope.cloud の一意のテナント ID |
| エージェント ID | dope.endpoint の一意のエージェント ID |
| ユーザー | dope.endpoint にログインしているユーザー |
| OIDC ユーザー | 認証済みユーザーのメールアドレス(OIDC 認証が有効になっている場合) |
| カテゴリ | リクエストされた URL に一致するドープ カテゴリ番号(0 ~ 88) |
| Verdict | ポリシーの判定: 許可(0)、ブロック(1)、警告(2)、バイパス(3) |
| 送信データ | 接続で送信されたデータ量(バイト単位) |
| 受信したデータ | 接続で受信したデータ量(バイト単位) |
| ポリシータイプ | 適用されたポリシーのタイプ: ウェブ、Cloud Application Control(CAC)、カスタム カテゴリ、バイパス、マルウェア |
| ブロックの詳細 | ブロック判定の場合: 薬物カテゴリ、カスタム カテゴリ、クラウド アプリケーション、マルウェアの種類 |
| ファイル名 | ダウンロードしたファイルの名前 |
| ファイル ハッシュ | ダウンロードしたファイルのファイル ハッシュ |
| プロセス名 | URL リクエストを行うプロセスの名前 |
| URL | リクエストされた URL 全体 |
| ポリシー名 | 適用されたポリシーの名前 |
| プロトコル | 使用されたプロトコル(HTTP/2、HTTP/1.1 など) |
| ホスト名 | デバイスのホスト名 |
| HTTP リクエスト メソッド | HTTP リクエスト メソッド(GET、POST、PUT など) |
| プロセス呼び出しツリー | コマンド引数を含むプロセス スポーン オペレーションからの親子関係 |
カテゴリと判定のマッピングの完全なリストについては、Dope Security のカテゴリと判定のマッピングのドキュメントをご覧ください。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| policy.categories、request.processTree | additional.fields | JSON の policy.categories と request.processTree からリストとして統合 |
| timestamp | metadata.event_timestamp | JSON と CSV の両方で ISO8601 タイムスタンプとして解析されます |
| metadata.event_type | JSON に has_principal、has_target、has_http がある場合は NETWORK_HTTP に設定します。それ以外で、has_principal と has_target がある場合は NETWORK_CONNECTION に設定します。それ以外で、has_user がある場合は USER_UNCATEGORIZED に設定します。それ以外で、has_principal がある場合は STATUS_UPDATE に設定します。それ以外の場合は GENERIC_EVENT に設定します。CSV では NETWORK_HTTP に設定します。 | |
| schemaVersion | metadata.product_version | JSON の schemaVersion から直接コピーされた値 |
| request.httpVersion | network.http.user_agent | JSON の request.httpVersion から直接コピーされた値 |
| bandwidth.dataReceivedInBytes、bytes_received | network.received_bytes | 空ではなく 0 でない場合、JSON の bandwidth.dataReceivedInBytes または CSV の bytes_received から uinteger に変換されます。 |
| bandwidth.dataSentInBytes、bytes_sent | network.sent_bytes | 空ではなく 0 でない場合、JSON の bandwidth.dataSentInBytes または CSV の bytes_sent から uinteger に変換されます。 |
| request.duration | network.session_duration.seconds | JSON の request.duration から整数に変換 |
| endpoint.agentID, endpoint_id | principal.asset.asset_id | JSON の endpoint.agentID または CSV の endpoint_id の先頭に DS: が付加されます。 |
| endpoint.tenantID | principal.asset.attribute.cloud.project.id | JSON の endpoint.tenantID から直接コピーされた値 |
| endpoint.deviceName | principal.asset.hostname | JSON の endpoint.deviceName から直接コピーされた値 |
| endpoint.deviceName、endpoint_hostname | principal.hostname | JSON の endpoint.deviceName または CSV の endpoint_hostname の値 |
| request.processName | principal.process.command_line | JSON の request.processName から直接コピーされた値 |
| process_name | principal.process.file.names | CSV の process_name から直接コピーされた値 |
| sso_user、user | principal.user.account_type | sso_user が空でない場合は DOMAIN_ACCOUNT_TYPE、それ以外の場合は CSV の LOCAL_ACCOUNT_TYPE に設定 |
| endpoint.oidcUser | principal.user.email_addresses | endpoint.oidcUser が JSON のメールアドレスの正規表現と一致する場合に統合 |
| endpoint.oidcUser | principal.user.user_display_name | JSON の endpoint.oidcUser がメールアドレスの正規表現と一致しない場合、値が直接コピーされる |
| endpoint.user、sso_user、user | principal.user.userid | JSON の endpoint.user の値。空でない場合は sso_user、それ以外の場合は CSV の user |
| security_result | security_result | JSON の security_result から統合 |
| policy.verdict、verdict | security_result.action | JSON の policy.verdict または CSV の verdict が 1 の場合は BLOCK、0 の場合は ALLOW、2 の場合は CHALLENGE に設定 |
| categories | security_result.action_details | CSV のカテゴリから直接コピーされた値 |
| policy.policyName | security_result.rule_name | JSON の policy.policyName から直接コピーされた値 |
| policy.policyType | security_result.rule_type | JSON の policy.policyType から直接コピーされた値 |
| file_name | target.file.names | CSV の file_name から直接コピーされた値 |
| file_hash | target.file.sha256 | CSV の file_hash から直接コピーされた値 |
| destination.matchedDestination、domain | target.hostname | JSON に IP がない場合は destination.matchedDestination の値。CSV の場合はドメインの値 |
| destination.matchedDestination、destination.destinationIP、ip | target.ip | JSON の場合は destination.matchedDestination または destination.destinationIP からの値。CSV の場合は ip からの値 |
| destination.url、url | target.url | JSON の destination.url の値。CSV の url の値 |
| metadata.product_name | JSON では「DOPE_SWG」、CSV では「SWG」に設定します。 | |
| metadata.vendor_name | JSON では「DOPE_SWG」、CSV では「Dope Security」に設定 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。