收集 Akamai DataStream 2 記錄
剖析器版本:2.0
本文說明如何使用 Amazon S3,將 Akamai DataStream 2 記錄擷取至 Google Security Operations。
Akamai DataStream 2 會擷取 Akamai Intelligent Edge Platform 的效能和安全性記錄,並近乎即時地傳送至您選擇的目的地。您可以使用 DataStream 2 監控、偵錯及分析 Akamai 資源的 CDN 和安全事件。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體。
- 具備 DataStream 2 設定權限的 Akamai Control Center 存取權。
- AWS (S3、IAM) 的特殊存取權。
為 Google SecOps 設定 AWS S3 值區和 IAM
- 按照這份使用者指南建立 Amazon S3 bucket:建立 bucket。
- 請儲存 bucket 的「名稱」和「區域」,以供日後參考 (例如
akamai-datastream2-logs)。 - 請按照這份使用者指南建立使用者:建立 IAM 使用者。
- 選取建立的「使用者」。
- 選取「安全憑證」分頁標籤。
- 在「Access Keys」部分中,按一下「Create Access Key」。
- 選取「第三方服務」做為「用途」。
- 點選「下一步」。
- 新增說明標記 (如有需要)。
- 按一下「建立存取金鑰」。
- 按一下「Download .csv file」(下載 .csv 檔案),儲存「Access Key」(存取金鑰) 和「Secret Access Key」(私密存取金鑰),以供日後參考。
- 按一下 [完成]。
- 選取「權限」分頁標籤。
- 在「權限政策」部分中,按一下「新增權限」。
- 選取「新增權限」。
- 選取「直接附加政策」。
- 搜尋「AmazonS3FullAccess」AmazonS3FullAccess政策。
- 選取政策。
- 點選「下一步」。
- 按一下「Add permissions」。
設定 Akamai S3 上傳的身分與存取權管理政策
- 在 AWS 控制台中,依序前往「IAM」>「Policies」>「Create policy」>「JSON」分頁標籤。
- 複製並貼上下列政策。
政策 JSON (如果您使用不同的 bucket 名稱,請替換
akamai-datastream2-logs):{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAkamaiDataStreamWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::akamai-datastream2-logs", "arn:aws:s3:::akamai-datastream2-logs/*" ] } ] }點選「下一步」。
輸入政策名稱 (例如
AkamaiDataStreamS3Policy)。點選「建立政策」。
依序前往「IAM」>「Users」>「Create user」。
輸入使用者名稱 (例如
akamai-datastream-writer)。點選「下一步」。
選取「直接附加政策」。
搜尋並選取上述建立的政策。
依序點選「下一步」>「建立使用者」。
選取建立的使用者,然後依序前往「安全憑證」>「建立存取金鑰」。
選取「第三方服務」做為「用途」,然後按一下「下一步」> 建立存取金鑰。
按一下「Download .csv file」,儲存 Akamai DataStream 2 設定的「Access Key ID」和「Secret Access Key」。
設定 Akamai DataStream 2,將記錄傳送至 Amazon S3
- 登入 Akamai Control Center。
- 前往 DataStream 2。
- 按一下「建立串流」。
- 選取適合資源的記錄類型 (例如「傳送」、「Edge DNS」、「GTM」)。
- 在「資料集」中,選取所需欄位。除非有特定需求,否則請保留預設值。
- 前往「目的地」,然後選取「Amazon S3」。
- 填寫 S3 目的地詳細資料:
- 名稱:輸入目的地的描述性標籤 (例如
SIEM S3 Destination)。 - Bucket:輸入 S3 bucket 名稱 (例如
akamai-datastream2-logs)。 - 資料夾路徑:輸入資料夾路徑 (例如
datastream2/logs/)。支援時間戳記等動態變數。 - 區域:選取與 S3 儲存貯體相符的 AWS 區域。
- 存取金鑰 ID:輸入為 Akamai 建立的 IAM 使用者存取金鑰 ID。
- 私密存取金鑰:輸入為 Akamai 建立的 IAM 使用者私密存取金鑰。
- 名稱:輸入目的地的描述性標籤 (例如
按一下「驗證並儲存」。
選用:在「放送選項」中,設定下列項目:
- 推送頻率:選取「30 秒」或「60 秒」。
- 檔案名稱前置字串和後置字串:視需要自訂。避免在前置字串中使用
.。
依序點選「下一步」>「啟用」。
(選用) 為 Google SecOps 建立唯讀 IAM 使用者
如要為 Google SecOps 另外建立唯讀權限使用者來擷取記錄檔,請按照下列步驟操作:
- 前往 AWS Console > IAM > Policies > Create policy > JSON tab。
複製並貼上下列政策 (如果您使用不同的值區名稱,請將
akamai-datastream2-logs取代為相應的名稱):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::akamai-datastream2-logs/*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::akamai-datastream2-logs" } ] }點選「下一步」。
輸入政策名稱 (例如
secops-reader-policy)。點選「建立政策」。
依序前往「IAM」>「Users」>「Create user」。
輸入使用者名稱 (例如
secops-reader)。點選「下一步」。
選取「直接附加政策」,然後選取上述建立的政策。
依序點選「下一步」>「建立使用者」。
選取建立的使用者,然後依序前往「安全憑證」>「建立存取金鑰」。
選取「第三方服務」做為「用途」,然後按一下「下一步」> 建立存取金鑰。
按一下「Download .csv file」(下載 .csv 檔案),儲存 Google SecOps 資訊主頁設定的「Access Key ID」(存取金鑰 ID) 和「Secret Access Key」(存取密鑰)。
在 Google SecOps 中設定資訊提供,擷取 Akamai DataStream 2 記錄
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 輸入專屬的動態饋給名稱 (例如
Akamai DataStream 2 Logs)。 - 選取「Amazon S3 V2」做為「來源類型」。
- 選取「Akamai DataStream 2」做為「記錄類型」。
- 依序點按「繼續」和「提交」。
為下列欄位指定值:
- S3 URI:
s3://akamai-datastream2-logs/datastream2/logs/ - 來源刪除選項:根據偏好設定選取刪除選項。
- 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 180 天)。
- 存取金鑰 ID:具有 S3 值區存取權的使用者存取金鑰。
- 存取密鑰:具有 S3 bucket 存取權的使用者私密金鑰。
- 資產命名空間:資產命名空間。
- 擷取標籤:要套用至這個動態饋給事件的標籤。
- S3 URI:
依序點按「繼續」和「提交」。
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
billingRegion_label |
additional.fields |
已合併 |
bytes_label |
additional.fields |
已合併 |
cache_status_label |
additional.fields |
已合併 |
customfield_label |
additional.fields |
已合併 |
errorCode_label |
additional.fields |
已合併 |
error_code_label |
additional.fields |
已合併 |
fileSizeBucket_label |
additional.fields |
已合併 |
jsonPayload_cookie_label |
additional.fields |
已合併 |
jsonPayload_cp_label |
additional.fields |
已合併 |
jsonPayload_overheadbytes_label |
additional.fields |
已合併 |
objSize_label |
additional.fields |
已合併 |
objsize_label |
additional.fields |
已合併 |
overheadBytes_label |
additional.fields |
已合併 |
rspContentLen_label |
additional.fields |
已合併 |
rspcontentlen_label |
additional.fields |
已合併 |
trace_label |
additional.fields |
已合併 |
transferTimeMSec_label |
additional.fields |
已合併 |
turnAroundTimeMSec_label |
additional.fields |
已合併 |
has_principal |
metadata.event_type |
對應:true → NETWORK_HTTP、true → NETWORK_CONNECTION、true → STATUS_UPDATE |
has_user |
metadata.event_type |
已對應:true → USER_UNCATEGORIZED |
insertId |
metadata.product_log_id |
直接對應 |
proto_type |
network.application_protocol |
直接對應 |
jsonPayload.reqmethod |
network.http.method |
直接對應 |
reqMethod |
network.http.method |
直接對應 |
jsonPayload_referer |
network.http.referral_url |
直接對應 |
jsonPayload.statuscode |
network.http.response_code |
直接對應 |
statusCode |
network.http.response_code |
直接對應 |
UA |
network.http.user_agent |
直接對應 |
jsonPayload.ua |
network.http.user_agent |
直接對應 |
jsonPayload.reqid |
network.session_id |
直接對應 |
reqId |
network.session_id |
直接對應 |
jsonPayload.tlsversion |
network.tls.version |
直接對應 |
tlsVersion |
network.tls.version |
直接對應 |
version |
network.tls.version_protocol |
直接對應 |
cliIP |
principal.asset.ip |
已合併 |
jsonPayload.cliip |
principal.asset.ip |
已合併 |
cliIP |
principal.ip |
已合併 |
jsonPayload.cliip |
principal.ip |
已合併 |
jsonPayload.city |
principal.location.city |
直接對應 |
jsonPayload.country |
principal.location.country_or_region |
直接對應 |
jsonPayload.totalbytes |
principal.network.received_bytes |
已重新命名/對應 |
totalBytes |
principal.network.received_bytes |
直接對應 |
logName |
security_result.category_details |
已合併 |
asn_label |
security_result.detection_fields |
已合併 |
querystr_label |
security_result.detection_fields |
已合併 |
securityrules_label |
security_result.detection_fields |
已合併 |
service_name_label |
security_result.detection_fields |
已合併 |
jsonPayload.reqhost |
target.asset.hostname |
直接對應 |
jsonPayload.reqpath |
target.file.full_path |
直接對應 |
reqPath |
target.file.full_path |
直接對應 |
jsonPayload.rspcontenttype |
target.file.mime_type |
直接對應 |
rspContentType |
target.file.mime_type |
直接對應 |
jsonPayload.reqhost |
target.hostname |
直接對應 |
jsonPayload.reqport |
target.port |
已重新命名/對應 |
reqPort |
target.port |
已重新命名/對應 |
uncompressedsize |
target.process.file.size |
直接對應 |
resource.type |
target.resource.resource_subtype |
直接對應 |
| 不適用 | metadata.event_type |
常數:NETWORK_HTTP |
| 不適用 | metadata.product_name |
常數:Akamai Datastream |
| 不適用 | metadata.vendor_name |
常數:AkamaiDatastream |
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。