收集 AWS Inspector 日志

解析器版本:1.0

支持的平台:

本文档介绍了如何使用 Amazon S3 将 AWS Inspector 日志注入到 Google Security Operations。

Amazon Inspector 是一种漏洞管理服务,可自动发现工作负载,并持续扫描这些工作负载,以查找软件漏洞和意外的网络暴露。它会扫描 Amazon EC2 实例、Amazon ECR 中的容器映像和 AWS Lambda 函数,生成包含严重程度得分和补救建议的详细结果。此集成使用 Amazon Inspector 的内置发现结果导出功能将 JSON 格式的发现结果报告传送到 S3 存储桶,然后 Google SecOps 使用 Amazon S3 V2 Feed 提取这些报告。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • AWS 管理控制台的特权访问权限,并拥有以下管理权限:
    • Amazon Inspector(结果、报告)
    • Amazon S3(存储桶、存储桶政策)
    • AWS KMS(密钥政策)
    • AWS IAM(角色、政策、用户)

配置 S3 存储桶以导出 Amazon Inspector 调查结果

Amazon Inspector 会先使用 AWS KMS 密钥对调查结果报告进行加密,然后再将其存储在 S3 存储桶中。您必须同时配置 S3 存储桶政策和 KMS 密钥政策,以允许 Amazon Inspector 访问。

创建和配置 S3 存储桶

  1. 按照本用户指南创建 Amazon S3 存储桶创建存储桶
  2. 保存存储桶名称区域以供日后参考(例如 inspector-findings-to-secops)。

  3. https://console.aws.amazon.com/s3Amazon S3 控制台中,选择已创建的存储桶。

  4. 选择权限标签页。

  5. 存储分区政策部分,点击修改

  6. 将以下语句添加到存储桶政策中(将 inspector-findings-to-secops 替换为您的存储桶名称,将 111122223333 替换为您的 AWS 账号 ID,并将 us-east-1 替换为您的 AWS 区域):

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "allow-inspector",
                "Effect": "Allow",
                "Principal": {
                    "Service": "inspector2.amazonaws.com"
                },
                "Action": [
                    "s3:PutObject",
                    "s3:PutObjectAcl",
                    "s3:AbortMultipartUpload"
                ],
                "Resource": "arn:aws:s3:::inspector-findings-to-secops/*",
                "Condition": {
                    "StringEquals": {
                        "aws:SourceAccount": "111122223333"
                    },
                    "ArnLike": {
                        "aws:SourceArn": "arn:aws:inspector2:us-east-1:111122223333:report/*"
                    }
                }
            }
        ]
    }
    
  7. 点击保存更改

配置 AWS KMS 密钥

Amazon Inspector 需要使用客户管理的对称加密 AWS KMS 密钥(与 S3 存储桶位于同一区域)来加密调查结果报告。

  1. 访问 https://console.aws.amazon.com/kms,打开 AWS KMS 控制台
  2. 在导航窗格中,选择客户管理的密钥
  3. 选择要使用的 KMS 密钥(或创建新的对称加密密钥)。
  4. 选择密钥政策标签页,然后点击修改
  5. 将以下语句添加到密钥政策中(将 111122223333 替换为您的 AWS 账号 ID,并将 us-east-1 替换为您的 AWS 区域):

    {
        "Sid": "Allow Amazon Inspector to use the key",
        "Effect": "Allow",
        "Principal": {
            "Service": "inspector2.amazonaws.com"
        },
        "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey*"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "111122223333"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:inspector2:us-east-1:111122223333:report/*"
            }
        }
    }
    
  6. 点击保存更改

将 Amazon Inspector 发现结果导出到 S3

  1. 访问 https://console.aws.amazon.com/inspector/v2/home,登录 Amazon Inspector 控制台
  2. 在导航窗格中,依次前往发现 > 所有发现
  3. 可选:使用检测结果表格上方的过滤条件栏,指定要在报告中纳入哪些检测结果。

  4. 点击导出发现结果

  5. 导出设置部分,针对导出文件类型,选择 JSON

  6. 导出位置下,对于 S3 URI,点击 Browse S3,然后选择 S3 存储桶 inspector-findings-to-secops

  7. 对于 KMS 密钥,请选择您配置的 AWS KMS 密钥。

  8. 点击导出

使用 AWS CLI 自动导出发现结果

如需定期导出发现结果报告,请使用 AWS CLI create-findings-report 命令。您可以使用 Amazon EventBridge Scheduler 或 Cron 作业来安排此命令。

  • 示例命令:

    aws inspector2 create-findings-report \
        --report-format JSON \
        --s3-destination bucketName=inspector-findings-to-secops,keyPrefix=findings/,kmsKeyArn=arn:aws:kms:us-east-1:111122223333:key/your-kms-key-id
    

如需了解详情,请参阅 create-findings-report AWS CLI 参考文档。

为 Google SecOps 配置 IAM 用户

Google SecOps 需要一个具有 S3 存储桶读取权限的 IAM 用户才能注入导出的发现结果。

  1. 按照以下用户指南创建用户创建 IAM 用户
  2. 选择创建的用户
  3. 选择安全凭据标签页。
  4. 访问密钥部分中,点击创建访问密钥
  5. 选择第三方服务作为使用情形
  6. 点击下一步
    • 可选:添加说明标记。
  7. 点击创建访问密钥
  8. 点击下载 .csv 文件以保存访问密钥密钥,供日后参考。
  9. 点击完成
  10. 选择权限标签页。
  11. 权限政策部分中,点击添加权限
  12. 选择添加权限
  13. 选择直接附加政策
  14. 搜索 AmazonS3FullAccess 政策。
  15. 选择相应政策。
  16. 点击下一步
  17. 点击添加权限

在 Google SecOps 中配置 Feed 以注入 AWS Inspector 日志

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称输入一个唯一名称。
  5. 选择 Amazon S3 V2 作为来源类型
  6. 选择 AWS Inspector 作为日志类型
  7. 点击下一步,然后点击提交
  8. 为以下字段指定值:

    • S3 URIs3://inspector-findings-to-secops/findings/
    • 来源删除选项:根据您的偏好选择删除选项
    • 文件存在时间上限:包含在过去指定天数内修改的文件(默认值为 180 天)
    • 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥
    • 私有访问密钥:具有 S3 存储桶访问权限的用户私有密钥
    • 资产命名空间资产命名空间
    • 注入标签:要应用于此 Feed 中事件的标签
  9. 点击下一步,然后点击提交

UDM 映射表

日志字段 UDM 映射 逻辑
duration_ms_label additional.fields 已合并
evnt_app_class_label additional.fields 已合并
evnt_cloud_application_class_label additional.fields 已合并
evnt_cloud_sandbox_md5_label additional.fields 已合并
evnt_cloudapp_rule_label additional.fields 已合并
evnt_content_type_label additional.fields 已合并
evnt_customer_label additional.fields 已合并
evnt_department_label additional.fields 已合并
evnt_location_label additional.fields 已合并
evnt_lpclagg_label additional.fields 已合并
evnt_lpcltype_label additional.fields 已合并
evnt_network_service_label additional.fields 已合并
evnt_tenant_label additional.fields 已合并
evnt_url_category_label additional.fields 已合并
exception_label additional.fields 已合并
function_label additional.fields 已合并
id_label additional.fields 已合并
level_no_label additional.fields 已合并
line_label additional.fields 已合并
location_label additional.fields 已合并
logger_field additional.fields 已合并
msg_location_label additional.fields 已合并
msg_record_functionName_label additional.fields 已合并
msg_record_functionVersion_label additional.fields 已合并
msg_record_initializationType_label additional.fields 已合并
msg_record_instancId_label additional.fields 已合并
msg_record_instanceMaxMemory_label additional.fields 已合并
msg_record_phase_label additional.fields 已合并
msg_service_label additional.fields 已合并
msg_type_label additional.fields 已合并
msg_xray_trace_id_label additional.fields 已合并
protocol_label additional.fields 已合并
record_version_label additional.fields 已合并
repr_label additional.fields 已合并
service_label additional.fields 已合并
sourcetype_label additional.fields 已合并
thread_name_label additional.fields 已合并
type_label additional.fields 已合并
xray_trace_id_label additional.fields 已合并
evnt_device_hostname intermediary.hostname 直接映射
evnt_fwd_method_label intermediary.resource.attribute.labels 已合并
desc_msg metadata.description 直接映射
message metadata.description 直接映射
msg metadata.description 直接映射
msg_desc_msg metadata.description 直接映射
msg_record_desc_msg metadata.description 直接映射
msg_text metadata.description 直接映射
msg.time metadata.event_timestamp 解析为 ISO8601
repr_time metadata.event_timestamp 解析为 ISO8601
timestamp metadata.event_timestamp 解析为 ISO8601
has_host metadata.event_type 已映射:trueSTATUS_UPDATE
has_user metadata.event_type 已映射:trueUSER_COMMUNICATIONtrueUSER_UNCATEGORIZED
msg_record_module metadata.product_event_type 直接映射
id_1 metadata.product_log_id 直接映射
evnt_bytes_in network.received_bytes 直接映射
evnt_bytes_out network.sent_bytes 直接映射
evnt_app_name principal.application 直接映射
msg_record_process_name principal.application 直接映射
evnt_device_app_version_label principal.asset.attribute.labels 已合并
evnt_ssl_policy_label principal.asset.attribute.labels 已合并
evnt_server_ip principal.asset.ip 已合并
evnt_src_ip principal.asset.ip 已合并
evnt_src_translated_ip principal.asset.ip 已合并
msg_record_file_path principal.file.full_path 直接映射
msg_record_file_name principal.file.names 已合并
evnt_hostname principal.hostname 直接映射
host principal.hostname 直接映射
evnt_server_ip principal.ip 已合并
evnt_src_ip principal.ip 已合并
evnt_src_translated_ip principal.ip 已合并
evnt_os principal.platform 已映射:WindowsWINDOWSLinuxLINUX
evnt_src_port principal.port 直接映射
port_number principal.port 直接映射
msg_record_process_id principal.process.pid 直接映射
cmd_status_label principal.resource.attribute.labels 已合并
evnt_format_label principal.resource.attribute.labels 已合并
evnt_os_label principal.resource.attribute.labels 已合并
msg_record_runtimeVersionArn_label principal.resource.attribute.labels 已合并
msg_record_runtimeVersion_label principal.resource.attribute.labels 已合并
record_requestId_labels principal.resource.attribute.labels 已合并
requestId_labels principal.resource.attribute.labels 已合并
msg_record_name principal.resource.name 直接映射
id principal.resource.product_object_id 直接映射
evnt_url principal.url 直接映射
evnt_device_owner principal.user.user_display_name 直接映射
evnt_user principal.user.userid 直接映射
msg_extra_desc_msg_body_account_id principal.user.userid 直接映射
evnt_action security_result.action 已映射:allowsecurity_result_action
security_result_action security_result.action 已合并
security_result_category_details security_result.category_details 已合并
security_result_url_super_category security_result.category_details 已合并
elapsed_time_label security_result.detection_fields 已合并
evnt_session_count_label security_result.detection_fields 已合并
evnt_ssl_decrypted_label security_result.detection_fields 已合并
evnt_url_class_label security_result.detection_fields 已合并
level_icon_label security_result.detection_fields 已合并
level security_result.severity 已映射:INFOINFORMATIONALWARNINGMEDIUM
msg_level security_result.severity 已映射:INFOINFORMATIONALWARNINGMEDIUM
evnt_dest_ip target.ip 已合并
evnt_dest_country target.location.country_or_region 直接映射
evnt_dest_port target.port 直接映射
dst_url target.url 直接映射
不适用 metadata.event_type 常量:USER_COMMUNICATION
不适用 metadata.product_name 常量:AWS Inspector
不适用 metadata.vendor_name 常量:AWS Inspector
不适用 network.ip_protocol 常量:UDP
不适用 principal.platform 常量:WINDOWS
不适用 security_result.detection_fields 常量:client_tunnel_ip_label
不适用 security_result.severity 常量:INFORMATIONAL

更新日志

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

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