将 Amazon GuardDuty 与 Google SecOps 集成

本文档介绍了如何将 Amazon GuardDuty 与 Google Security Operations (Google SecOps) 集成。

集成版本:8.0

前提条件

如果您需要对集成进行只读访问(例如运行连接器),请使用 AmazonGuardDutyReadOnlyAccess 政策。

如需获得对所有集成功能的完整访问权限,请使用 AmazonGuardDutyFullAccess 政策。

如需详细了解如何使用政策,请参阅 AWS 托管式政策

集成参数

使用以下参数配置集成:

参数名称 类型 默认值 为必需参数 说明
AWS 访问密钥 ID 字符串 不适用 要在集成中使用的 AWS 访问密钥 ID。
AWS 密钥 密码 不适用 要在集成中使用的 AWS 密钥。
AWS 默认区域 字符串 不适用 集成中要使用的 AWS 默认区域,例如 us-west-1。
远程运行 复选框 尚未核查

选中相应字段,以便远程运行配置的集成。

选中后,系统会显示用于选择远程用户(客服人员)的选项。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成

如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在剧本中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例

使用场景

  1. 使用 playbook 或手动操作检测和管理 AWS 系统中的威胁。
  2. 提取 Amazon GuardDuty 检测结果,然后将其移至 GuardDuty 归档。

操作

如需详细了解操作,请参阅 在工作台页面中处理待处理的操作执行手动操作

Ping

测试与 Amazon GuardDuty 的连接。

参数

无。

运行于

此操作不会在实体上运行,也没有强制性输入参数。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

如果成功: “已使用提供的连接参数成功连接到 AWS GuardDuty 服务器!”

否则: “Failed to connect to the AWS if successful: "Successfully connected to the AWS GuardDuty server with the provided connection parameters!"

否则: “无法连接到 AWS GuardDuty 服务器!错误:{0}

常规

创建检测器

创建单个 Amazon GuardDuty 检测器。检测器是一种表示 GuardDuty 服务的资源。每个账号在每个区域只能有一个检测器。

参数

参数名称 类型 默认值 为必需参数 说明
启用 复选框 尚未核查 指定是否启用检测器。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

成功:“已创建检测器 <新检测器 ID>。”

如果检测器未创建(is_success=false):“操作无法创建检测器。原因:当前账号已存在检测器。

如果报告了“ErrorCode”(is_success=false):“操作无法创建检测器。Error: {}".format (ErrorMessage)"

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果报告了致命错误、SDK 错误(例如凭据错误、无连接、其他错误):“执行操作‘创建检测器’时出错。原因:{0}''.format(error.Stacktrace)

常规

删除检测器

删除由检测器 ID 指定的 Amazon GuardDuty 检测器。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用 您要删除的检测器的唯一 ID。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果检测器未被删除 (is_success=false): “操作无法删除 <detector_ID> 检测器。Error: {}".format(ErrorMessage)"

如果检测器已成功删除 (is_success=true):“检测器 <检测器 ID> 已删除。”

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果报告了致命错误、SDK 错误(例如凭据错误、无连接、其他错误):“Error executing action "Delete a Detector".”(执行操作“删除检测器”时出错。)原因:{0}''.format(error.Stacktrace)

常规

更新检测器

更新检测器 ID 指定的 Amazon GuardDuty 检测器。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用 您要更新的检测器的唯一 ID。
启用 复选框 尚未核查 指定是否应启用检测器。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了“ErrorCode”(is_success=false):“操作无法创建检测器。Error: {}".format(ErrorMessage)"

如果检测器已成功更新 (is_success=true):“检测器 <检测器 ID> 已更新。”

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果报告了严重错误、SDK 错误(例如凭据错误、无连接、其他错误):“执行操作‘更新检测器’时出错。原因:{0}''.format(error.Stacktrace)

常规

获取检测器详细信息

检索由检测器 ID 指定的 Amazon GuardDuty 检测器。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用 您要检索的检测器的唯一 ID。以英文逗号分隔的值。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{
   "DetectorId": "DETECTOR_ID",
   "CreatedAt": "response['CreatedAt']",
   "ServiceRole": "response['ServiceRole']",
   "Status": "response['Status']",
   "UpdatedAt": "response['UpdatedAt']",
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功:“Successfully retrieved information about <Indicator ID> indicator.”

注意:如果找到部分检测器 ID,但未找到其他检测器 ID,则根据相关的检测器 ID 显示这两条消息。

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果报告了致命错误、SDK 错误(例如凭据错误、无连接、其他错误):“Error executing action "Get a Detector Details"”(执行操作“获取检测器详细信息”时出错)。原因:{0}''.format(error.Stacktrace)

常规
CSV 表格

表格标题:检测器详情

表格列

  • 检测器 ID
  • 状态
  • 服务角色
  • 创建时间
  • 更新时间
常规

列出检测器

列出所有现有 Amazon GuardDuty 检测器资源的 detectorId。

参数

参数名称 类型 默认值 为必需参数 说明
要返回的检测器数量上限 整数 50 指定要返回的检测器数量。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{
    "detectorIds": ["ID1,ID2"]
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了 200 状态代码 (is_success=true):“已成功列出 Amazon GuardDuty 中的可用检测器。指标 ID:<value>”

如果报告了其他状态代码 (is_success=false):“操作无法列出可用的检测器”

操作应失败并停止 playbook 执行

如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "List Detectors". 原因:{0}''.format(error.Stacktrace)

常规

列出检测器的发现结果

列出指定检测器 ID 的所有 Amazon GuardDuty 发现结果。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用 您要检索的检测器的唯一 ID。
要返回的发现结果数量上限 整数 50 指定要返回的检测器数量。
排序方式 字符串 不适用 表示用于对发现结果进行排序的发现结果属性(例如 accountId)。
排序依据 DDL

升序

可能的值:

  • 升序
  • 降序
已排序的发现结果的显示顺序。
AWS 区域 字符串 不适用 可以选择性地指定要在操作中使用的 AWS 区域,该区域可以不同于集成配置页面中指定的默认区域。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{"FindingIds": ["10ba96ae50733ae38b9cae95431b7558"]}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败并停止 playbook 执行

如果报告了“ErrorCode”(is_success=false):“操作无法获取 <检测器 ID> 检测器的检测结果。Error: {}".format(ErrorMessage)"

如果成功:“Successfully retrieved available findings IDs for detector {detector ID}”(已成功检索检测器 {detector ID} 的可用发现结果 ID)

操作应失败并停止 playbook 执行

如果报告了致命错误、SDK 错误(例如凭据错误、无连接、其他错误):“Error executing action "List Findings for a Detector"”(执行“列出检测器的检测结果”操作时出错)。原因:{0}''.format(error.Stacktrace)

常规

归档发现结果

归档由发现结果 ID 指定的 GuardDuty 发现结果。

参数

参数名称 类型 默认值 为必需参数 说明
发现结果 ID 字符串 不适用

您要检索的发现的 ID。

以英文逗号分隔的 ID。

检测器 ID 字符串 不适用 检测器的唯一 ID
AWS 区域 字符串 不适用 可以选择性地指定要在操作中使用的 AWS 区域,该区域可以不同于集成配置页面中指定的默认区域。

AWS IAM 政策权限:

  • 效果:允许
  • 操作:guardduty:ArchiveFindings

只有管理员账号可以归档检测结果。成员账号无权归档其账号中的发现。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了“ErrorCode”(is_success=false):“操作无法归档发现结果。错误:{}".format(ErrorMessage)。请检查所有发现 ID 是否正确无误。”

如果成功:“已成功归档调查结果”→ 更改为:“已成功归档以下调查结果:<id>

如果一个或所有发现 ID 无效,操作不应失败,但 is_success 应设置为 false:“无法归档以下发现:<id>”

注意:错误代码不能是其中一个 ID。如果发现 ID 错误,系统会抛出以下错误:“在调用 ArchiveFindings 操作时(已达到最大重试次数:4):内部服务器错误。”

此处也一样先检查发现是否有效。

已成功归档以下发现: 88bac20f959084244a2b91778d12e883

未能归档以下发现结果: 1abac689941ae6f3e3e24d02ac4cf612

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果报告了致命错误、SDK 错误(例如凭据错误、无连接、其他错误):“执行操作‘归档发现’时出错。原因:{0}''.format(error.Stacktrace)"

常规

取消归档发现结果

提取由发现结果 ID 指定的 GuardDuty 发现结果。

参数

参数名称 类型 默认值 为必需参数 说明
发现结果 ID 字符串 不适用 您要检索的发现的 ID。以英文逗号分隔的值。
检测器 ID 字符串 不适用 检测器的唯一 ID。

AWS IAM 政策权限:

  • 效果:允许
  • 操作:guardduty:UnarchiveFindings

只有管理员账号可以归档检测结果。成员账号无权归档其账号中的发现。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功:“已成功归档以下发现:<id>”

如果发现结果 ID 无效,操作不应失败,但 is_success 应设置为 false:“无法取消归档以下发现结果:<id>

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果报告了致命错误、SDK 错误(例如凭据错误、无连接、其他错误):“执行操作‘取消归档发现’时出错。原因:{0}''.format(error.Stacktrace)"

注意:错误代码不能是其中一个 ID。如果发现 ID 错误,系统会抛出以下错误:“在调用 ArchiveFindings 操作时(已达到最大重试次数:4):内部服务器错误。”

此处也一样先检查发现是否有效。

已成功归档以下发现: 88bac20f959084244a2b91778d12e883

未能归档以下发现结果: 1abac689941ae6f3e3e24d02ac4cf612

常规

创建示例发现

生成由发现结果列表指定的类型的示例发现结果。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用 要为其创建示例检测结果的检测器的唯一 ID。
发现类型 字符串 不适用

要生成的示例发现的类型。以英文逗号分隔的值。

您可以在界面中的“发现结果”部分下找到这些类型,位于“发现结果类型”列中。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了“ErrorCode”(is_success=false):“操作无法创建示例发现结果。Error: {}".format(ErrorMessage)"

如果成功:“已成功创建示例发现”

如果其中一个输入(发现类型)无效,请捕获以下异常:“请求被拒绝,因为输入参数指定的值无效或超出范围。”set, is_sucess=false:“操作无法创建示例发现,因为发现类型参数的值无效。

更新:如果发现结果类型无效,操作应失败,并显示以下消息:“操作无法创建示例发现结果,因为发现结果类型参数的值无效。错误:<traceback>

  • 无效的发现类型 + 无效的检测器 → 操作应失败,is_success=false
  • 多个发现结果 - 无效 + 无效 - 操作仍会失败!

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果报告了致命错误、SDK 错误(例如凭据错误、无连接、其他错误): “Error executing action "Create Sample Findings". 原因:{0}''.format(error.Stacktrace)

常规

更新发现结果反馈

将指定的 Amazon GuardDuty 检测结果标记为有用或没用。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用 与要更新反馈的检测结果相关联的检测器的唯一 ID。
有用吗? 复选框 尚未核查 针对发现的反馈。
发现结果 ID 字符串 不适用 您要标记为“有用”或“无用”的发现结果的 ID。以英文逗号分隔的值。
评论 字符串 不适用 有关 GuardDuty 检测结果的其他反馈。
AWS 区域 字符串 不适用 可以选择性地指定要在操作中使用的 AWS 区域,该区域可以不同于集成配置页面中指定的默认区域。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了“ErrorCode”(is_success=false):“操作无法更新发现反馈。Error: {}".format(ErrorMessage)

如果成功:“已更新发现反馈。”

如果某个查找 ID 出现错误/未找到,即使其中一个 ID 不存在,响应对象仍会返回空响应。

如果未找到结果:“无法更新反馈。<finding id> 无效。”

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果报告了严重错误、SDK 错误(例如凭据错误、无连接、其他错误):“Error executing action "Update Findings Feedback". 原因:{0}''.format(error.Stacktrace)"

常规

删除可信 IP 列表

删除 ID 指定的 IPSet。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用

指定应使用哪个检测器 ID 来删除 IP 集。

您可以在设置标签页中找到此参数。

可信 IP 列表 ID 字符串 不适用

指定以英文逗号分隔的 IP 集 ID 列表。

示例:id_1,id_2

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功 (is_success=true):“已成功删除以下可信 IP 列表:<ids>”

如果部分 ID 未成功删除(is_success=true):“Action wasn't able to delete the following Trusted IP Lists from Amazon GuardDuty:\n{0}.".format(list_of_ids)"

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Delete a Trusted IP List". 原因:{0}''.format(error.Stacktrace"

常规

获取发现结果详情

返回有关 AWS Guard Duty 中发现结果的详细信息。

参数

参数名称 类型 默认值 为必需参数 说明
发现结果 ID 字符串 不适用

您要检索的发现的 ID。以英文逗号分隔的 ID。

检测器 ID 字符串 不适用 您要检索的检测器的唯一 ID。
AWS 区域 字符串 不适用 可以选择性地指定要在操作中使用的 AWS 区域,该区域可以不同于集成配置页面中指定的默认区域。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{
    "Findings": [{
        "AccountId": "ACCOUNT_ID",
        "Arn": "arn:aws:guardduty:us-east-1:ACCOUNT_ID:detector/DETECTOR_ID/finding/FINDING_ID",
        "CreatedAt": "2020-10-06T05:19:50.794Z",
        "Description": "203.0.113.9 is performing RDP brute force attacks against i-INSTANCE_ID. Brute force attacks are used to gain unauthorized access to your instance by guessing the RDP password.", "Id": "ID",
        "Partition": "aws",
        "Region": "us-east-1",
        "Resource": {
            "InstanceDetails": {
                "AvailabilityZone": "us-east-1e",
                "ImageId": "ami-IMAGE_ID",
                "InstanceId": "i-INSTANCE_ID",
                "InstanceState": "running",
                "InstanceType": "t2.micro",
                "LaunchTime": "2020-05-27T08:54:03Z", "NetworkInterfaces": [{
                    "Ipv6Addresses": [],
                    "NetworkInterfaceId": "eni-012d9b8a1a3b4e40a",
                    "PrivateDnsName": "ip-192.0.2.1.ec2.internal",
                    "PrivateIpAddress": "192.0.2.1",
                    "PrivateIpAddresses": [{
                        "PrivateDnsName": "ip-192.0.2.1.ec2.internal",
                        "PrivateIpAddress": "192.0.2.1"
                    }],
                    "PublicDnsName": "ec2-54-234-69-236.compute-1.amazonaws.com",
                    "PublicIp": "198.51.100.236",
                    "SecurityGroups": [{
                        "GroupId": "sg-0fa42e04e9cd15407",
                        "GroupName": "Windows Server 2016"
                    }],
                    "SubnetId": "subnet-2edddf10",
                    "VpcId": "vpc-48a7ac32"
                }],
                "Platform": "windows",
                "ProductCodes": [],
                "Tags": [{
                    "Key": "Name",
                    "Value": "CiscoAMP-win2012"
                }]},
            "ResourceType": "Instance"
        },
        "SchemaVersion": "2.0",
        "Service": {
            "Action": {
                "ActionType": "NETWORK_CONNECTION", "NetworkConnectionAction": {
                    "Blocked": false,
                    "ConnectionDirection": "INBOUND",
                    "LocalPortDetails": {
                        "Port": 3389, "PortName": "RDP"
                    },
                    "Protocol": "TCP",
                    "LocalIpDetails": {
                        "IpAddressV4": "192.0.2.1"
                    },
                    "RemoteIpDetails": {
                        "IpAddressV4": "203.0.113.9",
                        "Organization": {
                            "Asn": "24875",
                            "AsnOrg": "Example Inc.",
                            "Isp": "Example Inc.",
                            "Org": "Example Inc."
                        }},
                    "RemotePortDetails": {
                            "Port": 1549,
                        "PortName": "Unknown"
                    }}},
            "Archived": false,
            "Count": 5,
            "DetectorId": "DETECTOR_ID",
            "EventFirstSeen": "2020-10-06T05:10:58Z",
            "EventLastSeen": "2020-10-06T05:46:59Z",
            "ResourceRole": "TARGET",
            "ServiceName": "guardduty"
        },
        "Severity": 2,
        "Title": "203.0.113.9 is performing RDP brute force attacks against i-INSTANCE_ID.",
        "Type": "UnauthorizedAccess:EC2/RDPBruteForce",
        "UpdatedAt": "2020-10-06T06:01:46.380Z"
    }]
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了“ErrorCode”(is_success=false):“操作无法获取发现详情。Error: {}".format(ErrorMessage)"

如果成功:“已成功检索到以下发现项的信息 <检索到的发现项 ID>”

如果报告了某个 ID 的错误,则响应对象仅包含有效 ID 的结果。检查响应对象是否缺少某些 ID,并输出适当的消息。

E.g. data = ['4cba8180b5959ae56a3be24cc722aaaa', '6eba7eae0e24ffe28a4109f2594febff', '24ba6761dc4cf85cfc292bbadd1c2655']

The first ID does not exist, therefore I will not get a result for that one. Output message:

"Successfully retrieved information for the following findings: 6eba7eae0e24ffe28a4109f2594febff,24ba6761dc4cf85cfc292bbadd1c2655. Failed to retrieve information for the following findings: 4cba8180b5959ae56a3be24cc722aaaa

操作应失败并停止 playbook 执行

如果报告了致命错误、SDK 错误(例如凭据错误、无连接、其他错误): “执行操作‘获取发现’时出错。原因:{0}''.format(error.Stacktrace)"

常规
“案例墙”表格

注意:如果存在。

表格列

  • 发现结果 ID
  • 标题
  • 说明
  • 类型
  • 严重程度
  • 计数
  • 资源 ID
  • 创建时间
  • 更新时间
  • 账号 ID
常规

获取所有可信 IP 列表

说明

获取由检测器 ID 指定的 GuardDuty 服务的所有可信 IP 列表 (IPSet)。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用

指定应使用哪个检测器 ID 来列出 IP 集。

您可以在“设置”标签页中找到此参数。

要返回的可信 IP 列表数量上限 整数 50 指定要返回的受信任 IP 列表的数量。
AWS 区域 字符串 不适用 可以选择性地指定要在操作中使用的 AWS 区域,该区域可以不同于集成配置页面中指定的默认区域。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{
    "IpSetIds": ['', '' , '']
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功列出可用的集合 (is_success=true):“Successfully retrieved available Trusted IP lists.”

操作应失败并停止 playbook 执行

如果报告了致命错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Get all Trusted IP Lists".”原因:{0}''.format(error.Stacktrace)

常规

获取可信 IP 列表

说明

获取有关 Amazon GuardDuty 中受信任 IP 列表的详细信息。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用

指定应使用哪个检测器 ID 来获取 IP 集。

您可以在“设置”标签页中找到此参数。

可信 IP 列表 ID CSV 不适用

以英文逗号分隔的列表形式指定 IP 集的 ID,例如 id_1,id_2

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{
    "ip_set_id": {
        "Format": "response['Format']",
        "Location": "response['Location']",
        "Name": "response['Name']",
        "Status": "response['Status']"
        }
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功返回了详细信息 (is_success=true):“Successfully retrieved details about the following Trusted IP Lists from Amazon GuardDuty:\n{0}.".format(list_of_ids)"

如果部分 ID 未成功(is_success=true):“无法从 Amazon GuardDuty 检索以下可信 IP 列表的详细信息:\n{0}。”。format(list_of_ids)

如果未使用任何 ID (is_success=false):“No details were retrieved about the provided Trusted IP Lists”.format(list_of_ids)

操作应失败并停止 playbook 执行

如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "List Trusted IP Lists". 原因:{0}''.format(error.Stacktrace)

常规
CSV

表格名称:可信 IP 列表详情

表格列

  • 名称(映射为“名称”)
  • 可信 IP 列表 ID(来自操作参数)
  • 位置(映射为“位置”)
  • 状态(映射为“状态”)
常规

更新可信 IP 地址列表

说明

在 Amazon GuardDuty 中更新受信任的 IP 地址列表。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用

指定应使用哪个检测器 ID 来更新可信 IP 列表。

您可以在“设置”标签页中找到此参数。

可信 IP 列表 ID 字符串 不适用 指定应更新的可信 IP 列表的 ID。
名称 字符串 不适用 指定可信 IP 列表的新名称。
文件位置 字符串 https://s3.amazonaws.com/{bucket-name}/file.txt 指定文件所在的新 URI 位置。
激活 复选框 勾选 如果启用,系统将激活可信 IP 列表。
AWS 区域 字符串 不适用 可以选择性地指定要在操作中使用的 AWS 区域,该区域可以不同于集成配置页面中指定的默认区域。

运行于

此操作不会在实体上运行。

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
N/A
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功更新了一组 (is_success=true):“已成功更新 Amazon GuardDuty 中的可信 IP 列表 '{0}'。”。format(威胁 ID)

如果更新一组 IP 失败 (is_success=false):“Action wasn't able to update the trusted IP list '{0}' in Amazon GuardDuty.".format(Threat ID)

操作应失败并停止 playbook 执行

如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Update Trusted IP list". 原因:{0}''.format(error.Stacktrace)

常规

创建可信 IP 列表

创建新的受信任 IP 地址 (IPSet) 列表,该列表包含动态列表中的 IP 地址,用于与 AWS 基础架构和应用进行安全通信。

GuardDuty 不会针对包含在 IP 集中的 IP 地址生成发现结果。只有管理员账号中的用户才能使用此操作。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用

指定应使用哪个检测器 ID 来创建可信 IP 列表。

您可以在设置标签页中找到此参数。

名称 字符串 不适用 指定可信 IP 列表的名称。
文件格式 DDL 明文

选择用于创建可信 IP 列表的文件的格式。

可能的值:

  • 纯文本结构化威胁信息表达 (STIX)
  • 打开 Open Threat Exchange (OTX) CSV 文件
  • FireEye iSIGHT 威胁情报 CSV 文件
  • Proofpoint ET Intelligence Feed CSV
  • AlienVault 信誉 Feed
文件位置 字符串 https://s3.amazonaws.com/{bucket-name}/file.txt 指定文件所在的 URI 位置
激活 复选框 勾选 如果启用,则会激活新创建的受信任 IP 列表。
AWS 区域 字符串 不适用 可以选择性地指定要在操作中使用的 AWS 区域,该区域可以不同于集成配置页面中指定的默认区域。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{
    "TrustedIPID": "TRUSTED_IP_ID"
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功创建了集合 (is_success=true):“Successfully created new Trusted IP List '{0}' in Amazon GuardDuty.".format(Name)"

如果未能成功创建集合 (is_success=false):“Action wasn't able to create new Trusted IP List '{0}' in Amazon GuardDuty.".format(name)”

操作应失败并停止 playbook 执行

如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Create Trusted IP List". 原因:{0}''.format(error.Stacktrace)"

常规

列出威胁情报集

列出 Amazon GuardDuty 中的可用威胁情报集。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用

指定应使用哪个检测器 ID 来列出威胁情报集。

您可以在“设置”标签页中找到此参数。

要返回的威胁情报集数量上限 整数 50 指定要返回的威胁情报集数量。
AWS 区域 字符串 不适用 可以选择性地指定要在操作中使用的 AWS 区域,该区域可以不同于集成配置页面中指定的默认区域。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{
    "ThreatIntelSetIds": ["14ba8b942b76c1be6d985715eb7443eb",
                       "32ba8b92e553fe04d06dab543ed57a70",
                       "8aba8b93ba6e08e8fd5349b2c2b57709"
                       ]
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功列出可用的集(is_success=true): “已成功列出可用的威胁情报集。”

操作应失败并停止 playbook 执行

如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "List Threat Intelligence Sets". 原因:{0}''.format(error.Stacktrace)

常规

获取威胁情报集详情

获取有关 Amazon GuardDuty 中威胁情报集的详细信息。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用

指定应使用的检测器 ID,以获取威胁情报集详细信息。

您可以在“设置”标签页中找到此参数。

威胁情报集 ID 字符串 50

指定威胁情报集的 ID 列表(以英文逗号分隔)。

示例:id_1,id_2

AWS 区域 字符串 不适用 可以选择性地指定要在操作中使用的 AWS 区域,该区域可以不同于集成配置页面中指定的默认区域。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{
    "Format": "TXT",
    "Location": "https: //example.s3.amazonaws.com/test.txt",
    "Name": "API Test",
    "ResponseMetadata": {
        "HTTPHeaders": {
            "connection": "keep-alive",
            "content-length": "149",
            "content-type": "application/json",
            "date": "Mon,19 Oct 2020 06: 23: 22 GMT",
            "x-amz-apigw-id": "ID",
            "x-amzn-requestid": "REQUEST_ID",
            "x-amzn-trace-id": "TRACE_ID"
        },
        "HTTPStatusCode": 200,
        "RequestId": "REQUEST_ID",
        "RetryAttempts": 0
    },
    "Status": "ERROR",
    "Tags": {}
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功返回了至少一个集合的详细信息 (is_success=true): “Successfully retrieved details about the following Threat Intelligence Sets from Amazon GuardDuty:\n{0}.".format(list_of_ids)"

如果部分 ID 失败(is_success=true): “无法从 Amazon GuardDuty 检索以下威胁情报集的详细信息:\n{0}。”format(list_of_ids)

如果未使用任何 ID:“未检索到有关所提供威胁情报集的任何详细信息。”。format(list_of_ids)

操作应失败并停止 playbook 执行

如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "List Threat Intelligence Sets". 原因:{0}''.format(error.Stacktrace)

常规
CSV

表名称:威胁情报集详细信息

表列

  • 名称(映射为“名称”)
  • ID(来自操作参数)
  • 位置(映射为“位置”)
  • 状态(映射为“状态”)

创建威胁情报集

在 Amazon GuardDuty 中创建威胁情报集。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用

指定应使用哪个检测器 ID 来创建威胁情报集。

您可以在“设置”标签页中找到此参数。

名称 字符串 不适用 指定威胁情报集的名称。
文件格式 DDL

明文

可能的值:

  • 明文
  • 结构化威胁信息表达 (STIX)
  • 打开 Open Threat Exchange (OTX) CSV 文件
  • FireEye iSIGHT 威胁情报 CSV 文件
  • Proofpoint ET Intelligence Feed CSV
  • AlienVault 信誉 Feed
选择用于创建威胁情报集的文件格式。
文件位置 字符串 https://s3.amazonaws.com/{bucket-name}/file.txt 指定文件所在的 URI 位置。
有效 复选框 勾选 如果启用,新创建的威胁情报集将被激活。
标记 CSV 不适用

指定应添加到威胁情报集的其他标记。

格式:key_1:value_1,key_2:value_1

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
JSON 结果
{
    "ThreatIntelSetId": "b6f0c884a54449cc8e29eed3094e9c31"
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功创建了集(is_success=true):“已在 Amazon GuardDuty 中成功创建威胁情报集 '{0}'。”。format(Name)

如果未能成功创建集合 (is_success=false):“操作无法在 Amazon GuardDuty 中创建威胁情报集 '{0}'。”。format(name)

操作应失败并停止 playbook 执行

如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "Create Threat Intelligence Set". 原因:{0}''.format(error.Stacktrace)

常规

更新威胁情报集

更新 Amazon GuardDuty 中的威胁情报集。

参数

参数名称 类型 默认值 为必需参数 说明
检测器 ID 字符串 不适用

指定应使用哪个检测器 ID 来更新威胁情报集。

您可以在设置标签页中找到此参数。

ID 字符串 不适用 指定应更新的 Threat Intelligence 集的 ID。
名称 字符串 不适用 指定威胁情报集的新名称。
文件位置 字符串 https://s3.amazonaws.com/{bucket-name}/file.txt 指定文件所在的新 URI 位置。
有效 复选框 勾选 如果启用,则会激活威胁情报集。

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功更新了一组(is_success=true): “已成功更新 Amazon GuardDuty 中的威胁情报集 '{0}'。”。format(威胁 ID)

如果更新集失败 (is_success=false):“操作无法在 Amazon GuardDuty 中更新威胁情报集 '{0}'。”。format(Threat ID)

操作应失败并停止 playbook 执行

如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Update Threat Intelligence Set"”(执行操作“更新威胁情报集”时出错)。原因:{0}''.format(error.Stacktrace)

常规

删除威胁情报集

在 Amazon GuardDuty 中删除威胁情报集。

参数

参数名称 类型 默认值 水印 为必需参数 说明
检测器 ID 字符串 不适用 不适用

指定应使用的检测器 ID,以获取威胁情报集详细信息。

您可以在“设置”标签页中找到此参数。

威胁情报集 ID CSV 不适用 不适用

指定威胁情报集的 ID 列表(以英文逗号分隔)。

示例:id_1,id_2

运行于

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success=False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功返回了至少一个集合的详细信息 (is_success=true):“已成功删除 Amazon GuardDuty 中的以下威胁情报集:\n{0}。”。format(list_of_ids)

如果部分 ID 失败 (is_success=true): “无法删除 Amazon GuardDuty 中的以下威胁情报集:\n{0}。”。format(list_of_ids)

如果未使用任何 ID:“未删除任何威胁情报集。”。format(list_of_ids)

操作应失败并停止 playbook 执行

无效的检测器 ID 也应引发异常,停止 playbook 并将 is_success 设置为 false。

如果出现致命错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "Delete Threat Intelligence Sets". 原因:{0}''.format(error.Stacktrace)

常规

连接器

如需详细了解如何在 Google SecOps 中配置连接器,请参阅注入数据(连接器)

AWS GuardDuty - 发现结果连接器

从 Amazon GuardDuty 拉取发现结果。

连接器输入

使用以下参数配置连接器:

参数名称 类型 默认值 为必需参数 说明
商品字段名称 字符串 产品名称

存储商品名称的字段的名称。

商品名称主要会影响映射。为了简化和改进连接器的映射流程,默认值会解析为代码中引用的回退值。默认情况下,此参数的任何无效输入都会解析为回退值。

默认值为 Product Name

事件字段名称 字符串 类型

用于确定事件名称(子类型)的字段的名称。

环境字段名称 字符串 ""

存储环境名称的字段的名称。

如果缺少环境字段,连接器将使用默认值。

Environment Regex Pattern 字符串 .*

要对 Environment Field Name 字段中的值运行的正则表达式模式。此参数可让您使用正则表达式逻辑来操纵环境字段。

使用默认值 .* 可检索所需的原始 Environment Field Name 值。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

脚本超时(秒) 整数 180

运行当前脚本的 Python 进程的超时时间限制(以秒为单位)。

AWS 访问密钥 ID 字符串 不适用 要在集成中使用的 AWS 访问密钥 ID。
AWS 密钥 密码 不适用 要在集成中使用的 AWS 密钥。
AWS 默认区域 字符串 不适用

集成中要使用的 AWS 默认区域。

示例:us-west-2

检测器 ID 字符串 不适用 检测器的 ID。您可以在设置标签页中找到该功能。
要提取的最低严重程度 整数 1

要检索的提醒的最低严重程度。

如果您未配置此参数,连接器会提取所有严重程度的提醒。

可能的值介于 18 之间。

注意:Amazon GuardDuty 会按以下顺序映射整数值:

  • 1,2,3 - 低
  • 4,5,6 - 中等
  • 7,8 - 高
提取回溯的小时数上限 整数 1 要检索的发现结果距当前时间的小时数。

此参数可应用于您首次启用连接器后的初始连接器迭代,也可作为过期连接器时间戳的回退值。

要提取的最多发现数 整数 50

每次连接器迭代要处理的发现结果数量。

最多:50

这是 GuardDuty 的限制。

Use whitelist as a blacklist 复选框 尚未核查

如果选中此选项,连接器会将动态列表用作屏蔽列表。

代理服务器地址 字符串 不适用 要使用的代理服务器的地址。
代理用户名 字符串 不适用 用于进行身份验证的代理用户名。
代理密码 密码 不适用 用于进行身份验证的代理密码。

连接器规则

连接器支持代理。

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