收集 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:

  • 设置 > 数据管理 > Feed > 添加新 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.hostname,principal.asset.hostname 直接映射。
id principal.asset_id 直接映射,前缀为“id: ”。
ip target.ip,target.asset.ip 直接映射。
log_id metadata.product_log_id 直接映射。
resource additional.fields[].key:“resource”
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.ip,target.asset.ip 直接映射。如果存在多个 IP(以逗号分隔),则会拆分并合并到相应的 UDM 字段中。
x-host-header target.hostname,target.asset.hostname 直接映射。如果存在 ip 或 x-forwarded-for 和 http_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 专业人士的解答。