GuardDuty 中的抑制规则
抑制规则是一组标准,由与值配对的筛选器属性组成,用于通过自动归档与指定标准匹配的新调查发现来筛选调查发现。抑制规则可用于筛选低价值调查发现、误报调查发现或您不打算应对的威胁,以便更轻松地识别对环境影响最大的安全威胁。
创建抑制规则后,只要使用该规则,就会自动存档与规则中定义的标准匹配的新调查发现。您可以使用现有筛选条件创建抑制规则,也可以根据您定义的新筛选条件来创建抑制规则。您可以配置抑制规则以抑制整个调查发现类型,或者定义更精细的筛选条件,仅禁止特定调查发现类型的特定实例。您可以随时编辑抑制规则。
如果您通过 Security Hub、第三方 SIEM 或其他警报和票务应用程序使用 GuardDuty 调查发现,则抑制的调查发现不会发送到 Amazon Security Hub CSPM、Amazon Simple Storage Service、Amazon Detective 或 Amazon EventBridge,从而降低调查发现噪音水平。如果您已启用 EC2 恶意软件防护,则抑制的 GuardDuty 调查发现不会启动恶意软件扫描。
GuardDuty 会继续生成调查发现,即使这些调查发现符合您的抑制规则,也会自动标记为已存档。存档的调查发现将在 GuardDuty 中存储 90 天,您可以在此期间随时查看。您可以从调查发现表中选择已存档以在 GuardDuty 控制台中查看抑制的调查发现,或者通过 GuardDuty API,使用带有 findingCriteria 条件且 service.archived 为 true 的 ListFindings API 来查看。
注意
在多账户环境中,只有 GuardDuty 管理员才能创建抑制规则。
在扩展威胁检测中使用隐藏规则
GuardDuty 扩展威胁检测可自动检测 Amazon Web Services 账户中跨数据来源、多个类型的 Amazon 资源和时间的多阶段攻击。它能将不同数据来源的事件关联起来,以识别可能对 Amazon 环境构成潜在威胁的场景,然后生成攻击序列调查发现。有关更多信息,请参阅 扩展威胁检测功能的工作原理。
当您创建用于存档调查发现的隐藏规则时,扩展威胁检测在关联事件以构建攻击序列时将无法使用这些已存档的调查发现。宽泛的隐藏规则可能会影响 GuardDuty 检测与多阶段攻击相关的行为的能力。不会将因隐藏规则而存档的调查发现视为攻击序列的信号。例如,如果您创建隐藏规则,目的是存档所有与 EKS 集群相关的调查发现,而不是针对特定的已知活动,那么 GuardDuty 将无法利用这些调查发现来检测以下攻击序列:威胁行为者利用容器、获取特权令牌及访问敏感资源。
请考虑 GuardDuty 的以下建议:
-
继续使用隐藏规则,减少来自已知可信活动的提醒。
-
确保隐藏规则专注于您不希望 GuardDuty 为其生成调查发现的特定行为。
抑制规则的常见用例和示例
以下调查发现类型具有使用抑制规则的常见应用场景。选择调查发现名称以详细了解该调查发现。检查应用场景描述,确定是否要为该调查发现类型构建抑制规则。
重要
GuardDuty 建议您以被动方式构建抑制规则,并且仅为您在环境中反复发现误报的调查发现构建抑制规则。
-
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS:当 VPC 网络配置为路由互联网流量,使其从本地网关而不是 VPC 互联网网关发出时,使用抑制规则来自动存档生成的调查发现。
当网络配置为路由互联网流量,使其从本地网关而不是 VPC 互联网网关(IGW)发出时会生成此调查发现。使用 Amazon Outposts 或 VPC VPN 连接等常见配置可能会导致流量以这种方式路由。如果这是预期行为,则建议您使用抑制规则,并创建一个由两个筛选条件组成的规则。第一个标准是 finding type(调查发现类型),它应是
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS。第二个筛选条件是 API 调用方 IPv4 地址,该地址需具有本地互联网网关 IP 地址或 CIDR 范围。以下示例代表了根据 API 调用方 IP 地址抑制此调查发现类型的筛选条件。Finding type:UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWSAPI caller IPv4 address:198.51.100.6注意
要包含多个 API 调用方 IP,您可以为每个 IP 添加一个新的 API 调用方 IPv4 地址筛选器。
-
Recon:EC2/Portscan:使用脆弱性评测应用程序时,使用抑制规则来自动存档调查发现。
抑制规则应由两个筛选条件组成。第一个条件应使用调查发现类型属性,其值为
Recon:EC2/Portscan。第二个筛选条件应与托管这些漏洞评测工具的一个或多个实例匹配。您可以使用实例映像 ID 属性或标签值属性,具体取决于托管这些工具的实例可识别哪些条件。以下示例代表了根据具有特定 AMI 的实例来抑制此调查发现类型的筛选条件。Finding type:Recon:EC2/PortscanInstance image ID:ami-999999999 -
UnauthorizedAccess:EC2/SSHBruteForce:当针对堡垒机实例时,使用抑制规则来自动存档调查发现。
如果此次暴力攻击的目标是堡垒主机,这可能代表了 Amazon 环境的预期行为。如果是这种情况,我们建议您为此调查发现设置抑制规则。抑制规则应由两个筛选条件组成。第一个条件应使用调查发现类型属性,其值为
UnauthorizedAccess:EC2/SSHBruteForce。第二个筛选条件应与用作堡垒主机的一个或多个实例匹配。您可以使用实例映像 ID 属性或标签值属性,具体取决于托管这些工具的实例可识别哪些条件。以下示例代表了根据具有特定实例标签值的实例来抑制此调查发现类型的筛选条件。Finding type:UnauthorizedAccess:EC2/SSHBruteForceInstance tag value:devops -
Recon:EC2/PortProbeUnprotectedPort:当针对有意公开的实例时,使用抑制规则来自动存档调查发现。
这可能是有意暴露实例的情况,例如,在它们托管 Web 服务器时。如果您的 Amazon 环境中出现这种情况,我们建议您为此调查发现设置抑制规则。抑制规则应由两个筛选条件组成。第一个条件应使用调查发现类型属性,其值为
Recon:EC2/PortProbeUnprotectedPort。第二个筛选条件应与用作堡垒主机的一个或多个实例匹配。您可以使用实例映像 ID 属性或标签值属性,具体取决于托管这些工具的实例可识别哪些条件。以下示例代表了根据控制台中具有特定实例标签键的实例来抑制此调查发现类型的筛选条件。Finding type:Recon:EC2/PortProbeUnprotectedPortInstance tag key:prod
适用于运行时监控调查发现的建议抑制规则
-
当容器内的进程与 Docker 套接字通信时会生成 PrivilegeEscalation:Runtime/DockerSocketAccessed。您的环境中可能有一些容器出于合法原因需要访问 Docker 套接字。从此类容器访问将生成 PrivilegeEscalation:Runtime/DockerSocketAccessed 调查发现。如果您的 Amazon 环境中出现这种情况,我们建议您为此调查发现类型设置抑制规则。第一个条件应使用值等于
PrivilegeEscalation:Runtime/DockerSocketAccessed的调查发现类型字段。第二个筛选条件是可执行路径字段,其值等于生成的调查发现中进程的executablePath。或者,第二个筛选条件可以使用可执行 SHA-256 字段,其值等于生成的调查发现中进程的executableSha256。 -
Kubernetes 集群将自己的 DNS 服务器作为容器组运行,例如
coredns。因此,对于容器组中的每次 DNS 查找,GuardDuty 都会捕获两个 DNS 事件:一个来自容器组,一个来自服务器容器组。这可能会对以下 DNS 调查发现生成重复项:重复的调查发现包括与 DNS 服务器容器组相对应的容器组、容器和进程详细信息。您可以使用这些字段设置抑制规则,以抑制重复的调查发现。第一个筛选条件应使用调查发现类型字段,其值等于本节前面提供的调查发现列表中的 DNS 调查发现类型。第二个筛选条件可以是可执行路径,其值等于 DNS 服务器的
executablePath;也可以是可执行 SHA-256,其值等于生成的调查发现中 DNS 服务器的executableSHA256。作为可选的第三个筛选条件,您可以使用 Kubernetes 容器映像字段,其值等于生成的调查发现中 DNS 服务器容器组的容器映像。