Cloudflareインテグレーションガイド🔗
以下の手順は、Cloudflareを設定してSecureworks® Taegis™ XDRへのログ取り込みを実現するためのものです。このインテグレーションはCloudflareのLogpushを利用してログを転送します。
インテグレーションから提供されるデータ🔗
XDRがサポートするCloudflareログタイプは以下の通りです。
注意
上記に記載されていないCloudflareイベントタイプはgenericスキーマに正規化されます。
| 正規化されたデータ | 汎用的な検知 | ベンダー固有の検知 | |
|---|---|---|---|
| Cloudflare | CloudAudit、NIDS、Thirdparty | DNS、HTTP、Netflow |
注意
XDR検知機は、データソースのログが特定の検知機に関連付けられたスキーマに正規化されていても、必ずしもトリガーされるとは限りません。ただし、カスタム検出ルールを作成することで、データソースから正規化されたデータに基づいて検出を生成することができます。
Cloudflare Logpushの送信先設定🔗
XDRは以下のLogpush送信先をサポートします。
- Amazon S3(Secureworks管理)
- Amazon S3(お客様管理)
- HTTP
S3(Secureworks管理)へのログ送信🔗
-
XDRのドキュメントに従い、S3 Ingest - Secureworks-Managed(所有権トークンチャレンジ付き)インテグレーションを作成してください。
- IAMユーザーオプションを選択し、IAMユーザー値として
arn:aws:iam::391854517948:user/cloudflare-logpushを入力してください。 -
以下のインテグレーションパラメータを控えておいてください。
- AccessPointAlias
- AWSRegion
- LogsFolderPath
- IAMユーザーオプションを選択し、IAMユーザー値として
-
Cloudflareのドキュメントに従い、S3バケットへのログ転送を設定してください。
注意
適切なS3バケットアクセス権限ポリシーは、ステップ1の一環としてXDRによって適用されます。
-
以下のフィールドを入力してください。
- Bucket — AccessPointAliasの値
- Path — LogsFolderPathの値
- Organize logs into daily subfolders — 有効
- My policy requires AWS SSE-S3 AES256 Server Side Encryption — 有効
-
Cloudflareは、S3バケットの所有権を証明するために指定した送信先にファイルを送信します。XDRのインテグレーション詳細タブをリロードし、OwnershipTokenの値をコピーしてください。

S3所有権トークン -
Cloudflareダッシュボードでトークンを入力し、S3バケットへのアクセスを検証してください。
S3(お客様管理)へのログ送信🔗
Cloudflareのドキュメントに従い、S3バケットへのログ転送を設定してください。
お客様のAWS環境でXDR Lambda関数をデプロイ🔗
こちらの手順に従い、Cloudflareのログをお客様のS3バケットからXDRへ送信するLambda関数をデプロイしてください。
注意
上記の手順はCloudTrailを参照していますが、S3からXDRへログを送信する仕組みはデータソースに依存しません。すべての手順を必ず実施してください。
HTTPレシーバーへのログ送信🔗
Cloudflareのドキュメントに従い、HTTP送信先へのログ転送を設定してください。
XDRへ送信するログフィールド🔗
Logpushを設定し、以下のフィールドをXDRへ送信してください。
Firewallイベント🔗
イベントフィールドを表示
- Action
- ClientASN
- ClientASNDescription
- ClientCountry
- ClientIP
- ClientIPClass
- ClientRefererHost
- ClientRefererPath
- ClientRefererQuery
- ClientRefererScheme
- ClientRequestHost
- ClientRequestMethod
- ClientRequestPath
- ClientRequestProtocol
- ClientRequestQuery
- ClientRequestScheme
- ClientRequestUserAgent
- Datetime
- Description
- EdgeColoCode
- EdgeResponseStatus
- Kind
- MatchIndex
- Metadata
- OriginResponseStatus
- OriginatorRayID
- RayID
- Ref
- RuleID
- Source
HTTPリクエスト🔗
イベントフィールドを表示
- ClientASN
- ClientCountry
- ClientDeviceType
- ClientIP
- ClientIPClass
- ClientRequestBytes
- ClientRequestHost
- ClientRequestMethod
- ClientRequestPath
- ClientRequestProtocol
- ClientRequestReferer
- ClientRequestScheme
- ClientRequestSource
- ClientRequestURI
- ClientRequestUserAgent
- ClientSrcPort
- EdgeEndTimestamp
- EdgeStartTimestamp
- EdgeRateLimitAction
- EdgeRateLimitID
- EdgeRequestHost
- EdgeResponseBytes
- EdgeResponseContentType
- EdgeResponseStatus
- EdgeServerIP
- SecurityActions
- SecurityRuleIDs
- SecuritySources
- OriginIP
- OriginResponseStatus
- RayID
- RequestHeaders
- ResponseHeaders
- SecurityAction
- WAFAttackScore
- SecurityRuleID
- SecurityRuleDescription
- ZoneID
- ZoneName
クエリ言語を用いた詳細検索🔗
クエリ言語検索例🔗
直近24時間のhttpイベントを検索する場合:
FROM http WHERE sensor_type = 'Cloudflare' and EARLIEST=-24h
netflowイベントを検索する場合:
FROM netflow WHERE sensor_type = 'Cloudflare'
Cloudflareから送信され、ブロックされていないイベントを検索する場合:
WHERE sensor_type = 'Cloudflare' AND blocked = 1
特定ホストのnidsイベントを検索する場合:
FROM nids WHERE sensor_type = 'Cloudflare' AND @ip = 10.10.10.10
イベント詳細🔗

サンプルログ🔗
Cloudflare🔗
Feb 22 18:33:31 10.10.10.10 {"CacheCacheStatus":"unknown","CacheResponseBytes":0,"CacheResponseStatus":0,"CacheTieredFill":false,"ClientASN":150,"ClientCountry":"us","ClientDeviceType":"desktop","ClientIP":"192.168.10.10","ClientIPClass":"noRecord","ClientRequestBytes":513,"ClientRequestHost":"host-id.example.com","ClientRequestMethod":"GET","ClientRequestPath":"/test.json","ClientRequestReferer":"","ClientRequestURI":"/test.json","ClientRequestUserAgent":"","ClientSSLCipher":"NONE","ClientSSLProtocol":"none","ClientSrcPort":63166,"EdgeColoCode":"ORD","EdgeColoID":555,"EdgeEndTimestamp":1708625184893000000,"EdgePathingOp":"wl","EdgePathingSrc":"macro","EdgePathingStatus":"nr","EdgeRateLimitAction":"","EdgeRateLimitID":0,"EdgeRequestHost":"","EdgeResponseBytes":4951,"EdgeResponseCompressionRatio":1,"EdgeResponseContentType":"text/html","EdgeResponseStatus":403,"EdgeServerIP":"","EdgeStartTimestamp":1708625184882000000,"FirewallMatchesActions":["block"],"FirewallMatchesRuleIDs":["111038"],"FirewallMatchesSources":["waf"],"OriginIP":"","OriginResponseHTTPExpires":"","OriginResponseHTTPLastModified":"","OriginResponseStatus":0,"OriginResponseTime":0,"OriginSSLProtocol":"unknown","ParentRayID":"00","RayID":"8888888888888888","SecurityLevel":"med","WAFAction":"drop","WAFFlags":"0","WAFMatchedVar":"","WAFProfile":"med","WAFRuleID":"111038","WAFRuleMessage":"Information Disclosure - Common Files","WorkerCPUTime":0,"WorkerStatus":"unknown","WorkerSubrequest":false,"WorkerSubrequestCount":0,"ZoneID":143666688}