收集 Amazon CloudFront 日志

解析器版本:10.0

支持的平台:

本文档介绍了如何通过设置 Google Security Operations Feed 来收集 Amazon CloudFront 日志。

如需了解详情,请参阅 Google Security Operations 数据注入概览

注入标签用于标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 AWS_CLOUDFRONT 注入标签的解析器。

准备工作

确保已创建 Amazon S3 存储桶。如需了解详情,请参阅创建您的第一个 S3 存储桶

配置 Amazon CloudFront

  1. 登录 AWS 管理控制台。
  2. 访问 Amazon S3 控制台,然后创建 Amazon S3 存储桶。
  3. 点击开启以启用日志记录。
  4. 日志存储桶字段中,指定 Amazon S3 存储桶名称。
  5. 日志前缀字段中,指定一个可选前缀。
  6. 将日志文件存储在 Amazon S3 存储桶中后,创建一个 SQS 队列,并将其附加到 Amazon S3 存储桶。

确定连接的端点

检查 S3、SQS 和 KMS 所需的 Identity and Access Management 用户和 KMS 密钥政策。

根据服务和区域,参考以下 AWS 文档确定连接端点:

设置 Feed

您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:

  • SIEM 设置 > Feed > 添加新 Feed
  • 内容中心 > 内容包 > 开始

如何设置 AWS CloudFront Feed

  1. 点击 Amazon Cloud Platform 包。
  2. 找到 AWS CloudFront 日志类型。
  3. 在以下字段中指定值。

    • 来源类型:Amazon SQS V2
    • 队列名称:要从中读取数据的 SQS 队列名称
    • S3 URI:存储桶 URI。
      • s3://your-log-bucket-name/
        • your-log-bucket-name 替换为您的 S3 存储桶的实际名称。
    • 源删除选项:根据您的提取偏好设置选择删除选项。

    • 文件存在时间上限:包含在过去指定天数内修改的文件。默认值为 180 天。

    • SQS 队列访问密钥 ID:一个包含 20 个字符的字母数字字符串形式的账号访问密钥。

    • SQS 队列私有访问密钥:一个包含 40 个字符的字母数字字符串形式的账号访问密钥。

    高级选项

    • Feed 名称:用于标识 Feed 的预填充值。
    • 资源命名空间:与 Feed 关联的命名空间。
    • 提取标签:应用于相应 Feed 中所有事件的标签。
  4. 点击创建 Feed

如需详细了解如何为相应产品系列中的不同日志类型配置多个 Feed,请参阅按产品配置 Feed

字段映射参考

此解析器可从 SYSLOG 或 JSON 格式的 AWS CloudFront 日志中提取字段,并将其标准化为 UDM。它使用 grok 模式解析消息字符串,处理各种数据转换(例如类型转换、重命名),并通过用户代理解析和应用协议识别等其他上下文来丰富数据。

UDM 映射表

日志字段 UDM 映射 逻辑
c-ip principal.ip 直接映射。还映射到 principal.asset.ip
c-port principal.port 直接映射。
cs(Cookie) additional.fields[].key:“cookie”
additional.fields[].value.string_value:直接映射。
如果存在 cs(Cookie)agent 不包含“://”,则有条件地进行映射。
cs(Host) principal.hostname 直接映射。还映射到 principal.asset.hostname。用于在其他网址字段不可用时构建 target.url
cs(Referer) network.http.referral_url 直接映射。
cs(User-Agent) network.http.user_agent 直接映射。如果网址不包含“://”,则还会映射到 network.http.parsed_user_agent 并解析为各个组成部分。
cs-bytes network.sent_bytes 直接映射。转换为无符号整数。
cs-method network.http.method 直接映射。
cs-protocol network.application_protocol 转换为大写后的映射。如果该值未被识别为标准应用协议,且 cs-protocol-version 包含“HTTP”,则 network.application_protocol 会设置为“HTTP”。
dport target.port 直接映射。已转换为整数。
edge_location principal.location.name 直接映射。
fle-encrypted-fields additional.fields[].key: "fle-encrypted-fields"
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
fle-status additional.fields[].key:“fle-status”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
host principal.hostnameprincipal.asset.hostname 直接映射。
id principal.asset_id 直接映射到前缀“id:”。
ip target.iptarget.asset.ip 直接映射。
log_id metadata.product_log_id 直接映射。
resource additional.fields[].key:“资源”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
result_type additional.fields[].key:“result_type”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
sc-bytes network.received_bytes 直接映射。转换为无符号整数。
sc-content-len additional.fields[].key:“sc-content-len”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
sc-content-type additional.fields[].key:“sc-content-type”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
sc-status network.http.response_code 直接映射。已转换为整数。
ssl-cipher network.tls.cipher 直接映射。
ssl-protocol network.tls.version 直接映射。
timestamp metadata.event_timestamp 如果可用,则进行解析和映射。支持多种格式。
ts metadata.event_timestamp 如果可用,则进行解析和映射。应采用 ISO8601 格式。
url target.url 直接映射。
url_back_to_product metadata.url_back_to_product 直接映射。
x-edge-detailed-result-type additional.fields[].key:“x-edge-detailed-result-type”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
x-edge-location additional.fields[].key:“x-edge-location”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
x-edge-request-id additional.fields[].key:“x-edge-request-id”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
x-edge-response-result-type additional.fields[].key:“x-edge-response-result-type”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
x-edge-result-type additional.fields[].key:“x-edge-result-type”
additional.fields[].value.string_value:直接映射。
如果存在,则有条件地映射。
x-forwarded-for target.iptarget.asset.ip 直接映射。如果存在多个 IP(以逗号分隔),则这些 IP 会被拆分并合并到相应的 UDM 字段中。
x-host-header target.hostnametarget.asset.hostname 直接映射。如果存在 ipx-forwarded-forhttp_verb,则设置为“NETWORK_HTTP”。否则,设置为“GENERIC_EVENT”。硬编码为“AWS_CLOUDFRONT”。硬编码为“AWS CloudFront”。硬编码为“AMAZON”。日志条目注入到 Google Security Operations 的时间。
cs_cookie event.idm.read_only_udm.additional.fields 从变更日志映射
time-taken event.idm.read_only_udm.additional.fields 从变更日志映射
time-to-first-byte event.idm.read_only_udm.additional.fields 从变更日志映射
cribl_pipe event.idm.read_only_udm.additional.fields 从变更日志映射
cs-referer event.idm.read_only_udm.network.http.referer 从变更日志映射
cs-uri-query event.idm.read_only_udm.network.http.url_details.query 从变更日志映射
cs-user-agent event.idm.read_only_udm.network.http.user_agent 从变更日志映射
cs-uri-stem event.idm.read_only_udm.target.url 从变更日志映射
x-forwarded-for security_result.detection_fields 从变更日志映射
avgrequestTime event.idm.read_only_udm.additional.fields 从变更日志映射
htmlType event.idm.read_only_udm.additional.fields 从变更日志映射
responseTime event.idm.read_only_udm.additional.fields 从变更日志映射
securityKey event.idm.read_only_udm.additional.fields 从变更日志映射
bytes event.idm.read_only_udm.network.sent_bytes 从变更日志映射
srcport event.idm.read_only_udm.src.port 从变更日志映射
encryptionType event.idm.read_only_udm.security_result.about.resource.name 从变更日志映射
hostname event.idm.read_only_udm.principal.hostname 从变更日志映射
scrip event.idm.read_only_udm.src.ip 从变更日志映射
targetip event.idm.read_only_udm.target.ip 从变更日志映射
targetip event.idm.read_only_udm.target.asset.ip 从变更日志映射
tlsvVersion event.idm.read_only_udm.network.tls.version 从变更日志映射
CloudFront-Is-Desktop-Viewer event.idm.read_only_udm.additional.fields 从变更日志映射
CloudFront-Is-Mobile-Viewer event.idm.read_only_udm.additional.fields 从变更日志映射
CloudFront-Is-SmartTV-Viewer event.idm.read_only_udm.additional.fields 从变更日志映射
CloudFront-Is-Tablet-Viewer event.idm.read_only_udm.additional.fields 从变更日志映射
vDetails event.idm.read_only_udm.network.http.user_agent 从变更日志映射
x-envoy-expected-rq-timeout-ms event.idm.read_only_udm.additional.fields 从变更日志映射
x-envoy-external-address event.idm.read_only_udm.additional.fields 从变更日志映射
x-envoy-original-authority event.idm.read_only_udm.additional.fields 从变更日志映射
x-f5-cdn-tls-ja3 event.idm.read_only_udm.additional.fields 从变更日志映射
x-f5-cdn-tls-ja4 event.idm.read_only_udm.additional.fields 从变更日志映射
x-forwarded-proto event.idm.read_only_udm.additional.fields 从变更日志映射
xc-trusted-source event.idm.read_only_udm.additional.fields 从变更日志映射
ipType event.idm.read_only_udm.additional.fields 从变更日志映射
method event.idm.read_only_udm.network.http.method 从变更日志映射
x-request-id event.idm.read_only_udm.metadata.product_log_id 从变更日志映射
version event.idm.read_only_udm.metadata.product_log_id 从变更日志映射
requestCode event.idm.read_only_udm.network.http.response_code 从变更日志映射
ipAddress event.idm.read_only_udm.principal.ip 从变更日志映射
uri_query event.idm.read_only_udm.additional.fields 从变更日志映射
Bucket target.resource.name 从变更日志映射
accountID principal.user.userid 从变更日志映射
file target.file.full_path 从变更日志映射
region principal.location.country_or_region 从变更日志映射
msg metadata.description 从变更日志映射
service", "aggregation", "func", "requestID", "lpcltype", "lpclagg", "level" and "LoggingEnabled additional.fields 从变更日志映射

更新日志

查看相应解析器的更改日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。