Cisco Umbrella Web Proxy のログを収集する
このドキュメントでは、Amazon S3 を使用して Cisco Umbrella Web Proxy ログを Google Security Operations に取り込む方法について説明します。Cisco Umbrella Web Proxy は、クラウドベースの安全なウェブ ゲートウェイ(SWG)として機能し、ウェブ トラフィックの完全な URL の可視性と制御を提供します。Web Proxy ログには、Umbrella インテリジェント プロキシ経由でプロキシされたリクエストの完全な URL、ユーザー ID、コンテンツ タイプ、セキュリティ判定など、HTTP トラフィックと HTTPS トラフィックの詳細が記録されます。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス。
- フル管理者ロールまたは読み取り専用管理者ロールで Cisco Umbrella ダッシュボードへの特権アクセス権。
- AWS(S3、IAM)への特権アクセス。
- インテリジェント プロキシが有効になっている Cisco Umbrella Secure Internet Gateway(SIG)または DNS Security Advantage ライセンス。
Amazon S3 への Cisco Umbrella ログのエクスポートを構成する
Cisco Umbrella は、管理対象の Amazon S3 バケットへの Web Proxy ログのエクスポートをネイティブにサポートしています。Umbrella DNS ログの S3 ログ エクスポートをすでに構成している場合は、同じ S3 バケットと IAM 構成を再利用できます。Umbrella はプロキシログを別の接頭辞に保存します。
https://dashboard.umbrella.comで Cisco Umbrella ダッシュボードにログインします。- [管理者] > [ログ管理] に移動します。
- S3 ログのエクスポートがまだ構成されていない場合は、[会社管理の Amazon S3 バケットを使用する] をクリックします。
- 次の構成の詳細を入力します。
- バケット名: S3 バケットの名前を入力します(例:
umbrella-logs)。 - リージョン: バケットが配置されている AWS リージョンを選択します。
- バケット名: S3 バケットの名前を入力します(例:
- Umbrella に表示される AWS アカウント ID と外部 ID をコピーします(まだ保存していない場合)。
- [保存] をクリックします。
Google SecOps 用に AWS S3 バケットと IAM を構成する
- バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
- バケットの名前とリージョンを保存して、後で参照できるようにします(例:
umbrella-logs)。 - IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成した [User] を選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] として [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [CSV ファイルをダウンロード] をクリックし、[アクセスキー] と [シークレット アクセスキー] を保存して、今後の参照に備えます。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションの [権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索します。
- ポリシーを選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
Cisco Umbrella S3 アクセスの IAM ポリシーとロールを構成する
Cisco Umbrella では、ログを S3 バケットに書き込むためにクロスアカウント IAM ロールが必要です。
- AWS コンソールで、[IAM] > [ポリシー] > [ポリシーの作成] > [JSON] タブ に移動します。
次のポリシーをコピーして貼り付けます(別のバケット名を入力した場合は、
umbrella-logsを置き換えます)。{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUmbrellaPutObjects", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::umbrella-logs", "arn:aws:s3:::umbrella-logs/*" ] } ] }[次へ] > [ポリシーを作成] をクリックします。
UmbrellaS3WritePolicyという名前を付けます。[IAM] > [ロール] > [ロールを作成] > [カスタム信頼ポリシー] に移動します。
次の信頼ポリシーを貼り付け、
UMBRELLA_AWS_ACCOUNT_IDとUMBRELLA_EXTERNAL_IDを Umbrella ダッシュボードからコピーした値に置き換えます。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::UMBRELLA_AWS_ACCOUNT_ID:root" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "UMBRELLA_EXTERNAL_ID" } } } ] }[次へ] をクリックします。
UmbrellaS3WritePolicyポリシーをアタッチします。ロールに「
UmbrellaS3Role」という名前を付けて、[ロールを作成] をクリックします。Umbrella ダッシュボードで使用する Role ARN をコピーします。
Cisco Umbrella のログ エクスポートを確認する
- Cisco Umbrella ダッシュボードに戻ります。
- [管理者] > [ログ管理] に移動します。
- 作成した IAM ロールのロール ARN を入力します(まだ構成していない場合)。
- [Verify] をクリックして、Umbrella が S3 バケットに書き込めることを確認します。
- 検証に成功すると、Umbrella はプロキシログの S3 バケットへのエクスポートを開始します。
Cisco Umbrella Web Proxy ログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [+ 新しいフィードを追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Cisco Umbrella Web Proxy logs)。 - [ソースタイプ] として [Amazon S3 V2] を選択します。
- [Log type] として [Cisco Umbrella Web Proxy] を選択します。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- S3 URI:
s3://umbrella-logs/proxylogs/ - Source deletion options: 必要に応じて削除オプションを選択します。
- ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます。デフォルトは 180 日です。
- アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー。
- シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー。
- アセットの名前空間: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- S3 URI:
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | 論理 |
|---|---|---|
ampDisposition |
security_result.detection_fields[].value |
未加工ログの ampDisposition の値。 |
ampMalware |
security_result.detection_fields[].value |
未加工ログの ampMalware の値。 |
ampScore |
security_result.detection_fields[].value |
未加工ログの ampScore の値。 |
avDetections |
security_result.detection_fields[].value |
未加工ログの avDetections の値。 |
blockedCategories |
security_result.threat_name |
未加工ログの blockedCategories の値。 |
certificateErrors |
security_result.detection_fields[].value |
未加工ログの certificateErrors の値。 |
contentType |
security_result.detection_fields[].value |
未加工ログの contentType の値。 |
destinationIp |
target.ip |
未加工ログの destinationIp の値。 |
destinationListID |
security_result.detection_fields[].value |
未加工ログの destinationListID の値。 |
dlpstatus |
security_result.detection_fields[].value |
未加工ログの dlpstatus の値。 |
externalIp |
principal.ip |
未加工ログの externalIp の値。 |
fileAction |
security_result.detection_fields[].value |
未加工ログの fileAction の値。 |
fileName |
target.file.names |
未加工ログの fileName の値。 |
identitiesV8 |
principal.hostname |
未加工ログの identitiesV8 の値。 |
identity |
principal.location.name |
未加工ログの identity の値。 |
internalIp |
principal.ip |
未加工ログの internalIp の値。 |
isolateAction |
security_result.detection_fields[].value |
未加工ログの isolateAction の値。 |
referer |
network.http.referral_url |
未加工ログの referer の値。 |
requestMethod |
network.http.method |
未加工ログの requestMethod の値。 |
requestSize |
security_result.detection_fields[].value |
未加工ログの requestSize の値。 |
responseBodySize |
security_result.detection_fields[].value |
未加工ログの responseBodySize の値。 |
responseSize |
security_result.detection_fields[].value |
未加工ログの responseSize の値。 |
ruleID |
security_result.rule_id |
未加工ログの ruleID の値。 |
rulesetID |
security_result.detection_fields[].value |
未加工ログの rulesetID の値。 |
sha |
security_result.about.file.sha256 |
未加工ログの sha の値。 |
statusCode |
network.http.response_code |
未加工ログの statusCode の値。 |
ts |
timestamp |
未加工ログの ts の値。タイムスタンプに解析されます。 |
url |
target.url |
未加工ログの url の値。 |
userAgent |
network.http.user_agent |
未加工ログの userAgent の値。 |
verdict |
security_result.detection_fields[].value |
未加工ログの verdict の値。 |
warnstatus |
security_result.detection_fields[].value |
未加工ログの warnstatus の値。未加工ログの collection_time の値。NETWORK_HTTP にハードコードされています。Cisco にハードコードされています。Umbrella にハードコードされています。UMBRELLA_WEBPROXY にハードコードされています。URL フィールド(http または https)のスキームから派生します。ユーザー エージェント解析ライブラリを使用して userAgent フィールドから解析されます。未加工ログの requestSize の値を整数に変換したもの。未加工ログの responseSize の値を整数に変換したもの。identityType(または identitiesV8 を含む identityTypeV8)がユーザーを示している場合、identity フィールドから派生します。さらに解析して、表示名、名、姓、メールアドレスなどのユーザーの詳細を抽出します。verdict フィールドからマッピング: allowed または allowed -> ALLOW、その他の値 -> BLOCK。categories が空でない場合は、NETWORK_CATEGORIZED_CONTENT に設定します。未加工ログの categories の値。verdict と他のフィールドに基づいて、通常は Traffic allowed または Traffic blocked。verdict が allowed または blocked ではなく、statusCode が存在する場合、概要は Traffic %{statusCode} です。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。