收集 Amazon CloudFront 日志
本文档介绍了如何通过设置 Google 安全运营 Feed 来收集 Amazon CloudFront 日志。
如需了解详情,请参阅将数据提取到 Google 安全运营中心概览。
提取标签用于标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 AWS_CLOUDFRONT
注入标签的解析器。
准备工作
确保已创建 Amazon S3 存储分区。如需了解详情,请参阅创建您的第一个 S3 存储分区。
配置 Amazon CloudFront
- 登录 AWS 管理控制台。
- 访问 Amazon S3 控制台,然后创建 Amazon S3 存储分区。
- 如需启用日志记录,请选择开启。
- 在用于存储日志的存储分区字段中,指定 Amazon S3 存储分区名称。
- 在日志前缀字段中,指定可选的前缀。
- 将日志文件存储在 Amazon S3 存储分区中后,创建一个 SQS 队列并将其附加到 Amazon S3 存储分区。
确定连接端点
检查 S3、SQS 和 KMS 的必需 IAM 用户和 KMS 密钥政策。
根据服务和区域,参阅以下 AWS 文档,确定连接端点:
- 如需了解任何日志记录来源,请参阅 AWS Identity and Access Management 端点和配额。
- 如需了解 S3 日志记录源,请参阅 Amazon Simple Storage Service 端点和配额。
- 如需了解 SQS 日志记录来源,请参阅 Amazon Simple Queue Service 端点和配额。
在 Google Security Operations 中配置 Feed 以提取 Amazon CloudFront 日志
- 依次选择 SIEM 设置 > Feed。
- 点击新增。
- 为Feed 名称输入一个具有唯一性的名称。
- 选择 Amazon S3 或 Amazon SQS 作为来源类型。
- 选择 AWS CloudFront 作为日志类型。
- 点击下一步。
- Google 安全运营支持使用访问密钥 ID 和密钥方法收集日志。如需创建访问密钥 ID 和密钥,请参阅使用 AWS 配置工具身份验证。
- 根据您创建的 Amazon CloudFront 配置,为以下字段指定值。
- 如果您使用 Amazon S3,请为以下字段指定值:
- 区域
- S3 URI
- URI 是
- 来源删除选项
- 如果您使用 Amazon SQS,请为以下字段指定值:
- 区域
- 队列名称
- 账号
- 队列访问密钥 ID
- 队列私有访问密钥
- 来源删除选项
- 如果您使用 Amazon S3,请为以下字段指定值:
- 点击下一步,然后点击提交。
如需将 Amazon CloudFront 日志发送到 Amazon S3 存储分区,请参阅配置和使用标准日志(访问日志)。
如需详细了解 Google Security Operations Feed,请参阅 Google Security Operations Feed 文档。如需了解每种 Feed 类型的要求,请参阅按类型配置 Feed。如果您在创建 Feed 时遇到问题,请与 Google 安全运营支持团队联系。
字段映射参考文档
此解析器会从 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 的时间。 |
需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。