Cisco Umbrella Web Proxy のログを収集する
このドキュメントでは、AWS S3 バケットを使用して Cisco Umbrella ウェブ プロキシログを Google Security Operations フィードに収集する方法について説明します。パーサーは CSV ログからフィールドを抽出し、わかりやすいように列の名前を変更し、入力データの潜在的なバリエーションを処理します。次に、含まれているファイル(umbrella_proxy_udm.include
と umbrella_handle_identities.include
)を使用して、抽出されたフィールドを UDM にマッピングし、identityType
フィールドに基づいて ID 情報を処理します。
始める前に
- Google SecOps インスタンスがあることを確認します。
- AWS IAM と S3 への特権アクセス権があることを確認します。
- Cisco Umbrella に対する特権アクセス権があることを確認します。
Cisco 管理の Amazon S3 バケットを構成する
- Cisco Umbrella ダッシュボードにログインします。
- [管理者] > [ログ管理] に移動します。
- [Use a Cisco-managed Amazon S3 bucket] オプションを選択します。
- 次の構成の詳細を入力します。
- リージョンを選択: レイテンシを低減するため、ロケーションに近いリージョンを選択します。
- 保持期間を選択する: 期間を選択します。保持期間は 7 日、14 日、30 日のいずれかです。選択した期間が過ぎると、データは削除され、復元できなくなります。取り込みサイクルが定期的な場合は、期間を短くします。保持期間は後で変更できます。
- [保存] をクリックします。
- [続行] をクリックして選択内容を確定し、有効化の通知を受け取ります。
表示された [Activation complete] ウィンドウに、[Access key] と [Secret key] の値が表示されます。 - [アクセスキー] と [シークレット キー] の値をコピーします。これらのキーを紛失した場合は、再生成する必要があります。
- [OK > 続行] をクリックします。
- 概要ページに、構成とバケット名が表示されます。ロギングは、組織の要件に応じて無効または有効にできます。ただし、新しいデータが追加されても、ログは保持期間に基づいて削除されます。
省略可: セルフマネージド AWS S3 バケットのユーザー アクセスキーを構成する
- AWS Management Console にログインします。
- IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] で [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [CSV ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、後で使用できるようにします。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで、[権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索して選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
省略可: セルフマネージド Amazon S3 バケットを構成する
AWS Management Console にログインします。
S3 に移動します。
[バケットを作成] をクリックします。
次の構成情報を提供してください。
- バケット名: Amazon S3 バケットの名前を指定します。
- リージョン: リージョンを選択します。
[作成] をクリックします。
省略可: セルフマネージド AWS S3 バケットのバケット ポリシーを構成する
- 新しく作成されたバケットをクリックして開きます。
- [プロパティ> 権限] を選択します。
- [権限] リストで、[バケット ポリシーを追加] をクリックします。
次のように、事前構成されたバケット ポリシーを入力します。
{ "Version": "2008-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::BUCKET_NAME/*" }, { "Sid": "", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::BUCKET_NAME/*"}, { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::BUCKET_NAME" }, { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::BUCKET_NAME" } ] }
BUCKET_NAME
は、指定した Amazon S3 バケット名に置き換えます。
[保存] をクリックします。
省略可: セルフマネージド Amazon S3 バケットに必要な検証
- Cisco Umbrella ダッシュボードで、[Admin] > [Log management] > [Amazon S3] を選択します。
- [バケット名] フィールドに Amazon S3 バケット名を正確に指定し、[確認] をクリックします。
- 確認プロセスの一環として、
README_FROM_UMBRELLA.txt
という名前のファイルが Cisco Umbrella から Amazon S3 バケットにアップロードされます。アップロードされた README ファイルを表示するには、ブラウザの更新が必要になることがあります。 README_FROM_UMBRELLA.txt
ファイルをダウンロードし、テキスト エディタで開きます。- ファイルから一意の Cisco Umbrella トークンをコピーして保存します。
- Cisco Umbrella ダッシュボードに移動します。
- [トークン番号] フィールドでトークンを指定し、[保存] をクリックします。
- 成功すると、バケットが正常に検証されたことを示す確認メッセージがダッシュボードに表示されます。バケットを検証できないことを示すエラーが表示された場合は、バケット名の構文を再確認し、構成を見直してください。
Cisco Umbrella Web Proxy のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [新しく追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: Cisco Umbrella Web Proxy Logs)。
- [ソースタイプ] として [Amazon S3 V2] を選択します。
- [Log type] として [Cisco Umbrella Web Proxy] を選択します。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- S3 URI: バケット URI。
s3:/BUCKET_NAME
BUCKET_NAME
は、バケットの実際の名前に置き換えます。
- Source deletion options: 必要に応じて削除オプションを選択します。
- S3 URI: バケット 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 のプロフェッショナルから回答を得ることができます。