修复发现的 Security Health Analytics 问题

本页面提供了参考指南和技术,了解如何使用 Security Command Center 修复 Security Health Analytics 的发现结果。

您需要足够的 Identity and Access Management (IAM) 角色来查看或修改发现结果,以及访问或修改 Google Cloud 资源。如果您在 Google Cloud 控制台中访问 Security Command Center 时遇到权限错误,请向您的管理员寻求帮助。如需了解角色,请参阅访问权限控制。如需解决资源错误,请阅读受影响产品的相关文档。

Security Health Analytics 修复

本部分介绍所有 Security Health Analytics 发现结果的修复说明。

修复后停用发现结果

修复发现结果中的漏洞或配置错误相关问题后,Security Health Analytics 会在下次扫描该发现结果时自动将其状态设置为 INACTIVE。至于 Security Health Analytics 需要多久才会将修复后的发现结果设置为 INACTIVE 状态,这取决于您修复该发现结果的时间以及系统安排检测到该发现结果的扫描的时间。

如果扫描检测到受发现结果影响的资源已被删除,Security Health Analytics 还会将发现结果的状态设置为 INACTIVE。如果您想在等待 Security Health Analytics 检测到资源已删除期间从显示内容中移除已删除资源的发现结果,可以忽略该发现结果。如需忽略发现结果,请参阅在 Security Command Center 中忽略发现结果

请勿使用忽略功能来隐藏现有资源中修复后的发现结果。 如果问题仍然存在,并且 Security Health Analytics 恢复了发现结果的 ACTIVE 状态,您可能不会看到重新激活的发现结果,因为任何指定 NOT mute="MUTED" 的发现结果查询(例如默认发现结果查询)都会排除已忽略的发现结果。

如需了解扫描间隔时间,请参阅 Security Health Analytics 扫描类型

Access Transparency disabled

API 中的类别名称:ACCESS_TRANSPARENCY_DISABLED

Access Transparency 会记录 Google Cloud 员工何时访问您的组织中的项目以提供支持。启用 Access Transparency 以记录 Google Cloud 的哪位员工在什么时候、出于何种原因访问您的信息。如需了解详情,请参阅 Access Transparency

如需对项目启用 Access Transparency,该项目必须与一个结算账号相关联。

所需的角色

如需获得执行此任务所需的权限,请让您的管理员在组织级层为您授予 Access Transparency Admin (roles/axt.admin) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限

此预定义角色可提供执行此任务所需的 axt.labels.getaxt.labels.set 权限。您还可以通过自定义角色或其他预定义角色获取这些权限。

补救步骤

如需修复此发现结果,请完成以下步骤:

  1. 检查您的组织级权限:

    1. 进入 Google Cloud 控制台中的 Identity and Access Management 页面。

      转到 Identity and Access Management

    2. 如果系统提示,请在选择器菜单中选择 Google Cloud 组织。

  2. 使用选择器菜单选择组织内的任何 Google Cloud 项目。

    Access Transparency 是在 Google Cloud 项目页面上配置的,但此功能针对整个组织启用。

  3. 转到 IAM 和管理 > 设置页面。

  4. 点击启用 Access Transparency

了解此发现结果类型支持的资产和扫描设置

AlloyDB auto backup disabled

API 中的类别名称:ALLOYDB_AUTO_BACKUP_DISABLED

AlloyDB for PostgreSQL 集群未启用自动备份。

为防止数据丢失,请为集群启用自动备份。如需了解详情,请参阅配置其他自动备份

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 AlloyDB for PostgreSQL 集群页面。

    前往 AlloyDB for PostgreSQL 集群

  2. 点击资源名称列中的集群。

  3. 点击数据保护

  4. 自动备份政策部分下,点击自动备份行中的修改

  5. 选中自动备份复选框。

  6. 点击更新

了解此发现结果类型支持的资产和扫描设置

AlloyDB log min error statement severity

API 中的类别名称:ALLOYDB_LOG_MIN_ERROR_STATEMENT_SEVERITY

AlloyDB for PostgreSQL 实例没有将 log_min_error_statement 数据库标志设置为 error 或其他建议的值。

log_min_error_statement 标志用于控制是否在服务器日志中记录会导致错误条件的 SQL 语句。系统会记录具有指定或更高严重级别的 SQL 语句。严重级别越高,记录的消息数量就越少。如果严重级别设置得过高,系统可能不会记录错误消息。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 AlloyDB for PostgreSQL 集群页面。

    前往 AlloyDB for PostgreSQL 集群

  2. 点击资源名称列中的集群。

  3. 集群中的实例部分下,点击该实例对应的修改

  4. 点击高级配置选项

  5. 标志部分下,根据贵组织的日志记录政策,将 log_min_error_statement 数据库标志设置为以下建议的值之一。

    • debug5
    • debug4
    • debug3
    • debug2
    • debug1
    • info
    • notice
    • warning
    • error
  6. 点击更新实例

了解此发现结果类型支持的资产和扫描设置

AlloyDB log min messages

API 中的类别名称:ALLOYDB_LOG_MIN_MESSAGES

AlloyDB for PostgreSQL 实例的 log_min_messages 数据库标志未设置为不低于 warning

log_min_messages 标志可控制服务器日志中记录哪些消息级别。严重级别越高,记录的消息数量就越少。如果阈值设置得过低,可能会导致日志存储大小和长度增加,从而难以找到实际错误。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 AlloyDB for PostgreSQL 集群页面。

    前往 AlloyDB for PostgreSQL 集群

  2. 点击资源名称列中的集群。

  3. 集群中的实例部分下,点击该实例对应的修改

  4. 点击高级配置选项

  5. 标志部分下,根据贵组织的日志记录政策,将 log_min_messages 数据库标志设置为以下建议的值之一。

    • debug5
    • debug4
    • debug3
    • debug2
    • debug1
    • info
    • notice
    • warning
  6. 点击更新实例

了解此发现结果类型支持的资产和扫描设置

AlloyDB log error verbosity

API 中的类别名称:ALLOYDB_LOG_ERROR_VERBOSITY

AlloyDB for PostgreSQL 实例未将 log_error_verbosity 数据库标志设置为 default 或其他限制性更强的值。

log_error_verbosity 标志用于控制记录的消息的详细程度。详细程度越高,记录的消息就越详细。 我们建议将此标志设置为 default 或其他限制性更强的值。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 AlloyDB for PostgreSQL 集群页面。

    前往 AlloyDB for PostgreSQL 集群

  2. 点击资源名称列中的集群。

  3. 集群中的实例部分下,点击该实例对应的修改

  4. 点击高级配置选项

  5. 标志部分下,根据贵组织的日志记录政策,将 log_error_verbosity 数据库标志设置为以下建议的值之一。

    • default
    • verbose
  6. 点击更新实例

了解此发现结果类型支持的资产和扫描设置

Admin service account

API 中的类别名称:ADMIN_SERVICE_ACCOUNT

组织或项目中的服务帐号被分配了 AdminOwnerEditor 权限。这些角色拥有广泛的权限,不应分配给服务账号。如需了解服务账号及其可用角色,请参阅服务账号

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 IAM 页面。

    转到“IAM 政策”

  2. 对于发现结果中的每个主账号:

    1. 点击主账号旁边的修改
    2. 如需移除权限,请点击违规角色旁边的删除
    3. 点击保存

了解此发现结果类型支持的资产和扫描设置

Alpha cluster enabled

API 中的类别名称:ALPHA_CLUSTER_ENABLED

Google Kubernetes Engine (GKE) 集群已启用 Alpha 版集群功能。

Alpha 版集群可让尝鲜者在新功能公开发布之前用工作负载进行相关试验。Alpha 版集群已启用所有 GKE API 功能,但它们不在 GKE 服务等级协议 (SLA) 的涵盖范围内,不会收到安全更新,已停用节点自动升级和节点自动修复功能,并且无法升级。它们还会在 30 天后自动删除。

如需修复此发现结果,请完成以下步骤:

Alpha 版集群无法停用。您必须创建一个停用 Alpha 版功能的新集群。

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 点击创建

  3. 在要创建的集群类型旁边选择配置

  4. 功能标签页下,确保已停用在此集群中启用 Kubernetes Alpha 版功能

  5. 点击创建

  6. 如需将工作负载迁移到新集群,请参阅将工作负载迁移到不同的机器类型

  7. 如需删除原始集群,请参阅删除集群

了解此发现结果类型支持的资产和扫描设置

API key APIs unrestricted

API 中的类别名称:API_KEY_APIS_UNRESTRICTED

有些 API 密钥使用的过于广泛。

不受限制的 API 密钥会带来安全方面的问题,因为用户可以从存储密钥的设备上检索这样的密钥,或者可以公开查看这样的密钥,例如从浏览器中查看。遵循最小权限原则,将 API 密钥配置为仅调用应用需要的 API。如需了解详情,请参阅应用 API 密钥限制

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 API 密钥页面。

    转到“API 密钥”

  2. 对于每个 API 密钥:

    1. API 密钥部分中,在需要限制 API 的每个 API 密钥对应的行中,点击 图标以显示操作菜单。
    2. 操作菜单中,点击修改 API 密钥。此时会打开修改 API 密钥页面。
    3. API 限制部分中,选择限制 API。此时将显示选择 API 下拉菜单。
    4. 选择 API 下拉列表中,选择要允许的 API。
    5. 点击保存。设置最多可能需要五分钟才能生效。

了解此发现结果类型支持的资产和扫描设置

API key apps unrestricted

API 中的类别名称:API_KEY_APPS_UNRESTRICTED

有些 API 密钥可以不受限制地使用,允许任何不受信任的应用使用。

不受限制的 API 密钥会带来安全方面的问题,因为用户可以在存储密钥的设备上检索这样的密钥,或者可以公开查看这样的密钥,例如从浏览器中查看。遵循最小权限原则,将 API 密钥的使用范围限制为受信任的主机、HTTP 引荐来源网址和应用。如需了解详情,请参阅应用 API 密钥限制

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 API 密钥页面。

    转到“API 密钥”

  2. 对于每个 API 密钥:

    1. API 密钥部分中,在需要限制应用的每个 API 密钥对应的行中,点击 图标以显示操作菜单。
    2. 操作菜单中,点击修改 API 密钥。此时会打开修改 API 密钥页面。
    3. 修改 API 密钥页面的应用限制下,选择限制类别。您可以为每个密钥设置一项应用限制。
    4. 在选择限制时显示的添加一项字段中,点击添加一项以根据应用的需要添加限制。
    5. 添加完各项后,点击完成
    6. 点击保存

了解此发现结果类型支持的资产和扫描设置

API key exists

API 中的类别名称:API_KEY_EXISTS

项目使用 API 密钥,而不是标准身份验证。

API 密钥的安全性低于其他身份验证方法,因为它们是简单的加密字符串,容易被他人发现和使用。用户可以在存储密钥的设备上检索这样的密钥,或者可以公开查看这样的密钥,例如从浏览器中查看。此外,API 密钥不会唯一标识发出请求的用户或应用。作为替代方案,您可以将标准身份验证流程与服务账号用户账号搭配使用。

如需修复此发现结果,请完成以下步骤:

  1. 确保为您的应用配置了身份验证替代形式。
  2. 转到 Google Cloud 控制台中的 API 凭据页面。

    打开“API 凭据”

  3. 在要删除的每个 API 密钥所在行的 API 密钥部分中,点击 图标以显示操作菜单。

  4. 操作菜单中,点击删除 API 密钥

了解此发现结果类型支持的资产和扫描设置

API key not rotated

API 中的类别名称:API_KEY_NOT_ROTATED

API 密钥已经超过 90 天没有轮替。

API 密钥不会过期,因此,如果密钥被窃取,它可以无限期地使用,除非项目所有者撤消或轮替密钥。通过频繁地重新生成 API 密钥,失窃的 API 密钥可用于访问被盗用账号或已终止账号中的数据的时间会缩短。至少每 90 天轮替一次 API 密钥。如需了解详情,请参阅保护 API 密钥

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 API 密钥页面。

    转到“API 密钥”

  2. 对于每个 API 密钥:

    1. 在要轮替的每个 API 密钥所在行的 API 密钥部分中,点击 图标以显示操作菜单。
    2. 操作菜单中,点击修改 API 密钥。此时会打开修改 API 密钥页面。
    3. 修改 API 密钥页面上,如果创建日期字段中的日期超过 90 天,请点击页面顶部的 重新生成密钥以替换密钥。此时会生成一个新的替换密钥。
    4. 点击保存
    5. 为确保您的应用继续无中断地运行,请更新应用以使用新的 API 密钥。旧的 API 密钥在 24 小时内继续有效,之后便会永久停用。

了解此发现结果类型支持的资产和扫描设置

Audit config not monitored

API 中的类别名称:AUDIT_CONFIG_NOT_MONITORED

日志指标和提醒未配置为监控审核配置更改。

Cloud Logging 会生成管理员活动与数据访问日志,这些日志能用来进行安全分析、资源更改追踪及合规性审核。通过监控审核配置更改,您可以确保项目中的所有活动随时都可以进行审核。如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

要修复此发现结果,请在必要时创建指标以及提醒政策:

创建指标

  1. 进入 Google Cloud 控制台中的基于日志的指标页面。

    转到“基于日志的指标”

  2. 点击创建指标

  3. 指标类型下,选择计数器

  4. 详情下:

    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:

      protoPayload.methodName="SetIamPolicy"
      AND protoPayload.serviceData.policyDelta.auditConfigDeltas:*
    

  6. 点击创建指标。您将看到确认。

创建提醒政策

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择基于日志的指标

    前往基于日志的指标

  2. 用户定义的指标部分下,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒

    系统将打开新建条件对话框,其中预先填充了指标和数据转换选项。

  4. 点击下一步
    1. 查看预先填充的设置。您可能需要修改阈值
    2. 点击条件名称,然后输入条件的名称。
  5. 点击下一步
  6. 如需将通知添加到您的提醒政策中,请点击通知渠道。在对话框中,从菜单中选择一个或多个通知渠道,然后点击确定

    如需在开启和关闭突发事件时接收通知,请选中突发事件关闭时通。默认情况下,仅在开启突发事件时发送通知。

  7. 可选:更新突发事件自动关闭持续时间。此字段用于确定在缺少指标数据的情况下 Monitoring 何时关闭突发事件。
  8. 可选:点击文档,然后添加您希望包含在通知消息中的任何信息。
  9. 点击提醒名称,然后输入提醒政策的名称。
  10. 点击 Create Policy(创建政策)。

了解此发现结果类型支持的资产和扫描设置

Audit logging disabled

API 中的类别名称:AUDIT_LOGGING_DISABLED

此发现结果不适用于项目级激活。

一项或多项 Google Cloud 服务停用了审核日志记录,或者一个或多个主账号不进行数据访问审核日志记录。

为所有服务启用 Cloud Logging,以跟踪所有管理员活动以及对用户数据的读取和写入。 如果信息量很大,Cloud Logging 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

如果任何主账号不进行默认数据访问审核日志记录配置或任何单独服务的日志记录配置的数据访问审核日志记录,请改为要进行数据访问审核日志记录。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的数据访问审核日志默认配置页面。

    转到默认配置

  2. 日志类型标签页上,激活默认配置中的数据访问审核日志记录:

    1. 选择管理员读取数据读取数据写入
    2. 点击保存
  3. 豁免的主账号标签页上,从默认配置中移除所有豁免的用户:

    1. 点击每个名称旁边的删除 以移除列出的每个主账号。
    2. 点击保存
  4. 转到审核日志页面。

    转到审核日志

  5. 从各项服务的数据访问审核日志配置中移除任何豁免的主账号。

    1. 数据访问审核日志配置下,对于显示豁免的主账号的每项服务,点击相应服务。系统会打开服务的审核日志配置面板。
    2. 豁免的主账号标签页上,点击每个名称旁边的删除 ,移除所有豁免的主账号。
    3. 点击保存

了解此发现结果类型支持的资产和扫描设置

Auto backup disabled

API 中的类别名称:AUTO_BACKUP_DISABLED

Cloud SQL 数据库未启用自动备份。

为避免数据丢失,请为 SQL 实例启用自动备份。如需了解详情,请参阅创建和管理按需备份和自动备份

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 SQL 实例备份页面。

    转到“SQL 实例备份”

  2. 点击设置旁边的修改

  3. 选中自动备份复选框。

  4. 在下拉菜单中,选择数据自动备份的时段。

  5. 点击保存

了解此发现结果类型支持的资产和扫描设置

Auto repair disabled

API 中的类别名称:AUTO_REPAIR_DISABLED

Google Kubernetes Engine (GKE) 集群的自动修复功能已停用,此功能可使节点保持正常运行状态。

启用该功能后,GKE 会定期检查集群中每个节点的运行状况。如果某个节点在较长时间内连续多次无法通过健康检查,则 GKE 会为该节点启动修复流程。如需了解详情,请参阅自动修复节点

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 点击节点标签页。

  3. 对于每个节点池:

    1. 点击节点池的名称转到其详情页面。
    2. 点击修改
    3. 管理下,选择启用自动修复
    4. 点击保存

了解此发现结果类型支持的资产和扫描设置

Auto upgrade disabled

API 中的类别名称:AUTO_UPGRADE_DISABLED

GKE 集群的自动升级功能已停用,此功能会保持集群和节点池使用 Kubernetes 的最新稳定版。

如需了解详情,请参阅自动升级节点

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 在集群列表中,点击集群的名称。

  3. 点击节点标签页。

  4. 对于每个节点池:

    1. 点击节点池的名称转到其详情页面。
    2. 点击修改
    3. 管理下,选择启用自动升级
    4. 点击保存

了解此发现结果类型支持的资产和扫描设置

BigQuery table CMEK disabled

API 中的类别名称:BIGQUERY_TABLE_CMEK_DISABLED

BigQuery 表未配置为使用客户管理的加密密钥 (CMEK)。

借助 CMEK,您在 Cloud KMS 中创建和管理的密钥会封装 Google Cloud 用于加密数据的密钥,从而使您能够更好地控制对您数据的访问。如需了解详情,请参阅使用 Cloud KMS 密钥保护数据

如需修复此发现结果,请完成以下步骤:

  1. 创建受 Cloud Key Management Service 保护的表
  2. 将表复制到启用了 CMEK 的新表
  3. 删除原始表

如需设置用于加密数据集中的所有新表的默认 CMEK 密钥,请参阅设置数据集默认密钥

了解此发现结果类型支持的资产和扫描设置

Binary authorization disabled

API 中的类别名称:BINARY_AUTHORIZATION_DISABLED

GKE 集群上已停用 Binary Authorization。

Binary Authorization 包含一项可选功能,只允许将开发过程中由可信授权方签名的容器映像部署到集群中,以此保护供应链安全。通过执行基于签名的部署,您可以确保仅允许部署经过验证的映像,从而对容器环境实施更严格的控制。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 安全性部分,点击 Binary Authorization 行中的修改图标 ()。

    如果最近更改了集群配置,则修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。

  3. 在对话框中,选择启用 Binary Authorization

  4. 点击保存更改

  5. 转到 Binary Authorization 设置页面。

    转到 Binary Authorization

  6. 确保已配置需要证明者的政策,并且未将项目默认规则配置为允许所有映像。如需了解详情,请参阅为 GKE 进行设置

    如需确保允许部署违反政策的映像并将违规事件记录到 Cloud Audit Logs 中,您可以启用试运行模式

了解此发现结果类型支持的资产和扫描设置

Bucket CMEK disabled

API 中的类别名称:BUCKET_CMEK_DISABLED

存储桶不使用客户管理的加密密钥 (CMEK) 进行加密。

对存储桶设置默认 CMEK 后,您可以更好地控制数据访问权限。如需了解详情。请参阅客户管理的加密密钥

要修复此发现结果,请遵循使用客户管理的加密密钥为存储桶使用 CMEK。CMEK 会产生与 Cloud KMS 相关的额外费用。

了解此发现结果类型支持的资产和扫描设置

Bucket IAM not monitored

API 中的类别名称:BUCKET_IAM_NOT_MONITORED

日志指标和提醒未配置为监控 Cloud Storage IAM 权限更改。

监控 Cloud Storage 存储桶权限的更改可帮助您识别权限过高的用户或可疑活动。如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

创建指标

  1. 进入 Google Cloud 控制台中的基于日志的指标页面。

    转到“基于日志的指标”

  2. 点击创建指标

  3. 指标类型下,选择计数器

  4. 详情下:

    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:

      resource.type=gcs_bucket
      AND protoPayload.methodName="storage.setIamPermissions"
    

  6. 点击创建指标。您将看到确认。

创建提醒政策

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择基于日志的指标

    前往基于日志的指标

  2. 用户定义的指标部分下,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒

    系统将打开新建条件对话框,其中预先填充了指标和数据转换选项。

  4. 点击下一步
    1. 查看预先填充的设置。您可能需要修改阈值
    2. 点击条件名称,然后输入条件的名称。
  5. 点击下一步
  6. 如需将通知添加到您的提醒政策中,请点击通知渠道。在对话框中,从菜单中选择一个或多个通知渠道,然后点击确定

    如需在开启和关闭突发事件时接收通知,请选中突发事件关闭时通。默认情况下,仅在开启突发事件时发送通知。

  7. 可选:更新突发事件自动关闭持续时间。此字段用于确定在缺少指标数据的情况下 Monitoring 何时关闭突发事件。
  8. 可选:点击文档,然后添加您希望包含在通知消息中的任何信息。
  9. 点击提醒名称,然后输入提醒政策的名称。
  10. 点击 Create Policy(创建政策)。

了解此发现结果类型支持的资产和扫描设置

Bucket logging disabled

API 中的类别名称:BUCKET_LOGGING_DISABLED

有一个存储桶未启用日志记录。

为了帮助调查安全问题和监控存储空间使用情况,请为 Cloud Storage 存储桶启用访问日志和存储信息。 访问日志提供向指定存储桶发出的所有请求的信息,而存储日志提供该存储桶的存储空间使用情况的信息。

要修复此发现结果,请按使用情况日志和存储日志 指南为 Security Health Analytics 发现结果指示的存储桶设置日志记录。

了解此发现结果类型支持的资产和扫描设置

Bucket policy only disabled

API 中的类别名称:BUCKET_POLICY_ONLY_DISABLED

未配置统一存储桶级访问权限(以前称为“仅限存储桶政策”)。

统一存储桶级访问权限通过停用对象级权限 (ACL) 来简化存储桶访问权限控制。启用后,只有存储桶级 IAM 权限会授予对存储桶及其包含的对象的访问权限。如需了解详情,请参阅统一存储桶级访问权限

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 Cloud Storage 浏览器页面。

    转到 Cloud Storage 浏览器

  2. 在存储桶列表中,点击所需存储桶的名称。

  3. 点击配置选项卡。

  4. 权限下的访问权限控制行中,点击修改图标 ()。

  5. 在对话框中,选择统一

  6. 点击保存

了解此发现结果类型支持的资产和扫描设置

Cloud Asset API disabled

API 中的类别名称:CLOUD_ASSET_API_DISABLED

该项目未启用 Cloud Asset Inventory 服务。

如需修复此发现结果,请完成以下步骤:

  1. 进入 Google Cloud 控制台中的 API 库页面。

    转到 API 库

  2. 搜索 Cloud Asset Inventory

  3. 选择 Cloud Asset API 服务的结果。

  4. 确保显示了 API 已启用

Cluster logging disabled

API 中的类别名称:CLUSTER_LOGGING_DISABLED

没有为 GKE 群集启用日志记录功能。

为帮助调查安全问题和监控使用情况,请在集群上启用 Cloud Logging

如果信息量很大,Cloud Logging 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 Kubernetes 集群

  2. 选择 Security Health Analytics 发现结果中列出的集群。

  3. 点击 修改

    如果最近更改了集群配置,则修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。

  4. 在旧版 Stackdriver LoggingStackdriver Kubernetes Engine Monitoring 下拉列表中,选择 启用

    这些选项不兼容。确保您仅使用 Stackdriver Kubernetes Engine Monitoring,或将旧版 Stackdriver Logging旧版 Stackdriver Monitoring 结合使用。

  5. 点击保存

了解此发现结果类型支持的资产和扫描设置

Cluster monitoring disabled

API 中的类别名称:CLUSTER_MONITORING_DISABLED

GKE 集群上已停用 Monitoring。

为帮助调查安全问题和监控使用情况,请在集群上启用 Cloud Monitoring

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 Kubernetes 集群

  2. 选择 Security Health Analytics 发现结果中列出的集群。

  3. 点击 修改

    如果最近更改了集群配置,则修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。

  4. 在旧版 Stackdriver MonitoringStackdriver Kubernetes Engine Monitoring 下拉列表中,选择 启用

    这些选项不兼容。确保您仅使用 Stackdriver Kubernetes Engine Monitoring 或将旧版 Stackdriver Monitoring旧版 Stackdriver Logging 结合使用。

  5. 点击保存

了解此发现结果类型支持的资产和扫描设置

Cluster private Google access disabled

API 中的类别名称:CLUSTER_PRIVATE_GOOGLE_ACCESS_DISABLED

集群主机未配置为仅使用内部专用 IP 地址来访问 Google API。

专用 Google 访问通道使只具有专用内部 IP 地址的虚拟机实例可以访问 Google API 和服务的公共 IP 地址。如需了解详情,请参阅配置 Google 专用访问通道

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 Virtual Private Cloud 网络页面。

    转到 VPC 网络

  2. 在网络列表中,点击所需网络的名称。

  3. VPC 网络详情页面上,点击子网标签页。

  4. 在子网列表中,点击与发现结果中的 Kubernetes 集群关联的子网的名称。

  5. 子网详情页面上,点击修改

  6. 专用 Google 访问通道下,选择开启

  7. 点击保存

  8. 要从其外部流量仅流向 Google API 的虚拟机实例移除公共(外部)IP 地址,请参阅取消分配静态外部 IP 地址

了解此发现结果类型支持的资产和扫描设置

Cluster secrets encryption disabled

API 中的类别名称:CLUSTER_SECRETS_ENCRYPTION_DISABLED

GKE 集群上已停用应用层 Secret 加密。

应用层 Secret 加密可确保 GKE Secret 使用 Cloud KMS 密钥进行加密。此功能为敏感数据提供了一层额外的安全防护,例如用户定义的 Secret 和集群操作所需的 Secret(如服务账号密钥),此类 Secret 均存储在 etcd 中。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud KMS 密钥页面。

    转到“Cloud KMS 密钥”

  2. 审核您的应用密钥或创建数据库加密密钥 (DEK)。如需了解详情,请参阅创建 Cloud KMS 密钥

  3. 转到 Kubernetes 集群页面

    打开 KUBERNETES 集群

  4. 选择发现结果中的集群。

  5. 安全下的应用层 Secret 加密字段中,点击 修改应用层 Secret 加密

  6. 选中启用应用层 Secret 加密复选框,然后选择您创建的 DEK。

  7. 点击保存更改

了解此发现结果类型支持的资产和扫描设置

Cluster shielded nodes disabled

API 中的类别名称:CLUSTER_SHIELDED_NODES_DISABLED

集群未启用安全强化型 GKE 节点。

在没有安全强化型 GKE 节点的情况下,攻击者可能会利用 Pod 中的漏洞来泄露引导凭据,并模拟集群中的节点。此漏洞可向攻击者授予对集群密钥的访问权限。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 选择发现结果中的集群。

  3. 安全下的安全强化型 GKE 节点字段中,点击 修改安全强化型 GKE 节点

  4. 选中启用安全强化型 GKE 节点复选框。

  5. 点击保存更改

了解此发现结果类型支持的资产和扫描设置

Compute project wide SSH keys allowed

API 中的类别名称:COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

使用项目范围的 SSH 密钥,允许登录项目中的所有实例。

使用项目范围的 SSH 密钥可简化 SSH 密钥管理,但如果遭破解,就会构成安全风险,导致项目中的所有实例受影响。您应该使用实例专用 SSH 密钥,这样在 SSH 密钥被破解时可以减小攻击面。如需了解详情,请参阅管理元数据中的 SSH 密钥

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到“虚拟机实例”

  2. 在实例列表中,点击发现结果中的实例的名称。

  3. 虚拟机实例详情页面上,点击 修改

  4. SSH 密钥下,选择屏蔽项目范围的 SSH 密钥

  5. 点击保存

了解此发现结果类型支持的资产和扫描设置

Compute Secure Boot disabled

API 中的类别名称:COMPUTE_SECURE_BOOT_DISABLED

安全强化型虚拟机未启用安全启动。

使用安全启动功能可以保护虚拟机免受 rootkit 和 bootkit 攻击。默认情况下,Compute Engine 不会启用安全启动,因为某些未签名的驱动程序和低级别软件不兼容。如果您的虚拟机未使用不兼容的软件,并且在启动时启用了安全启动功能,那么 Google 建议您使用该功能。如果您将第三方模块与 Nvidia 驱动程序搭配使用,在启用安全启动之前,请确保它们与安全启动功能兼容。

如需了解详情,请参阅安全启动

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到“虚拟机实例”

  2. 在实例列表中,点击发现结果中的实例的名称。

  3. 虚拟机实例详情页面上,点击 停止

  4. 实例停止后,点击 修改

  5. 安全强化型虚拟机下,选择开启安全启动

  6. 点击保存

  7. 点击 启动以启动实例。

了解此发现结果类型支持的资产和扫描设置

Compute serial ports enabled

API 中的类别名称:COMPUTE_SERIAL_PORTS_ENABLED

为实例启用了串行端口,允许连接到实例的串行控制台。

如果您针对实例启用交互式串行控制台,客户端可以尝试从任何 IP 地址连接该实例。因此,应停用交互式串行控制台支持。如需了解详情,请参阅针对项目启用访问权限

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到“虚拟机实例”

  2. 在实例列表中,点击发现结果中的实例的名称。

  3. 虚拟机实例详情页面上,点击 修改

  4. 远程访问下,取消选中允许连接到串行端口

  5. 点击保存

了解此发现结果类型支持的资产和扫描设置

Confidential Computing disabled

API 中的类别名称:CONFIDENTIAL_COMPUTING_DISABLED

Compute Engine 实例未启用机密计算。

机密计算可通过加密使用中的数据,在端到端加密案例中增添“第三大支柱”。借助机密计算和 AMD 安全加密虚拟化 (SEV) 提供的机密执行环境,Google Cloud 会确保在处理期间,对内存中的敏感代码和其他数据进行加密。

机密计算仅在创建实例时启用。因此,您必须删除当前实例并创建一个新实例。

如需了解详情,请参阅机密虚拟机和 Compute Engine

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到“虚拟机实例”

  2. 在实例列表中,点击发现结果中的实例的名称。

  3. 虚拟机实例详情页面上,点击 删除

  4. 使用 Google Cloud 控制台创建机密虚拟机

了解此发现结果类型支持的资产和扫描设置

COS not used

API 中的类别名称:COS_NOT_USED

Compute Engine 虚拟机未使用 Container-Optimized OS,该操作系统旨在安全地在 Google Cloud 上运行 Docker 容器。

Google 推荐使用 Container-Optimized OS 在 Google Cloud 上托管和运行容器。这是一个精简型操作系统,可最大程度地减少安全漏洞,并且其自动更新功能能够及时修补安全漏洞。如需了解详情,请参阅 Container-Optimized OS 概览

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 在集群列表中,点击发现结果中的集群的名称。

  3. 点击节点标签页。

  4. 对于每个节点池:

    1. 点击节点池的名称转到其详情页面。
    2. 点击修改
    3. 节点 -> 映像类型下,点击更改
    4. 选择 Container-Optimized OS,然后点击更改
    5. 点击保存

了解此发现结果类型支持的资产和扫描设置

Custom role not monitored

API 中的类别名称:CUSTOM_ROLE_NOT_MONITORED

日志指标和提醒未配置为监控自定义角色更改。

IAM 提供预定义角色和自定义角色,可授予对特定 Google Cloud 资源的访问权限。通过监控角色创建、删除和更新活动,您可以在早期阶段确定特权过高的角色。如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

创建指标

  1. 进入 Google Cloud 控制台中的基于日志的指标页面。

    转到“基于日志的指标”

  2. 点击创建指标

  3. 指标类型下,选择计数器

  4. 详情下:

    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:

      resource.type="iam_role"
      AND (protoPayload.methodName="google.iam.admin.v1.CreateRole"
      OR protoPayload.methodName="google.iam.admin.v1.DeleteRole"
      OR protoPayload.methodName="google.iam.admin.v1.UpdateRole")
    

  6. 点击创建指标。您将看到确认。

创建提醒政策

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择基于日志的指标

    前往基于日志的指标

  2. 用户定义的指标部分下,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒

    系统将打开新建条件对话框,其中预先填充了指标和数据转换选项。

  4. 点击下一步
    1. 查看预先填充的设置。您可能需要修改阈值
    2. 点击条件名称,然后输入条件的名称。
  5. 点击下一步
  6. 如需将通知添加到您的提醒政策中,请点击通知渠道。在对话框中,从菜单中选择一个或多个通知渠道,然后点击确定

    如需在开启和关闭突发事件时接收通知,请选中突发事件关闭时通。默认情况下,仅在开启突发事件时发送通知。

  7. 可选:更新突发事件自动关闭持续时间。此字段用于确定在缺少指标数据的情况下 Monitoring 何时关闭突发事件。
  8. 可选:点击文档,然后添加您希望包含在通知消息中的任何信息。
  9. 点击提醒名称,然后输入提醒政策的名称。
  10. 点击 Create Policy(创建政策)。

了解此发现结果类型支持的资产和扫描设置

Dataproc CMEK disabled

API 中的类别名称:DATAPROC_CMEK_DISABLED

创建了 Dataproc 集群时未使用加密配置 CMEK。借助 CMEK,您在 Cloud Key Management Service 中创建和管理的密钥会封装 Google Cloud 用于加密数据的密钥,从而使您能够更好地控制对数据的访问。

如需修复此发现结果,请完成以下步骤:

  1. 进入 Google Cloud 控制台中的 Dataproc 集群页面。

    转到 Dataproc 集群

  2. 选择您的项目,然后点击创建集群

  3. 管理安全设置部分中,点击加密,然后选择客户管理的密钥

  4. 从列表中选择客户管理的密钥。

    如果您没有客户管理的密钥,则需要创建一个供使用。如需了解详情,请参阅客户管理的加密密钥

  5. 确保所选的 KMS 密钥将 Cloud KMS CryptoKey Encrypter/Decrypter 角色分配给 Dataproc 集群服务账号(“serviceAccount:service-project_number@compute-system.iam.gserviceaccount.com”)。

  6. 创建集群后,将所有工作负载从较旧的集群迁移到新集群。

  7. 前往“Dataproc 集群”,然后选择您的项目。

  8. 选择旧集群,然后点击 删除集群。

  9. 对所选项目中可用的其他 Dataproc 集群重复执行上述步骤。

了解此发现结果类型支持的资产和扫描设置

Dataproc image outdated

API 中的类别名称:DATAPROC_IMAGE_OUTDATED

创建 Dataproc 集群时使用了受 Apache Log4j 2 实用程序(CVE-2021-44228CVE-2021-45046)中的安全漏洞影响的 Dataproc 映像版本。

此检测器可通过检查 Clusterconfig 属性中的 softwareConfig.imageVersion 字段是否包含以下任一受影响的版本来查找漏洞:

  • 低于 1.3.95 的映像版本。
  • 低于 1.4.77、1.5.53 和 2.0.27 的次要映像版本。

您可以手动替换自定义 Dataproc 映像的版本号。以下面几种情况为例:

  • 用户可以修改受影响的自定义映像的版本,使其看起来不受影响。在这种情况下,此检测器不会发出发现结果。
  • 用户可以将已知未受影响的自定义映像版本替换为已知存在漏洞的映像。在这种情况下,此检测器会发出假正例发现结果。如需抑制这些假正例发现结果,您可以忽略它们。

如需修复此发现结果,请重新创建并更新受影响的集群

了解此发现结果类型支持的资产和扫描设置

Dataset CMEK disabled

API 中的类别名称:DATASET_CMEK_DISABLED

BigQuery 数据集未配置为使用默认的客户管理的加密密钥 (CMEK)。

借助 CMEK,您在 Cloud KMS 中创建和管理的密钥会封装 Google Cloud 用于加密数据的密钥,从而使您能够更好地控制对您数据的访问。如需了解详情,请参阅使用 Cloud KMS 密钥保护数据

如需修复此发现结果,请完成以下步骤:

您无法在默认加密和 CMEK 加密之间就地切换表。如需设置用于加密数据集中的所有新表的默认 CMEK 密钥,请按照设置数据集默认密钥的说明操作。

设置默认密钥不会使用新密钥对当前位于数据集中的表进行追溯性的重新加密。如需将 CMEK 用于现有数据,请执行以下操作:

  1. 创建新数据集
  2. 在您创建的数据集上设置默认 CMEK 密钥
  3. 如需将表复制到启用了 CMEK 的数据集,请按照复制表中的说明操作。
  4. 成功复制数据后,删除原始数据集

了解此发现结果类型支持的资产和扫描设置

Default network

API 中的类别名称:DEFAULT_NETWORK

项目中存在默认网络。

默认网络已自动创建可能不安全的防火墙规则和网络配置。如需了解详情,请参阅默认网络

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 VPC 网络页面。

    转到 VPC 网络页面

  2. 在网络列表中,点击默认网络的名称。

  3. VPC 网络详情页面中,点击 删除 VPC 网络

  4. 如需使用自定义防火墙规则创建新网络,请参阅创建网络

了解此发现结果类型支持的资产和扫描设置

Default service account used

API 中的类别名称:DEFAULT_SERVICE_ACCOUNT_USED

Compute Engine 实例配置为使用默认服务账号。

默认的 Compute Engine 服务账号具有项目的 Editor 角色,可以对大多数 Google Cloud 服务进行读写操作。如需防范提升权限和未经授权的访问,请勿使用默认的 Compute Engine 服务账号。请创建新的服务账号,并仅分配实例需要的权限。如需了解角色和权限,请参阅访问权限控制

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到虚拟机实例

  2. 选择与 Security Health Analytics 发现结果相关的实例。

  3. 在加载的实例详情页面上,点击 停止

  4. 实例停止后,点击 修改

  5. 服务账号部分下,选择默认 Compute Engine 服务账号以外的服务账号。您可能需要先创建新的服务账号。如需了解 IAM 角色和权限,请参阅访问权限控制

  6. 点击保存。新配置会显示在实例详情页面上。

了解此发现结果类型支持的资产和扫描设置

Disk CMEK disabled

API 中的类别名称:DISK_CMEK_DISABLED

此虚拟机上的磁盘未使用客户管理的加密密钥 (CMEK) 进行加密。

借助 CMEK,您在 Cloud KMS 中创建和管理的密钥会封装 Google Cloud 用于加密数据的密钥,从而使您能够更好地控制对您数据的访问。如需了解详情,请参阅使用 Cloud KMS 密钥保护资源

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Compute Engine 磁盘页面。

    转到“Compute Engine 磁盘”

  2. 在磁盘列表中,点击发现结果中指明的磁盘的名称。

  3. 管理磁盘页面上,点击 删除

  4. 如需创建启用 CMEK 的新磁盘,请参阅使用您自己的密钥加密新的永久性磁盘。CMEK 会产生与 Cloud KMS 相关的额外费用。

了解此发现结果类型支持的资产和扫描设置

Disk CSEK disabled

API 中的类别名称:DISK_CSEK_DISABLED

此虚拟机上的磁盘未使用客户提供的加密密钥 (CSEK) 进行加密。关键虚拟机的磁盘应使用 CSEK 进行加密。

如果您提供自己的加密密钥,Compute Engine 会使用您的密钥来保护 Google 生成的用于加密和解密数据的密钥。如需了解详情,请参阅客户提供的加密密钥。CSEK 会产生与 Cloud KMS 相关的额外费用。

如需修复此发现结果,请完成以下步骤:

删除和创建磁盘

您只能使用自己的密钥加密新的永久性磁盘。您无法使用自己的密钥加密现有的永久性磁盘。

  1. 转到 Google Cloud 控制台中的 Compute Engine 磁盘页面。

    转到“Compute Engine 磁盘”

  2. 在磁盘列表中,点击发现结果中指明的磁盘的名称。

  3. 管理磁盘页面上,点击 删除

  4. 如需创建启用 CSEK 的新磁盘,请参阅使用客户提供的加密密钥加密磁盘

  5. 完成剩余步骤以启用检测器。

启用检测器

  1. 转到 Google Cloud 控制台中的 Security Command Center 资产页面。

    打开“资产”

  2. 快速过滤条件面板的资源类型部分中,选择 compute.Disk

    如果您没有看到 compute.Disk,请点击查看更多,在搜索字段中输入 Disk,然后点击应用

    结果面板会更新,仅显示 compute.Disk 资源类型的实例。

  3. 显示名称列中,选中要与 CSEK 结合使用的磁盘名称旁边的复选框,然后点击设置安全标记

  4. 在对话框中,点击添加标记

  5. 字段中,输入 enforce_customer_supplied_disk_encryption_keys;在字段中输入 true

  6. 点击保存

了解此发现结果类型支持的资产和扫描设置

DNS logging disabled

API 中的类别名称:DNS_LOGGING_DISABLED

监控 Cloud DNS 日志可让您了解 VPC 网络中客户端请求的 DNS 名称。您可以监控这些日志以查看是否存在异常域名,并针对威胁情报进行评估。我们建议为 VPC 网络启用 DNS 日志记录。

如果信息量很大,Cloud DNS日志记录的使用费有可能会非常高。如需了解该服务的使用情况及其费用,请参阅 Google Cloud 可观测性价格:Cloud Logging

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 VPC 网络页面。

    转到 VPC 网络页面

  2. 在网络列表中,点击 VPC 网络的名称。

  3. 创建新的服务器政策(如果不存在),或修改现有政策:

    • 如果网络没有 DNS 服务器政策,请完成以下步骤:

      1. 点击 修改
      2. DNS 服务器政策字段中,点击创建新的服务器政策
      3. 为新服务器政策输入名称。
      4. 日志设置为开启
      5. 点击保存
    • 如果网络具有 DNS 服务器政策,请完成以下步骤:

      1. DNS 服务器政策字段中,点击 DNS 政策的名称。
      2. 点击 修改政策
      3. 日志设置为开启
      4. 点击保存

了解此发现结果类型支持的资产和扫描设置

DNSSEC disabled

API 中的类别名称:DNSSEC_DISABLED

停用了 Cloud DNS 区域的域名系统安全扩展 (DNSSEC)。

DNSSEC 可通过加密签名 DNS 记录来验证 DNS 响应并缓解 DNS 黑客攻击和中间人攻击等风险。您应启用 DNSSEC。如需了解详情,请参阅 DNS 安全扩展 (DNSSEC) 概览

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 Cloud DNS 页面。

    转到“Cloud DNS 网络”

  2. 找到发现结果中指明的 DNS 区域所在的行。

  3. 点击该行中的 DNSSEC 设置,然后在 DNSSEC 下,选择开启

  4. 阅读显示的对话框。如果满意,请点击启用

了解此发现结果类型支持的资产和扫描设置

Egress deny rule not set

API 中的类别名称:EGRESS_DENY_RULE_NOT_SET

防火墙上未设置出站流量拒绝规则。

拒绝所有出站网络流量的防火墙会阻止任何不需要的出站网络连接,其他防火墙明确授权的连接除外。如需了解详情,请参阅出站情景

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到防火墙

  2. 点击创建防火墙规则

  3. 为防火墙命名,并视需要添加说明。

  4. 流量方向选择出站

  5. 对匹配项执行的操作下,选择拒绝

  6. 目标下拉菜单中,选择网络中的所有实例

  7. 目标过滤条件下拉菜单中,选择 IP 范围,然后在目标 IP 地址范围框中输入 0.0.0.0/0

  8. 协议和端口下,选择全部拒绝

  9. 点击停用规则,然后在强制执行下选择已启用

  10. 点击创建

了解此发现结果类型支持的资产和扫描设置

Essential contacts not configured

API 中的类别名称:ESSENTIAL_CONTACTS_NOT_CONFIGURED

您的组织尚未指定个人或群组来接收来自 Google Cloud 有关 Google Cloud 组织中重要事件(例如攻击、漏洞和数据突发事件)的通知。我们建议您将公司组织中的一个或多个人或群组指定为重要联系人。

如需修复此发现结果,请完成以下步骤:

  1. 进入 Google Cloud 控制台中的重要联系人页面。

    进入“重要联系人”

  2. 确保组织显示在页面顶部的资源选择器中。资源选择器会显示您当前为哪个项目、文件夹或组织管理联系人。

  3. 点击 + 添加联系人系统会打开添加联系人面板。

  4. 电子邮件确认电子邮件字段中,输入联系人的电子邮件地址。

  5. 通知类别部分中,选择您希望联系人接收相关信息的通知类别。确保为以下各个通知类别配置相应的电子邮件地址:

    1. Legal
    2. 安全性
    3. 暂停
    4. 技术
  6. 点击保存 了解此发现结果类型支持的资产和扫描设置

Firewall not monitored

API 中的类别名称:FIREWALL_NOT_MONITORED

日志指标和提醒未配置为监控 VPC 网络防火墙规则更改。

通过监控防火墙规则创建和更新事件,您可以深入了解网络访问权限更改情况,并且可以帮助您快速检测可疑活动。如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

创建指标

  1. 进入 Google Cloud 控制台中的基于日志的指标页面。

    转到“基于日志的指标”

  2. 点击创建指标

  3. 指标类型下,选择计数器

  4. 详情下:

    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:

      resource.type="gce_firewall_rule"
      AND (protoPayload.methodName:"compute.firewalls.insert"
      OR protoPayload.methodName:"compute.firewalls.patch"
      OR protoPayload.methodName:"compute.firewalls.delete")
    

  6. 点击创建指标。您将看到确认。

创建提醒政策

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择基于日志的指标

    前往基于日志的指标

  2. 用户定义的指标部分下,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒

    系统将打开新建条件对话框,其中预先填充了指标和数据转换选项。

  4. 点击下一步
    1. 查看预先填充的设置。您可能需要修改阈值
    2. 点击条件名称,然后输入条件的名称。
  5. 点击下一步
  6. 如需将通知添加到您的提醒政策中,请点击通知渠道。在对话框中,从菜单中选择一个或多个通知渠道,然后点击确定

    如需在开启和关闭突发事件时接收通知,请选中突发事件关闭时通。默认情况下,仅在开启突发事件时发送通知。

  7. 可选:更新突发事件自动关闭持续时间。此字段用于确定在缺少指标数据的情况下 Monitoring 何时关闭突发事件。
  8. 可选:点击文档,然后添加您希望包含在通知消息中的任何信息。
  9. 点击提醒名称,然后输入提醒政策的名称。
  10. 点击 Create Policy(创建政策)。

了解此发现结果类型支持的资产和扫描设置

Firewall rule logging disabled

API 中的类别名称:FIREWALL_RULE_LOGGING_DISABLED

防火墙规则日志记录已停用。

通过防火墙规则日志记录,您可以审核、验证和分析防火墙规则所带来的影响。这对于审核网络访问或提供未经批准的网络使用方式的早期警告非常有用。日志的使用费有可能会非常高。如需详细了解防火墙规则日志记录及其费用,请参阅使用防火墙规则日志记录

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击所需防火墙规则的名称。

  3. 点击 修改

  4. 日志下,选择开启

  5. 点击保存

了解此发现结果类型支持的资产和扫描设置

Flow logs disabled

API 中的类别名称:FLOW_LOGS_DISABLED

有一个 VPC 子网已停用流日志。

VPC 流日志记录了虚拟机实例发送和接收的网络流样本。这些日志可用于网络监控、取证、实时安全分析和费用优化。如需详细了解流日志及其费用,请参阅使用 VPC 流日志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 VPC 网络页面。

    转到 VPC 网络页面

  2. 在网络列表中,点击所需网络的名称。

  3. VPC 网络详情页面上,点击子网标签页。

  4. 在子网列表中,点击发现结果中指明的子网的名称。

  5. 子网详情页面上,点击 修改

  6. 流日志下,选择开启

了解此发现结果类型支持的资产和扫描设置

API 中的类别名称:VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

在 VPC 网络的子网配置中,VPC 流日志服务已关闭,或者未根据 CIS 基准 1.3 建议进行配置。 VPC 流日志记录了虚拟机实例发送和接收的网络流样本,可用于检测威胁。

如需详细了解 VPC 流日志及其费用,请参阅使用 VPC 流日志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 VPC 网络页面。

    转到 VPC 网络页面

  2. 在网络列表中,点击网络的名称。

  3. VPC 网络详情页面上,点击子网标签页。

  4. 在子网列表中,点击发现结果中指明的子网的名称。

  5. 子网详情页面上,点击 修改

  6. 流日志下,选择开启

    1. (可选)点击配置日志按钮以展开标签页,然后修改日志配置。CIS 基准建议采用以下设置:
      1. 汇总间隔时间设置为 5 秒
      2. 其他字段复选框中,选择包括元数据选项。
      3. 采样率设置为 100%
      4. 点击保存按钮。

了解此发现结果类型支持的资产和扫描设置

Full API access

API 中的类别名称:FULL_API_ACCESS

Compute Engine 实例配置为使用具有所有 Google Cloud API 的完整访问权限的默认服务账号。

配置了默认服务账号范围授予对所有 Cloud API 的完整访问权限的实例可能允许用户执行其没有 IAM 权限的操作或 API 调用。如需了解详情,请参阅 Compute Engine 默认服务账号

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到“虚拟机实例”

  2. 在实例列表中,点击发现结果中的实例的名称。

  3. 如果实例当前已启动,请点击 停止

  4. 实例停止后,点击 修改

  5. 服务账号下的下拉菜单中,选择 Compute Engine 默认服务账号

  6. 访问权限范围部分下,确保未选中授予对所有 Cloud API 的完整访问权限

  7. 点击保存

  8. 点击 启动以启动实例。

了解此发现结果类型支持的资产和扫描设置

HTTP load balancer

API 中的类别名称:HTTP_LOAD_BALANCER

Compute Engine 实例使用配置为使用目标 HTTP 代理(而非目标 HTTPS 代理)的负载均衡器。

为了保护数据的完整性并防止入侵者篡改通信,请将 HTTP(S) 负载均衡器配置为仅允许 HTTPS 流量。如需了解详情,请参阅外部 HTTP(S) 负载均衡概览

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的目标代理页面。

    转到“目标代理”

  2. 在目标代理列表中,点击发现结果中的目标代理的名称。

  3. 点击网址映射下的链接。

  4. 点击 修改

  5. 点击前端配置

  6. 删除所有允许 HTTP 流量的前端 IP 和端口配置,并创建允许 HTTPS 流量的新配置。

了解此发现结果类型支持的资产和扫描设置

Instance OS login disabled

API 中的类别名称:INSTANCE_OS_LOGIN_DISABLED

此 Compute Engine 实例上已停用 OS Login。

OS Login 通过 IAM 实现集中式 SSH 密钥管理,并对项目中的所有实例停用基于元数据的 SSH 密钥配置。了解如何设置和配置 OS Login

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到“虚拟机实例”

  2. 在实例列表中,点击发现结果中的实例的名称。

  3. 在加载的实例详情页面上,点击 停止

  4. 实例停止后,点击 修改

  5. 自定义元数据部分中,确保带有 enable-oslogin 键的项的值为 TRUE

  6. 点击保存

  7. 点击 启动以启动实例。

了解此发现结果类型支持的资产和扫描设置

Integrity monitoring disabled

API 中的类别名称:INTEGRITY_MONITORING_DISABLED

GKE 集群上已停用完整性监控。

借助完整性监控功能,您可以使用 Monitoring 来监控和验证安全强化型节点的运行时启动完整性。这样,您就可以响应完整性验证失败并防止遭入侵的节点部署到集群中。

如需修复此发现结果,请完成以下步骤:

预配节点后,将无法对其进行更新以启用完整性监控。您必须创建启用完整性监控的新节点池。

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 点击发现结果中的集群的名称。

  3. 点击添加节点池

  4. 安全性标签页下,确保已启用启用完整性监控

  5. 点击创建

  6. 如需将工作负载从现有的不符合要求的节点池迁移到新节点池,请参阅将工作负载迁移到不同的机器类型

  7. 迁移工作负载后,删除原有的不符合要求的节点池。

    1. Kubernetes 集群页面的节点池菜单中,点击要删除的节点池的名称。
    2. 点击移除节点池

了解此发现结果类型支持的资产和扫描设置

Intranode visibility disabled

API 中的类别名称:INTRANODE_VISIBILITY_DISABLED

GKE 集群已停用节点内可见性。

如果启用节点内可见性,系统将向网络架构显示节点内的 pod 到 pod 流量。借助此功能,您可以使用 VPC 流日志记录或其他 VPC 功能来监控或控制节点内流量。如需获取日志,您需在所选的子网中启用 VPC 流日志。如需了解详情,请参阅使用 VPC 流日志

如需修复此发现结果,请完成以下步骤:

预配节点后,将无法对其进行更新以启用完整性监控。您必须创建启用完整性监控的新节点池。

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 网络部分中,点击节点内可见性行中的修改图标 ()。

    如果最近更改了集群配置,则修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。

  3. 在对话框中,选中启用节点内可见性

  4. 点击保存更改

了解此发现结果类型支持的资产和扫描设置

IP alias disabled

API 中的类别名称:IP_ALIAS_DISABLED

创建 GKE 集群时停用了别名 IP 范围。

启用别名 IP 范围时,GKE 集群会分配来自已知 CIDR 块的 IP 地址,因此您的集群可以伸缩并更好地与 Google Cloud 产品和实体进行交互。如需了解详情,请参阅别名 IP 范围概览

如需修复此发现结果,请完成以下步骤:

您无法通过迁移现有集群来使用别名 IP。如需创建启用别名 IP 的新集群,请执行以下操作:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 点击创建

  3. 在导航窗格的集群下,点击网络

  4. 高级网络选项下,选择启用 VPC 原生流量路由(使用别名 IP)

  5. 点击创建

了解此发现结果类型支持的资产和扫描设置

IP forwarding enabled

API 中的类别名称:IP_FORWARDING_ENABLED

Compute Engine 实例上启用了 IP 转发。

请为虚拟机停用数据包的 IP 转发,以防止数据丢失或信息泄露。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到“虚拟机实例”

  2. 在实例列表中,选中发现结果中的实例名称旁边的复选框。

  3. 点击 删除

  4. 选择创建实例以创建一个新实例来替换您删除的实例。

  5. 为确保停用 IP 转发,请点击管理、磁盘、网络、SSH 密钥,然后点击网络

  6. 网络接口下,点击 修改

  7. IP 转发下的下拉菜单中,确保选中关闭

  8. 指定任何其他实例参数,然后点击创建。如需了解详情,请参阅创建和启动虚拟机实例

了解此发现结果类型支持的资产和扫描设置

KMS key not rotated

API 中的类别名称:KMS_KEY_NOT_ROTATED

没有在 Cloud KMS 加密密钥上配置轮替。

定期轮替加密密钥可提供保护,以防密钥泄露,并且可以限制可用于对特定密钥版本进行加密分析的加密消息数量。如需了解详情,请参阅密钥轮替

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud KMS 密钥页面。

    转到“Cloud KMS 密钥”

  2. 点击发现结果中指明的密钥环的名称。

  3. 点击发现结果中指明的密钥的名称。

  4. 点击修改轮替周期

  5. 将轮替周期设置为最长 90 天。

  6. 点击保存

了解此发现结果类型支持的资产和扫描设置

KMS project has owner

API 中的类别名称:KMS_PROJECT_HAS_OWNER

用户对具有加密密钥的项目具有 roles/Owner 权限。如需了解详情,请参阅权限和角色

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM 页面

  2. 如有必要,选择发现结果中的项目。

  3. 对于每个分配了 Owner 角色的主账号:

    1. 点击 修改
    2. 修改权限面板中,点击 Owner 角色旁边的 删除
    3. 点击保存

了解此发现结果类型支持的资产和扫描设置

KMS public key

API 中的类别名称:KMS_PUBLIC_KEY

Cloud KMS CryptoKey 或 Cloud KMS 密钥环是公开的,互联网上的任何用户都可以访问。如需了解详情,请参阅将 IAM 与 Cloud KMS 搭配使用

如果此发现结果与 KMS CryptoKey 相关,则执行以下步骤来进行修复:

  1. 转到 Google Cloud 控制台中的“加密密钥”页面

    加密密钥

  2. 名称下,选择包含与 Security Health Analytics 发现结果相关的加密密钥的密钥环。

  3. 在加载的密钥环详细信息页面上,选中加密密钥旁边的复选框。

  4. 如果未显示信息面板,请点击显示信息面板按钮。

  5. 使用角色/主账号前面的过滤条件框搜索 allUsersallAuthenticatedUsers 的主账号,然后点击删除 即可移除这些主账号的访问权限。

如果此发现结果与 KMS 密钥环相关,则执行以下步骤来进行修复:

  1. 转到 Google Cloud 控制台中的“加密密钥”页面

    加密密钥

  2. 找到发现结果中的密钥环所在的行,然后选中复选框。

  3. 如果未显示信息面板,请点击显示信息面板按钮。

  4. 使用角色/主账号前面的过滤条件框搜索 allUsersallAuthenticatedUsers 的主账号,然后点击删除 即可移除这些主账号的访问权限。

了解此发现结果类型支持的资产和扫描设置

KMS role separation

API 中的类别名称:KMS_ROLE_SEPARATION

此发现结果不适用于项目级激活。

一个或多个主账号已分配有多项 Cloud KMS 权限。建议不要为任何账号同时授予 Cloud KMS Admin 和其他 Cloud KMS 权限。如需了解详情,请参阅权限和角色

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM

  2. 对于发现结果中列出的每个主账号,执行以下操作:

    1. 查看继承列,检查角色是否继承自文件夹或组织资源。如果该列包含父资源的链接,请点击链接以转到父资源的 IAM 页面。
    2. 点击主账号旁边的修改
    3. 如需移除权限,请点击 Cloud KMS Admin 旁边的删除 。如果您要移除该主账号的所有权限,请点击所有其他权限旁边的删除
  3. 点击保存

了解此发现结果类型支持的资产和扫描设置

Legacy authorization enabled

API 中的类别名称:LEGACY_AUTHORIZATION_ENABLED

在 GKE 集群上启用了旧版授权。

在 Kubernetes 中,借助基于角色的访问权限控制 (RBAC),您可以使用包含一组权限的规则定义角色,并在集群和命名空间级别授予权限。这样可确保用户仅拥有特定资源的访问权限,从而提高了安全性。请考虑停用旧版基于特性的访问权限控制 (ABAC)

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 Kubernetes 集群

  2. 选择 Security Health Analytics 发现结果中列出的集群。

  3. 点击 修改

    如果最近更改了集群配置,则修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。

  4. 旧版授权下拉列表中,选择已停用

  5. 点击保存

了解此发现结果类型支持的资产和扫描设置

Legacy metadata enabled

API 中的类别名称:LEGACY_METADATA_ENABLED

在 GKE 集群上启用了旧版元数据。

Compute Engine 的实例元数据服务器提供旧版 /0.1//v1beta1/ 端点,这些端点不会强制执行元数据查询标头。这是 /v1/ API 中的一项功能,使得潜在的攻击者难以检索实例元数据。除非有要求,否则我们建议停用这些旧版 /0.1//v1beta1/ API。

如需了解详情,请参阅停用旧版元数据 API 并从其转换到新版

如需修复此发现结果,请完成以下步骤:

您只能在创建新集群或在向现有集群添加新节点池时停用旧版元数据 API。如需更新现有集群和停用旧版元数据 API,请参阅将工作负载迁移到不同的机器类型

了解此发现结果类型支持的资产和扫描设置

Legacy network

API 中的类别名称:LEGACY_NETWORK

项目中存在旧版网络。

许多新的 Google Cloud 安全功能在旧版网络中不受支持,因此我们不建议您使用旧版网络。请改用 VPC 网络。如需了解详情,请参阅旧版网络

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 VPC 网络页面。

    转到 VPC 网络页面

  2. 如需创建新的非旧版网络,请点击创建网络

  3. 返回到 VPC 网络页面。

  4. 在网络列表中,点击 legacy_network

  5. VPC 网络详情页面中,点击 删除 VPC 网络

了解此发现结果类型支持的资产和扫描设置

Load balancer logging disabled

API 中的类别名称:LOAD_BALANCER_LOGGING_DISABLED

已为负载均衡器中的后端服务停用日志记录功能。

为负载均衡器启用日志记录功能后,您就可以查看 Web 应用的 HTTP(S) 网络流量。如需了解详情,请参阅负载均衡器

如需修复此发现结果,请完成以下步骤:

  1. 打开 Google Cloud 控制台中的 Cloud Load Balancing 页面。

    打开 Cloud Load Balancing

  2. 点击您的负载均衡器的名称。

  3. 点击修改

  4. 点击后端配置

  5. 后端配置页面中,点击

  6. 日志记录部分,选择启用日志记录,然后为您的项目选择最佳采样率。

  7. 如需完成后端服务的修改,请点击更新

  8. 如需完成负载均衡器修改,请点击更新

了解此发现结果类型支持的资产和扫描设置

Locked retention policy not set

API 中的类别名称:LOCKED_RETENTION_POLICY_NOT_SET

没有为日志设置锁定的保留政策。

锁定的保留政策会防止覆盖日志和删除日志存储桶。如需了解详情,请参阅存储分区锁定

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的存储空间浏览器页面。

    转到存储空间浏览器

  2. 选择 Security Health Analytics 发现结果中列出的存储桶。

  3. 存储桶详情页面上,点击保留标签页。

  4. 如果尚未设置保留政策,请点击设置保留政策

  5. 输入保留期限。

  6. 点击保存。保留政策显示在保留标签页中。

  7. 点击锁定以确保保留期限不会缩短或移除。

了解此发现结果类型支持的资产和扫描设置

Log not exported

API 中的类别名称:LOG_NOT_EXPORTED

资源没有配置适当的日志接收器。

Cloud Logging 可帮助您迅速找出系统和应用问题的根本原因。不过,大多数日志在默认情况下只保留 30 天。 导出所有日志条目的副本以延长存储期。如需了解详情,请参阅日志导出概览

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的日志路由器页面。

    转到“日志路由器”

  2. 点击创建接收器

  3. 为确保导出所有日志,请将包含过滤器和排除过滤器留空。

  4. 点击创建接收器

了解此发现结果类型支持的资产和扫描设置

Master authorized networks disabled

API 中的类别名称:MASTER_AUTHORIZED_NETWORKS_DISABLED

未在 GKE 集群上启用控制层面授权网络。

控制平面授权网络通过阻止指定的 IP 地址访问集群的控制平面来提高容器集群的安全性。如需了解详情,请参阅添加授权网络以实现控制层面访问

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 Kubernetes 集群

  2. 选择 Security Health Analytics 发现结果中列出的集群。

  3. 点击 修改

    如果最近更改了集群配置,则修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。

  4. 控制平面授权网络下拉列表中,选择已启用

  5. 点击添加已获授权的网络

  6. 指定您要使用的授权网络。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

MFA not enforced

API 中的类别名称:MFA_NOT_ENFORCED

此发现结果不适用于项目级激活。

为您的组织中的部分用户停用了多重身份验证(具体而言是两步验证 (2SV))。

多重身份验证可用于保护账号免遭未经授权的访问,是保护您的组织免遭登录凭据被盗的最重要工具。如需了解详情,请参阅通过两步验证来保护您的企业

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的管理控制台页面。

    转至管理控制台

  2. 为所有单位部门强制执行两步验证。

禁止显示此类型的发现结果

如需禁止此类型的发现结果,请定义忽略规则以自动忽略此类型的未来发现结果。如需了解详情,请参阅在 Security Command Center 中忽略发现结果

虽然这不是推荐用来禁止发现结果的方法,但您也可以向资产添加专用安全标记,这样 Security Health Analytics 检测器就不会为这些资产创建安全发现结果。

  • 为防止再次激活此发现结果,请向资源添加值为 true 的安全标记 allow_mfa_not_enforced
  • 如需忽略特定单位部门的潜在违规行为,请在字段中使用以英文逗号分隔的单位部门路径向资源添加 excluded_orgunits 安全标记。例如 excluded_orgunits:/people/vendors/vendorA,/people/contractors/contractorA

了解此发现结果类型支持的资产和扫描设置

Network not monitored

API 中的类别名称:NETWORK_NOT_MONITORED

日志指标和提醒未配置为监控 VPC 网络更改。

如需检测网络设置的不正确更改或未经授权的更改,请监控 VPC 网络更改。如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

创建指标

  1. 进入 Google Cloud 控制台中的基于日志的指标页面。

    转到“基于日志的指标”

  2. 点击创建指标

  3. 指标类型下,选择计数器

  4. 详情下:

    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:

      resource.type="gce_network"
      AND (protoPayload.methodName:"compute.networks.insert"
      OR protoPayload.methodName:"compute.networks.patch"
      OR protoPayload.methodName:"compute.networks.delete"
      OR protoPayload.methodName:"compute.networks.removePeering"
      OR protoPayload.methodName:"compute.networks.addPeering")
    

  6. 点击创建指标。您将看到确认。

创建提醒政策

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择基于日志的指标

    前往基于日志的指标

  2. 用户定义的指标部分下,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒

    系统将打开新建条件对话框,其中预先填充了指标和数据转换选项。

  4. 点击下一步
    1. 查看预先填充的设置。您可能需要修改阈值
    2. 点击条件名称,然后输入条件的名称。
  5. 点击下一步
  6. 如需将通知添加到您的提醒政策中,请点击通知渠道。在对话框中,从菜单中选择一个或多个通知渠道,然后点击确定

    如需在开启和关闭突发事件时接收通知,请选中突发事件关闭时通。默认情况下,仅在开启突发事件时发送通知。

  7. 可选:更新突发事件自动关闭持续时间。此字段用于确定在缺少指标数据的情况下 Monitoring 何时关闭突发事件。
  8. 可选:点击文档,然后添加您希望包含在通知消息中的任何信息。
  9. 点击提醒名称,然后输入提醒政策的名称。
  10. 点击 Create Policy(创建政策)。

了解此发现结果类型支持的资产和扫描设置

Network policy disabled

API 中的类别名称:NETWORK_POLICY_DISABLED

已在 GKE 集群上停用网络政策。

默认情况下,pod 到 pod 的通信处于开放状态。开放的通信使 pod 能够直接跨节点连接,无论是否使用网络地址转换。NetworkPolicy 资源类似于 pod 层面的防火墙,会限制 pod 之间的连接,除非 NetworkPolicy 资源明确允许连接。了解如何定义网络政策

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 Kubernetes 集群

  2. 点击 Security Health Analytics 发现结果中列出的集群的名称。

  3. 网络下的 Calico Kubernetes 网络政策行中,点击 修改

    如果最近更改了集群配置,则修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。

  4. 在对话框中,选择为控制平面启用 Calico Kubernetes 网络政策为节点启用 Calico Kubernetes 网络政策

  5. 点击保存更改

了解此发现结果类型支持的资产和扫描设置

Nodepool boot CMEK disabled

API 中的类别名称:NODEPOOL_BOOT_CMEK_DISABLED

此节点池中的启动磁盘未使用客户管理的加密密钥 (CMEK) 进行加密。CMEK 允许用户为节点池中的启动磁盘配置默认加密密钥。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 在集群列表中,点击发现结果中的集群的名称。

  3. 点击节点标签页。

  4. 对于每个 default-pool 节点池,点击删除

  5. 当系统提示您确认时,点击删除

  6. 如需使用 CMEK 创建新的节点池,请参阅使用客户管理的加密密钥 (CMEK)。CMEK 会产生与 Cloud KMS 相关的额外费用。

了解此发现结果类型支持的资产和扫描设置

Nodepool secure boot disabled

API 中的类别名称:NODEPOOL_SECURE_BOOT_DISABLED

GKE 集群已停用安全启动。

为安全强化型 GKE 节点启用安全启动,以验证节点启动组件的数字签名。如需了解详情,请参阅安全启动

如需修复此发现结果,请完成以下步骤:

预配节点池后,将无法对其进行更新以启用安全启动。您必须创建启用安全启动的新节点池。

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 点击发现结果中的集群的名称。

  3. 点击添加节点池

  4. 节点池菜单中,执行以下操作:

    1. 点击新节点池的名称以展开相应标签页。
    2. 选择安全,然后在安全强化选项下选中启用安全启动
    3. 点击创建
    4. 如需将工作负载从现有的不符合要求的节点池迁移到新节点池,请参阅将工作负载迁移到不同的机器类型
    5. 迁移工作负载后,删除原有的不符合要求的节点池。

了解此发现结果类型支持的资产和扫描设置

Non org IAM member

API 中的类别名称:NON_ORG_IAM_MEMBER

您的组织或项目以外的一名用户拥有项目或组织的 IAM 权限。详细了解 IAM 权限

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM

  2. 选中组织或项目外部用户旁边的复选框。

  3. 点击移除

了解此发现结果类型支持的资产和扫描设置

Object versioning disabled

API 中的类别名称:OBJECT_VERSIONING_DISABLED

配置了接收器的存储桶上未启用对象版本控制。

为了支持检索已删除或覆盖的对象,Cloud Storage 提供了对象版本控制功能。启用对象版本控制可防止 Cloud Storage 的数据被覆盖或意外删除。了解如何 启用对象版本控制

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

要修复此发现结果,请使用 gsutil versioning set on 命令以及适当的值:

    gsutil versioning set on gs://finding.assetDisplayName

finding.assetDisplayName 替换为相关存储桶的名称。

了解此发现结果类型支持的资产和扫描设置

Open Cassandra port

API 中的类别名称:OPEN_CASSANDRA_PORT

允许任何 IP 地址连接到 Cassandra 端口的防火墙规则可能会将您的 Cassandra 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

Cassandra 服务端口包括:

  • TCP - 7000, 7001, 7199, 8888, 9042, 9160, 61620, 61621

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open ciscosecure websm port

API 中的类别名称:OPEN_CISCOSECURE_WEBSM_PORT

允许任何 IP 地址连接到 CiscoSecure/WebSM 端口的防火墙规则可能会将您的 CiscoSecure/WebSM 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

CiscoSecure/WebSM 服务端口包括:

  • TCP - 9090

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open directory services port

API 中的类别名称:OPEN_DIRECTORY_SERVICES_PORT

允许任何 IP 地址连接到 Directory 端口的防火墙规则可能会将您的 Directory 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

Directory 服务端口包括:

  • TCP - 445
  • UDP - 445

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open DNS port

API 中的类别名称:OPEN_DNS_PORT

允许任何 IP 地址连接到 DNS 端口的防火墙规则可能会将您的 DNS 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

DNS 服务端口包括:

  • TCP - 53
  • UDP - 53

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open Elasticsearch port

API 中的类别名称:OPEN_ELASTICSEARCH_PORT

允许任何 IP 地址连接到 Elasticsearch 端口的防火墙规则可能会将您的 Elasticsearch 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

Elasticsearch 服务端口包括:

  • TCP - 9200, 9300

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open firewall

API 中的类别名称:OPEN_FIREWALL

若防火墙规则允许来自所有 IP 地址(例如 0.0.0.0/0)或所有端口的连接,可能会使资源不必要地暴露在非预期来源的攻击之下。应移除这些规则,或将范围明确限定为预期的来源 IP 地址范围或端口。例如,在打算公开的应用中,请考虑将允许的端口限制为应用所需的端口,如 80 和 443。如果您的应用需要允许来自所有 IP 地址或端口的连接,请考虑将资源添加到许可名单。详细了解如何更新防火墙规则

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙规则页面。

    转到“防火墙规则”

  2. 点击 Security Health Analytics 发现结果中列出的防火墙规则,然后点击 修改

  3. 来源 IP 地址范围下,修改 IP 值以限制允许的 IP 范围。

  4. 协议和端口下,选择指定的协议和端口,再选择允许的协议,并输入允许的端口。

  5. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open FTP port

API 中的类别名称:OPEN_FTP_PORT

允许任何 IP 地址连接到 FTP 端口的防火墙规则可能会将您的 FTP 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

FTP 服务端口包括:

  • TCP - 21

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open group IAM member

API 中的类别名称:OPEN_GROUP_IAM_MEMBER

有权访问组织、项目或文件夹的一个或多个主账号是无需批准即可加入的 Google 网上论坛账号。

Google Cloud 客户可以使用 Google 群组管理其组织成员的角色和权限,或对一系列用户应用访问权限政策。管理员可以直接向成员授予角色和权限,然后将成员添加到特定群组,而不是直接向成员授予角色。群组成员会继承群组的所有角色和权限,使成员可以访问特定资源和服务。

如果在 IAM 绑定中将打开的 Google 网上论坛账号用作主账号,则任何人都可以直接或间接加入群组(通过子群组),以继承关联的角色。我们建议您撤消开放群组的角色或限制对这些群组的访问权限。

要修复此发现结果,请执行以下步骤之一。

从 IAM 政策中移除群组

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    Go IAM

  2. 如有必要,请在发现结果中选择项目、文件夹或组织。

  3. 撤消发现结果中确定的每个开放群组的角色

限制对开放群组的访问权限

  1. 登录 Google 网上论坛
  2. 更新每个未结群组及其子群组的设置,以指定谁可以加入群组以及谁可以批准他们。

了解此发现结果类型支持的资产和扫描设置

Open HTTP port

API 中的类别名称:OPEN_HTTP_PORT

允许任何 IP 地址连接到 HTTP 端口的防火墙规则可能会将您的 HTTP 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

HTTP 服务端口包括:

  • TCP - 80

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open LDAP port

API 中的类别名称:OPEN_LDAP_PORT

允许任何 IP 地址连接到 LDAP 端口的防火墙规则可能会将您的 LDAP 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

LDAP 服务端口包括:

  • TCP - 389, 636
  • UDP - 389

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open Memcached port

API 中的类别名称:OPEN_MEMCACHED_PORT

允许任何 IP 地址连接到 Memcached 端口的防火墙规则可能会将您的 Memcached 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

Memcached 服务端口包括:

  • TCP - 11211, 11214, 11215
  • UDP - 11211, 11214, 11215

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open MongoDB port

API 中的类别名称:OPEN_MONGODB_PORT

允许任何 IP 地址连接到 MongoDB 端口的防火墙规则可能会将您的 MongoDB 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

MongoDB 服务端口包括:

  • TCP - 27017, 27018, 27019

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open MySQL port

API 中的类别名称:OPEN_MYSQL_PORT

允许任何 IP 地址连接到 MySQL 端口的防火墙规则可能会将您的 MySQL 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

MySQL 服务端口包括:

  • TCP - 3306

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open NetBIOS port

API 中的类别名称:“OPEN_NETBIOS_PORT”

允许任何 IP 地址连接到 NetBIOS 端口的防火墙规则可能会将您的 NetBIOS 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

NetBIOS 服务端口包括:

  • TCP - 137, 138, 139
  • UDP - 137, 138, 139

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open OracleDB port

API 中的类别名称:OPEN_ORACLEDB_PORT

允许任何 IP 地址连接到 OracleDB 端口的防火墙规则可能会将您的 OracleDB 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

OracleDB 服务端口包括:

  • TCP - 1521, 2483, 2484
  • UDP - 2483, 2484

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open POP3 port

API 中的类别名称:OPEN_POP3_PORT

允许任何 IP 地址连接到 POP3 端口的防火墙规则可能会将您的 POP3 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

POP3 服务端口包括:

  • TCP - 110

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open PostgreSQL port

API 中的类别名称:OPEN_POSTGRESQL_PORT

允许任何 IP 地址连接到 PostgreSQL 端口的防火墙规则可能会将您的 PostgreSQL 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

PostgreSQL 服务端口包括:

  • TCP - 5432
  • UDP - 5432

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open RDP port

API 中的类别名称:OPEN_RDP_PORT

允许任何 IP 地址连接到 RDP 端口的防火墙规则可能会将您的 RDP 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

RDP 服务端口包括:

  • TCP - 3389
  • UDP - 3389

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open Redis port

API 中的类别名称:OPEN_REDIS_PORT

允许任何 IP 地址连接到 Redis 端口的防火墙规则可能会将您的 Redis 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

Redis 服务端口包括:

  • TCP - 6379

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open SMTP port

API 中的类别名称:OPEN_SMTP_PORT

允许任何 IP 地址连接到 SMTP 端口的防火墙规则可能会将您的 SMTP 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

SMTP 服务端口包括:

  • TCP - 25

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open SSH port

API 中的类别名称:OPEN_SSH_PORT

允许任何 IP 地址连接到 SSH 端口的防火墙规则可能会将您的 SSH 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

SSH 服务端口包括:

  • SCTP - 22
  • TCP - 22

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Open Telnet port

API 中的类别名称:OPEN_TELNET_PORT

允许任何 IP 地址连接到 Telnet 端口的防火墙规则可能会将您的 Telnet 服务暴露给攻击者。如需了解详情,请参阅 VPC 防火墙规则概览

Telnet 服务端口包括:

  • TCP - 23

此发现结果是为易受攻击的防火墙规则生成的,即使您有意停用了这些规则,也是如此。对于已停用的防火墙规则,如果发现严重的结果,就会提醒您,发现不安全的配置(如果启用,将会导致不需要的流量)。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的防火墙页面。

    转到“防火墙”

  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。

  3. 点击 修改

  4. 来源 IP 地址范围下,删除 0.0.0.0/0

  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。

  6. 添加您要在实例上打开的特定协议和端口。

  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Org policy Confidential VM policy

API 中的类别名称:ORG_POLICY_CONFIDENTIAL_VM_POLICY

Compute Engine 资源未遵守 constraints/compute.restrictNonConfidentialComputing 组织政策。如需详细了解此组织政策限制条件,请参阅实施组织政策限制条件

您的组织要求此虚拟机启用机密虚拟机服务。未启用此服务的虚拟机不会使用运行时内存加密,这会使其面临运行时内存攻击。

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到“虚拟机实例”

  2. 在实例列表中,点击发现结果中的实例的名称。

  3. 如果虚拟机不需要机密虚拟机服务,请将其移到新文件夹或项目。

  4. 如果虚拟机需要机密虚拟机服务,请点击 删除

  5. 如需创建启用机密虚拟机的新实例,请参阅快速入门:创建机密虚拟机实例

了解此发现结果类型支持的资产和扫描设置

Org policy location restriction

API 中的类别名称:ORG_POLICY_LOCATION_RESTRICTION

通过组织政策 gcp.resourceLocations 限制条件,您可以新资源的创建限制在您选择的 Cloud 区域内。如需了解详情,请参阅限制资源位置

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

ORG_POLICY_LOCATION_RESTRICTION 检测器涵盖许多资源类型,且每种资源的修复说明不同。解决位置违规行为的一般方法包括:

  1. 将区域外的资源或其数据复制、移动或备份到区域内的资源。如需获取有关如何移动资源的说明,请参阅各项服务的文档。
  2. 删除原始区域外的资源或其数据。

此方法不适用于所有资源类型。如需获取相关指导,请参阅发现结果中提供的自定义建议。

其他注意事项

修复此发现结果时,请考虑以下事项。

代管资源

资源的生命周期有时可能会被其他资源管理和控制。例如,代管式 Compute Engine 实例组会根据实例组的自动扩缩政策创建和销毁 Compute Engine 实例。如果代管资源和管理资源在位置强制执行范围内,则这两种资源都可能会被标记为违反组织政策。应在管理资源上修复代管资源的发现结果,以确保操作稳定性。

使用中的资源

某些资源会被其他资源使用。例如,挂接到正在运行的 Compute Engine 实例的 Compute Engine 磁盘被视为正被实例使用。如果使用中的资源违反了位置组织政策,则您需要确保在解决位置违规行为之前,该资源未被使用。

了解此发现结果类型支持的资产和扫描设置

OS login disabled

API 中的类别名称:OS_LOGIN_DISABLED

此 Compute Engine 实例上已停用 OS Login。

OS Login 通过 IAM 实现集中式 SSH 密钥管理,并对项目中的所有实例停用基于元数据的 SSH 密钥配置。了解如何设置和配置 OS Login

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的元数据页面。

    转到元数据

  2. 点击修改,然后点击添加一项

  3. 添加一个键为 enable-oslogin 且值为 TRUE 的项。

了解此发现结果类型支持的资产和扫描设置

Over privileged account

API 中的类别名称:OVER_PRIVILEGED_ACCOUNT

GKE 节点使用 Compute Engine 默认服务节点,默认具有广泛的访问权限,对于运行 GKE 集群来说可能权限过高。

如需修复此发现结果,请完成以下步骤:

按照说明使用最小权限 Google 服务账号

了解此发现结果类型支持的资产和扫描设置

Over privileged scopes

API 中的类别名称:OVER_PRIVILEGED_SCOPES

节点服务账号具有广泛的访问权限范围。

访问权限范围是为实例指定权限的传统方法。 为了降低攻击过程中提升权限的可能性,请创建并使用具有最小权限的服务账号来运行 GKE 集群。

要修复此发现结果,请按照使用最小权限 Google 服务账号中的说明操作。

了解此发现结果类型支持的资产和扫描设置

Over privileged service account user

API 中的类别名称:OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

用户在项目、文件夹或组织级层(而不是特定服务账号)拥有 iam.serviceAccountUseriam.serviceAccountTokenCreator 角色。

如果将项目、文件夹或组织的这些角色授予某个用户,该用户将有权访问该项目中所有现有和未来的服务账号。这种情况可能会导致权限意外升级。如需了解详情,请参阅服务账号权限

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM 页面

  2. 如有必要,请在发现结果中选择项目、文件夹或组织。

  3. 对于每个分配有 roles/iam.serviceAccountUserroles/iam.serviceAccountTokenCreator 的主账号,请执行以下操作:

    1. 点击 修改
    2. 修改权限面板中,点击角色旁边的 删除
    3. 点击保存
  4. 请按照本指南授予各个用户模拟单个服务账号的权限。对于您希望允许所选用户模拟的每个服务账号,您需要遵循相应的指南。

了解此发现结果类型支持的资产和扫描设置

Owner not monitored

API 中的类别名称:OWNER_NOT_MONITORED

日志指标和提醒未配置为监控项目所有权分配或更改。

IAM Owner 角色拥有项目的最高级别权限。如需保障资源安全,您可以设置提醒,以在添加新的所有者或移除所有者时收到通知。如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

创建指标

  1. 进入 Google Cloud 控制台中的基于日志的指标页面。

    转到“基于日志的指标”

  2. 点击创建指标

  3. 指标类型下,选择计数器

  4. 详情下:

    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:

      (protoPayload.serviceName="cloudresourcemanager.googleapis.com")
      AND (ProjectOwnership OR projectOwnerInvitee)
      OR (protoPayload.serviceData.policyDelta.bindingDeltas.action="REMOVE"
      AND protoPayload.serviceData.policyDelta.bindingDeltas.role="roles/owner")
      OR (protoPayload.serviceData.policyDelta.bindingDeltas.action="ADD"
      AND protoPayload.serviceData.policyDelta.bindingDeltas.role="roles/owner")
    

  6. 点击创建指标。您将看到确认。

创建提醒政策

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择基于日志的指标

    前往基于日志的指标

  2. 用户定义的指标部分下,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒

    系统将打开新建条件对话框,其中预先填充了指标和数据转换选项。

  4. 点击下一步
    1. 查看预先填充的设置。您可能需要修改阈值
    2. 点击条件名称,然后输入条件的名称。
  5. 点击下一步
  6. 如需将通知添加到您的提醒政策中,请点击通知渠道。在对话框中,从菜单中选择一个或多个通知渠道,然后点击确定

    如需在开启和关闭突发事件时接收通知,请选中突发事件关闭时通。默认情况下,仅在开启突发事件时发送通知。

  7. 可选:更新突发事件自动关闭持续时间。此字段用于确定在缺少指标数据的情况下 Monitoring 何时关闭突发事件。
  8. 可选:点击文档,然后添加您希望包含在通知消息中的任何信息。
  9. 点击提醒名称,然后输入提醒政策的名称。
  10. 点击 Create Policy(创建政策)。

了解此发现结果类型支持的资产和扫描设置

Pod security policy disabled

API 中的类别名称:POD_SECURITY_POLICY_DISABLED

GKE 集群上停用了 PodSecurityPolicy

PodSecurityPolicy 是一种准入控制器资源,用于验证在集群上创建和更新 Pods 的请求。集群不会接受不符合 PodSecurityPolicy 中所定义条件的 pod。

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

要修复此发现结果,请定义并授权 PodSecurityPolicies,然后启用 PodSecurityPolicy 控制器。如需查看相关说明,请参阅使用 PodSecurityPolicies

了解此发现结果类型支持的资产和扫描设置

Primitive roles used

API 中的类别名称:PRIMITIVE_ROLES_USED

用户具有以下 IAM 基本角色之一:roles/ownerroles/editorroles/viewer。这些角色权限过于宽松,不应使用。应该按项目分配这些角色。

如需了解详情,请参阅了解角色

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 IAM 页面。

    转到“IAM 政策”

  2. 对于分配有原初角色的每个用户,请考虑改用更精细的角色。

了解此发现结果类型支持的资产和扫描设置

Private cluster disabled

API 中的类别名称:PRIVATE_CLUSTER_DISABLED

GKE 集群停用了专用集群。

专用集群仅允许节点具有专用 IP 地址。此功能限制节点的出站互联网访问权限。如果集群节点没有公共 IP 地址,就不会在公共互联网上被检测到,也不会被公开。您仍可以使用内部负载均衡器将流量路由到这些节点。如需了解详情,请参阅专用集群

您无法将现有集群设置为专用。要修复此发现结果,请创建新的专用集群:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 Kubernetes 集群

  2. 点击创建集群

  3. 在导航菜单的集群下,选择网络

  4. 选择专用集群单选按钮。

  5. 高级网络选项下,选中启用 VPC 原生流量路由(使用别名 IP)复选框。

  6. 点击创建

了解此发现结果类型支持的资产和扫描设置

Private Google access disabled

API 中的类别名称:PRIVATE_GOOGLE_ACCESS_DISABLED

有一些专用子网无权访问 Google 公共 API。

专用 Google 访问通道支持仅具有内部(专用)IP 地址的虚拟机实例访问 Google API 和服务的公共 IP 地址。

如需了解详情,请参阅配置 Google 专用访问通道

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 VPC 网络页面。

    转到 VPC 网络页面

  2. 在网络列表中,点击所需网络的名称。

  3. VPC 网络详情页面上,点击子网标签页。

  4. 在子网列表中,点击与发现结果中的 Kubernetes 集群关联的子网的名称。

  5. 子网详情页面上,点击修改

  6. 专用 Google 访问通道下,选择开启

  7. 点击保存

  8. 要从其外部流量仅流向 Google API 的虚拟机实例移除公共(外部)IP 地址,请参阅取消分配静态外部 IP 地址

了解此发现结果类型支持的资产和扫描设置

Public bucket ACL

API 中的类别名称:PUBLIC_BUCKET_ACL

存储桶是公开的,互联网上的任何用户都可以访问。

如需了解详情,请参阅访问权限控制概览

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的存储空间浏览器页面。

    转到存储空间浏览器

  2. 选择 Security Health Analytics 发现结果中列出的存储桶。

  3. 存储桶详情页面上,点击权限标签。

  4. 查看方式旁边,点击角色

  5. 过滤条件框中,搜索 allUsersallAuthenticatedUsers

  6. 点击删除 以移除授予 allUsersallAuthenticatedUsers 的所有 IAM 权限。

了解此发现结果类型支持的资产和扫描设置

Public Compute image

API 中的类别名称:PUBLIC_COMPUTE_IMAGE

Compute Engine 映像是公开的,互联网上的任何用户都可以访问。allUsers 表示互联网上的任何用户,allAuthenticatedUsers 表示使用 Google 账号进行了身份验证的任何用户。两者都不局限于组织内的用户。

Compute Engine 映像可能包含加密密钥或许可软件等敏感信息。此类敏感信息不应允许公开访问。如果您打算将此 Compute Engine 映像设为公开,请确保其不包含任何敏感信息。

如需了解详情,请参阅访问权限控制概览

如需修复此发现结果,请完成以下步骤:

  1. 转到 Cloud 控制台中的 Compute Engine 映像页面。

    转到“Compute Engine 映像”

  2. 选中 public-image 映像旁边的复选框,然后点击显示信息面板

  3. 过滤条件框中,搜索 allUsersallAuthenticatedUsers 的主账号。

  4. 展开您要移除用户的角色。

  5. 点击 删除,以从该角色中移除用户。

了解此发现结果类型支持的资产和扫描设置

Public dataset

API 中的类别名称:PUBLIC_DATASET

BigQuery 数据集是公开的,互联网上的任何用户都可以访问。IAM 主账号 allUsers 表示互联网上的任何用户,allAuthenticatedUsers 表示登录了 Google 服务的任何用户。两者都不局限于组织内的用户。

如需了解详情,请参阅控制对数据集的访问

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中转到 BigQuery 数据集页面。

    进入“BigQuery 数据集”

  2. 在数据集列表中,点击发现结果中标识的数据集的名称。此时会打开数据集信息面板。

  3. 数据集信息面板顶部附近,点击共享

  4. 在下拉菜单中,点击权限

  5. 数据集权限面板中,输入 allUsersallAuthenticatedUsers,并移除这些主账号的访问权限。

了解此发现结果类型支持的资产和扫描设置

Public IP address

API 中的类别名称:PUBLIC_IP_ADDRESS

Compute Engine 实例具有公共 IP 地址。

为了缩小组织的受攻击面,请避免向虚拟机分配公共 IP 地址。已停止的实例可能仍会被标记为“公共 IP 发现结果”,例如,网络接口被配置为在启动时分配临时公共 IP 时就是如此。请确保已停止的实例的网络配置不包含外部访问权限。

如需了解详情,请参阅安全连接到虚拟机实例

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到虚拟机实例

  2. 在实例列表中,选中发现结果中的实例名称旁边的复选框。

  3. 点击 修改

  4. 对于网络接口下的每个接口,点击 修改并将外部 IP设置为

  5. 点击完成,然后点击保存

了解此发现结果类型支持的资产和扫描设置

Public log bucket

API 中的类别名称:PUBLIC_LOG_BUCKET

此发现结果不适用于项目级激活。

存储桶是公开的,并用作日志接收器,这意味着互联网上的任何用户都可以访问此存储桶中存储的日志。allUsers 表示互联网上的任何用户,allAuthenticatedUsers 表示已登录 Google 服务的任何用户。两者都不局限于组织内的用户。

如需了解详情,请参阅访问权限控制概览

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 Cloud Storage 浏览器页面。

    转到 Cloud Storage 浏览器

  2. 在存储桶列表中,点击发现结果中指明的存储桶的名称。

  3. 点击权限标签页。

  4. 从主账号列表中移除 allUsersallAuthenticatedUsers

了解此发现结果类型支持的资产和扫描设置

Public SQL instance

API 中的类别名称:PUBLIC_SQL_INSTANCE

您的 SQL 实例使用 0.0.0.0/0 作为允许的网络。这意味着任何 IPv4 客户端(包括您不打算允许的客户端)都可以穿过网络防火墙并尝试登录您的实例。客户端仍需要提供有效凭据才能成功登录您的实例。

如需了解详情,请参阅使用授权网络进行授权

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 在导航面板中,点击连接

  5. 已获授权的网络下,删除 0.0.0.0/0 并添加您希望允许连接实例的特定 IP 地址或 IP 范围。

  6. 点击完成,然后点击保存

了解此发现结果类型支持的资产和扫描设置

Pubsub CMEK disabled

API 中的类别名称:PUBSUB_CMEK_DISABLED

Pub/Sub 主题未使用客户管理的加密密钥 (CMEK) 进行加密。

借助 CMEK,您在 Cloud KMS 中创建和管理的密钥会封装 Google 用于加密数据的密钥,从而使您能够更好地控制对您数据的访问。

如需修复此发现结果,请删除现有主题并创建一个新主题:

  1. 转到 Google Cloud 控制台中的 Pub/Sub 的主题页面。

    转到主题

  2. 如有必要,请选择包含 Pub/Sub 主题的项目。

  3. 选中发现结果中列出的主题旁边的复选框,然后点击 删除

  4. 如需在启用 CMEK 的情况下创建新的 Pub/Sub 主题,请参阅使用客户管理的加密密钥。CMEK 会产生与 Cloud KMS 相关的额外费用。

  5. 将发现结果或其他数据发布到启用了 CMEK 的 Pub/Sub 主题。

了解此发现结果类型支持的资产和扫描设置

Route not monitored

API 中的类别名称:ROUTE_NOT_MONITORED

日志指标和提醒未配置为监控 VPC 网络路由更改。

Google Cloud 路由是目的地和跃点,用于定义网络流量从虚拟机实例流向目的地 IP 所经过的路径。通过监控路由表的更改,您可以帮助确保所有 VPC 流量均经过预期的路径。

如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

创建指标

  1. 进入 Google Cloud 控制台中的基于日志的指标页面。

    转到“基于日志的指标”

  2. 点击创建指标

  3. 指标类型下,选择计数器

  4. 详情下:

    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:

      resource.type="gce_route"
      AND (protoPayload.methodName:"compute.routes.delete"
      OR protoPayload.methodName:"compute.routes.insert")
    

  6. 点击创建指标。您将看到确认。

创建提醒政策

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择基于日志的指标

    前往基于日志的指标

  2. 用户定义的指标部分下,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒

    系统将打开新建条件对话框,其中预先填充了指标和数据转换选项。

  4. 点击下一步
    1. 查看预先填充的设置。您可能需要修改阈值
    2. 点击条件名称,然后输入条件的名称。
  5. 点击下一步
  6. 如需将通知添加到您的提醒政策中,请点击通知渠道。在对话框中,从菜单中选择一个或多个通知渠道,然后点击确定

    如需在开启和关闭突发事件时接收通知,请选中突发事件关闭时通。默认情况下,仅在开启突发事件时发送通知。

  7. 可选:更新突发事件自动关闭持续时间。此字段用于确定在缺少指标数据的情况下 Monitoring 何时关闭突发事件。
  8. 可选:点击文档,然后添加您希望包含在通知消息中的任何信息。
  9. 点击提醒名称,然后输入提醒政策的名称。
  10. 点击 Create Policy(创建政策)。

了解此发现结果类型支持的资产和扫描设置

Redis role used on org

API 中的类别名称:REDIS_ROLE_USED_ON_ORG

此发现结果不适用于项目级激活。

Redis IAM 角色在组织或文件夹级层分配。

以下 Redis IAM 角色应仅按项目(而不是在组织或文件夹级层)分配:

  • roles/redis.admin
  • roles/redis.viewer
  • roles/redis.editor

如需了解详情,请参阅访问权限控制和权限

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 IAM 页面。

    转到“IAM 政策”

  2. 移除发现结果中指明的 Redis IAM 角色,改为分别在每个项目上添加它们。

了解此发现结果类型支持的资产和扫描设置

Release channel disabled

API 中的类别名称:RELEASE_CHANNEL_DISABLED

GKE 集群未订阅发布渠道。

订阅发布渠道以自动管理 GKE 集群的版本升级。这些功能还可以将版本管理的复杂性降低到所需的功能数量和稳定性级别。如需了解详情,请参阅发布渠道

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 集群基本信息部分中,点击发布渠道行中的修改图标 ()。

    如果最近更改了集群配置,则修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。

  3. 在对话框中,选择发布渠道,然后选择您要订阅的发布渠道。

    如果集群的控制层面版本无法升级到发布渠道,则该渠道可能会作为选项停用。

  4. 点击保存更改

了解此发现结果类型支持的资产和扫描设置

RSASHA1 for signing

API 中的类别名称:RSASHA1_FOR_SIGNING

RSASHA1 用于 Cloud DNS 区域中的密钥登录。用于密钥签名的算法不应该是安全系数较低的算法。

要修复此发现结果,请根据使用高级签名选项指南将算法替换为建议的算法。

了解此发现结果类型支持的资产和扫描设置

Service account key not rotated

API 中的类别名称:SERVICE_ACCOUNT_KEY_NOT_ROTATED

此发现结果不适用于项目级激活。

用户管理的服务账号密钥超过 90 天未轮替。

通常,用户管理的服务账号密钥应至少每 90 天轮替一次,以确保可能已丢失、遭破解或被盗用的旧密钥无法用于访问数据。如需了解详情,请参阅轮替服务账号密钥以降低密钥泄露造成的安全风险

如果您自行生成公钥/私钥对,将私钥存储在硬件安全模块 (HSM) 中,并且将公钥上传到 Google,那么您可能就不需要每 90 天轮替一次密钥。另外,如果您认为密钥可能已被破解,您也可以轮替密钥。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的服务账号页面。

    转到“服务账号”

  2. 如有必要,选择发现结果中指明的项目。

  3. 在服务账号列表中,找到发现结果中列出的服务账号,然后点击 删除。在继续操作之前,请考虑删除服务账号可能对生产资源产生的影响。

  4. 创建新的服务账号密钥以替换旧服务账号密钥。如需了解详情,请参阅创建服务账号密钥

了解此发现结果类型支持的资产和扫描设置

Service account role separation

API 中的类别名称:SERVICE_ACCOUNT_ROLE_SEPARATION

此发现结果不适用于项目级激活。

您的组织中的一个或多个主账号分配有多项服务账号权限。任何账号都不应同时拥有 Service Account Admin 和其他服务账号权限。如需了解服务账号及其可用角色,请参阅服务账号

如需修复此发现结果,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM

  2. 对于发现结果中列出的每个主账号,执行以下操作:

    1. 查看继承列,检查角色是否继承自文件夹或组织资源。如果该列包含父资源的链接,请点击链接以转到父资源的 IAM 页面。
    2. 点击主账号旁边的修改
    3. 如需移除权限,请点击 Service Account Admin 旁边的删除 。如果要移除所有服务账号权限,请点击所有其他权限旁边的删除
  3. 点击保存

了解此发现结果类型支持的资产和扫描设置

Shielded VM disabled

API 中的类别名称:SHIELDED_VM_DISABLED

此 Compute Engine 实例上停用了安全强化型虚拟机。

安全强化型虚拟机是一种经过安全控制措施强化的 Google Cloud 虚拟机,可更好地抵御 rootkit 和 bootkit 攻击。安全强化型虚拟机有助于确保对启动加载程序和固件进行签名和验证。详细了解安全强化型虚拟机

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的虚拟机实例页面。

    转到虚拟机实例

  2. 选择与 Security Health Analytics 发现结果相关的实例。

  3. 在加载的实例详情页面上,点击 停止

  4. 实例停止后,点击 修改

  5. 安全强化型虚拟机部分,切换开启 vTPM开启完整性监控,以启用安全强化型虚拟机。

  6. 或者,如果您不使用任何自定义或未签名的驱动程序,则还启用安全启动

  7. 点击保存。新配置会显示在实例详情页面上。

  8. 点击 启动以启动实例。

了解此发现结果类型支持的资产和扫描设置

SQL CMEK disabled

API 中的类别名称:SQL_CMEK_DISABLED

SQL 数据库实例未使用客户管理的加密密钥 (CMEK)。

借助 CMEK,您在 Cloud KMS 中创建和管理的密钥会封装 Google 用于加密数据的密钥,从而使您能够更好地控制对您数据的访问。如需了解详情,请参阅您产品的 CMEK 概览:Cloud SQL for MySQLCloud SQL for PostgreSQLCloud SQL for SQL Server。CMEK 会产生与 Cloud KMS 相关的额外费用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 删除

  4. 如需创建启用 CMEK 的新实例,请按照相应说明为产品配置 CMEK:

    1. Cloud SQL for MySQL
    2. Cloud SQL for PostgreSQL
    3. Cloud SQL for SQL Server

了解此发现结果类型支持的资产和扫描设置

SQL contained database authentication

API 中的类别名称:SQL_CONTAINED_DATABASE_AUTHENTICATION

Cloud SQL for SQL Server 数据库实例没有将包含的数据库身份验证数据库标志设置为关闭

包含的数据库身份验证标志用于控制是否可以创建包含的数据库或将包含的数据库关联到数据库引擎。包含的数据库包含定义数据库所需的所有数据库设置和元数据,并且对安装数据库的数据库引擎实例没有配置依赖项。

不建议启用此标志,原因如下:

  • 用户可以在数据库引擎级别连接到数据库,而无需身份验证。
  • 通过将数据库与数据库引擎隔离,您可以将数据库移至其他 SQL Server 实例。

包含的数据库面临独特的威胁,SQL Server 数据库引擎管理员应该了解并缓解此类威胁。大多数威胁都源于 USER WITH PASSWORD 身份验证流程,这会将身份验证边界从数据库引擎级别移至数据库级别。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将包含的数据库身份验证数据库标志的值设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL cross DB ownership chaining

API 中的类别名称:SQL_CROSS_DB_OWNERSHIP_CHAINING

Cloud SQL for SQL Server 数据库实例没有将 cross db ownership chainin 数据库标志设置为关闭

cross db ownership chaining 标志使您能够在数据库级控制跨数据库所有权链,也能够对所有数据库语句允许跨数据库所有权链。

除非 SQL Server 实例托管的所有数据库都参与跨数据库所有权链,并且您了解此设置的安全影响,否则建议不要启用此标志。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 cross db ownership chaining 数据库标志的值设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL external scripts enabled

API 中的类别名称:SQL_EXTERNAL_SCRIPTS_ENABLED

Cloud SQL for SQL Server 数据库实例未将 external scripts enabled 数据库标志设置为关闭

启用此设置后,您将能够通过特定的远程语言扩展程序执行脚本。由于此功能会对系统的安全性产生负面影响,因此建议将其停用。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分中,将 external scripts enabled 数据库标志的值设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL instance not monitored

API 中的类别名称:SQL_INSTANCE_NOT_MONITORED

此发现结果不适用于项目级激活。

日志指标和提醒未配置为监控 Cloud SQL实例配置更改。

SQL 实例选项配置错误可能会导致安全风险。停用自动备份和高可用性选项可能会影响业务连续性,不限制授权网络可能会增加遭到不受信任网络侵扰的风险。监控 SQL 实例配置的更改可帮助缩短检测和纠正配置错误的时间。

如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。如需了解服务的用量及其费用,请参阅 Google Cloud 可观测性费用优化

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

创建指标

  1. 进入 Google Cloud 控制台中的基于日志的指标页面。

    转到“基于日志的指标”

  2. 点击创建指标

  3. 指标类型下,选择计数器

  4. 详情下:

    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:

      protoPayload.methodName="cloudsql.instances.update"
      OR protoPayload.methodName="cloudsql.instances.create"
      OR protoPayload.methodName="cloudsql.instances.delete"
    

  6. 点击创建指标。您将看到确认。

创建提醒政策

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择基于日志的指标

    前往基于日志的指标

  2. 用户定义的指标部分下,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒

    系统将打开新建条件对话框,其中预先填充了指标和数据转换选项。

  4. 点击下一步
    1. 查看预先填充的设置。您可能需要修改阈值
    2. 点击条件名称,然后输入条件的名称。
  5. 点击下一步
  6. 如需将通知添加到您的提醒政策中,请点击通知渠道。在对话框中,从菜单中选择一个或多个通知渠道,然后点击确定

    如需在开启和关闭突发事件时接收通知,请选中突发事件关闭时通。默认情况下,仅在开启突发事件时发送通知。

  7. 可选:更新突发事件自动关闭持续时间。此字段用于确定在缺少指标数据的情况下 Monitoring 何时关闭突发事件。
  8. 可选:点击文档,然后添加您希望包含在通知消息中的任何信息。
  9. 点击提醒名称,然后输入提醒政策的名称。
  10. 点击 Create Policy(创建政策)。

了解此发现结果类型支持的资产和扫描设置

SQL local infile

API 中的类别名称:SQL_LOCAL_INFILE

Cloud SQL for MySQL 数据库实例没有将 local_infile 数据库标志设置为关闭。由于存在与 local_infile 标志相关的安全问题,因此应停用该标志。如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 local_infile 数据库标志的值设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log checkpoints disabled

API 中的类别名称:SQL_LOG_CHECKPOINTS_DISABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_checkpoints 数据库标志设置为开启

启用 log_checkpoints 会在服务器日志中记录检查点和重启点。某些统计信息包含在日志消息中,包括写入的缓冲区数量和写入缓冲区所用的时间。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_checkpoints 数据库标志的值设置为开启

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log connections disabled

API 中的类别名称:SQL_LOG_CONNECTIONS_DISABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_connections 数据库标志设置为开启

启用 log_connections 设置会记录尝试与服务器的连接,并且成功完成客户端身份验证。这些日志在排查问题以及确认尝试与服务器的异常连接方面非常有用。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_connections 数据库标志的值设置为开启

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log disconnections disabled

API 中的类别名称:SQL_LOG_DISCONNECTIONS_DISABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_disconnections 数据库标志设置为开启

启用 log_disconnections 设置后,系统会在每个会话结束时创建日志条目。这些日志可用于排查问题,并确认一段时间内的异常活动。如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_disconnections 数据库标志的值设置为开启

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log duration disabled

API 中的类别名称:SQL_LOG_DURATION_DISABLED

Cloud SQL for PostgreSQL 数据库实例未将 log_duration 数据库标志设置为开启

启用 log_duration 后,系统会记录每个已完成的语句的执行时间和时长。如需找出速度较慢的查询并排查数据库问题,对执行查询所花费的时间进行监控至关重要。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_duration 数据库标志设置为开启

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log error verbosity

API 中的类别名称:SQL_LOG_ERROR_VERBOSITY

Cloud SQL for PostgreSQL 数据库实例没有将 log_error_verbosity 数据库标志设置为 defaultverbose

log_error_verbosity 标志用于控制记录的消息的详细程度。 详细程度越高,记录的消息就越详细。 我们建议将此标志设置为 defaultverbose

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分中,将 log_error_verbosity 数据库标志设置为 defaultverbose

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log lock waits disabled

API 中的类别名称:SQL_LOG_LOCK_WAITS_DISABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_lock_waits 数据库标志设置为开启

启用 log_lock_waits 设置后,如果会话获取锁的等待时间超过 deadlock_timeout 中的设置,系统就会创建日志条目。日志可用于确定锁等待时间是否会导致性能不佳。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_lock_waits 数据库标志的值设置为开启

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log min duration statement enabled

API 中的类别名称:SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_min_duration_statement 数据库标志设置为 -1

log_min_duration_statement 标志会导致系统记录运行时间超过指定时间的 SQL 语句。请考虑停用此设置,因为 SQL 语句可能包含不应记录的敏感信息。如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_min_duration_statement 数据库标志的值设置为 -1

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log min error statement

API 中的类别名称:SQL_LOG_MIN_ERROR_STATEMENT

Cloud SQL for PostgreSQL 数据库实例未正确设置 log_min_error_statement 数据库标志。

log_min_error_statement 标志用于控制是否在服务器日志中记录会导致错误状况的 SQL 语句。系统会记录具有指定严重级别或更高严重级别的 SQL 语句以及针对错误语句返回的消息。严重级别越高,记录的消息数量就越少。

如果 log_min_error_statement 未设置为正确的值,系统可能不会将相应消息归类为错误消息。如果将严重级别设置得过低,会导致消息数量增加,并让人难以找到实际错误。如果将严重级别设置得过高,可能会导致实际错误的相关消息得不到记录。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,根据组织的日志记录政策,将 log_min_error_statement 数据库标志的值设置为下列建议值之一。

    • debug5
    • debug4
    • debug3
    • debug2
    • debug1
    • info
    • notice
    • warning
    • error
  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log min error statement severity

API 中的类别名称:SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

Cloud SQL for PostgreSQL 数据库实例未正确设置 log_min_error_statement 数据库标志。

log_min_error_statement 标志用于控制是否在服务器日志中记录会导致错误状况的 SQL 语句。系统会记录具有指定严重级别或更严格级别的 SQL 语句以及针对错误语句返回的消息。严重级别越严格,记录的消息数量就越少。

如果 log_min_error_statement 未设置为正确的值,系统可能不会将相应消息归类为错误消息。如果将严重级别设置得过低,会导致消息数量增加,使人难以找到实际错误。如果将严重级别设置得过高(过于严格),可能会导致系统无法记录实际错误的相关消息。

建议将此标志设置为 error 或更严格的值。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分中,根据组织的日志记录政策,将 log_min_error_statement 数据库标志的值设置为下列建议值之一。

    • error
    • log
    • fatal
    • panic
  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log min messages

API 中的类别名称:SQL_LOG_MIN_MESSAGES

Cloud SQL for PostgreSQL 数据库实例未将 log_min_messages 数据库标志至少设置为 warning

log_min_messages 标志用于控制哪些消息级别记录在服务器日志中。严重级别越高,记录的消息数量就越少。如果阈值设置得过低,可能会导致日志存储大小和长度增加,从而难以找到实际错误。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,根据组织的日志记录政策,将 log_min_messages 数据库标志的值设置为下列建议值之一。

    • debug5
    • debug4
    • debug3
    • debug2
    • debug1
    • info
    • notice
    • warning
  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log executor stats enabled

API 中的类别名称:SQL_LOG_EXECUTOR_STATS_ENABLED

Cloud SQL for PostgreSQL 数据库实例的 log_executor_stats 数据库标志未设置为关闭

激活 log_executor_stats 标志后,每个查询的 PostgreSQL 日志中都会包含执行器性能统计信息。此设置对于问题排查非常有用,但可能会大大增加日志数量和性能开销。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_executor_stats 数据库标志设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log hostname enabled

API 中的类别名称:“SQL_LOG_HOSTNAME_ENABLED”

Cloud SQL for PostgreSQL 数据库实例未将 log_hostname 数据库标志设置为关闭

启用 log_hostname 标志后,系统会记录连接主机的主机名。默认情况下,连接日志消息仅显示 IP 地址。此设置对于问题排查很有用。但是,它可能会给服务器性能带来开销,因为对于记录的每个语句,DNS 解析都需要将 IP 地址转换为主机名。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_hostname 数据库标志设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log parser stats enabled

API 中的类别名称:SQL_LOG_PARSER_STATS_ENABLED

Cloud SQL for PostgreSQL 数据库实例未将 log_parser_stats 数据库标志设置为关闭

启用 log_parser_stats 标志后,解析器性能统计信息会添加到每个查询的 PostgreSQL 日志中。这对于问题排查非常有用,但可能会大大增加日志数量和性能开销。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_parser_stats 数据库标志设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log planner stats enabled

API 中的类别名称:SQL_LOG_PLANNER_STATS_ENABLED

Cloud SQL for PostgreSQL 数据库实例未将 log_planner_stats 数据库标志设置为关闭

启用 log_planner_stats 标志后,系统会使用一个粗略的性能分析方法来记录 PostgreSQL 规划工具性能统计信息。这对于问题排查非常有用,但可能会大大增加日志数量和性能开销。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_planner_stats 数据库标志设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log statement

API 中的类别名称:SQL_LOG_STATEMENT

Cloud SQL for PostgreSQL 数据库实例未将 log_statement 数据库标志设置为 ddl

此标志的值用于控制要记录哪些 SQL 语句。借助日志记录,您可以排查操作问题,并执行取证分析。如果此标志设置为不正确的值,相关信息可能会被跳过,或者隐藏在太多消息中。除非组织的日志记录政策另有指示,否则建议使用值 ddl(所有数据定义语句)。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_statement 数据库标志设置为 ddl

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log statement stats enabled

API 中的类别名称:SQL_LOG_STATEMENT_STATS_ENABLED

Cloud SQL for PostgreSQL 数据库实例未将 log_statement_stats 数据库标志设置为关闭

启用 log_statement_stats 标志后,端到端性能统计信息会添加到每个查询的 PostgreSQL 日志中。此设置对于问题排查非常有用,但可能会大大增加日志数量和性能开销。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_statement_stats 数据库标志设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL log temp files

API 中的类别名称:SQL_LOG_TEMP_FILES

Cloud SQL for PostgreSQL 数据库实例没有将 log_temp_files 数据库标志设置为 0

您可以针对排序、哈希和临时查询结果创建临时文件。 将 log_temp_files 标志设置为 0 即可记录所有临时文件信息。记录所有临时文件有助于识别潜在的性能问题。如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分下,将 log_temp_files 数据库标志的值设为 0

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL no root password

API 中的类别名称:SQL_NO_ROOT_PASSWORD

MySQL 数据库实例没有为根账号设置密码。您应该为 MySQL 数据库实例添加密码。如需了解详情,请参阅 MySQL 用户

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 在加载的实例详情页面上,选择用户标签页。

  4. 点击 root 用户旁边的更多 ,然后选择更改密码

  5. 输入新的安全系数高的密码,然后点击确定

了解此发现结果类型支持的资产和扫描设置

SQL public IP

API 中的类别名称:SQL_PUBLIC_IP

Cloud SQL 数据库具有公共 IP 地址。

为了减小组织的受攻击面,Cloud SQL 数据库不应具有公共 IP。专用 IP 地址可为您的应用提高网络安全性并缩短延迟时间。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 在左侧菜单中,点击连接

  4. 点击网络标签页,然后清除公共 IP 复选框。

  5. 如果实例尚未配置为使用专用 IP,请参阅为现有实例配置专用 IP

  6. 点击保存

了解此发现结果类型支持的资产和扫描设置

SQL remote access enabled

API 中的类别名称:SQL_REMOTE_ACCESS_ENABLED

Cloud SQL for SQL Server 数据库实例未将远程访问数据库标志设置为关闭

激活后,此设置会授予从远程服务器运行本地存储过程或从本地服务器运行远程存储过程的权限。攻击者可能会滥用此功能,将查询处理任务分流到目标,从而针对远程服务器发起拒绝服务攻击 (DoS)。为了防止滥用,我们建议停用此设置。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 标志部分,将远程访问设置为关闭

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL skip show database disabled

API 中的类别名称:SQL_SKIP_SHOW_DATABASE_DISABLED

Cloud SQL for MySQL 数据库实例未将 skip_show_database 数据库标志设置为skip_show_database

开启后,如果用户没有 SHOW DATABASES 权限,此标志会阻止用户使用 SHOW DATABASES 语句。通过此设置,未经明确许可,用户将无法看到属于其他用户的数据库。我们建议启用此标志。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 标志部分中,将 skip_show_database 设置为开启

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL trace flag 3625

API 中的类别名称:SQL_TRACE_FLAG_3625

Cloud SQL for SQL Server 数据库实例未将 3625(跟踪记录标志)数据库标志设置为开启

此标志通过使用星号 (******) 遮盖某些错误消息的参数,限制向未获得系统管理员固定服务器角色的用户返回的信息量。为防止敏感信息泄露,建议您启用该标志。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分中,将 3625 设置为开启

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL user connections configured

API 中的类别名称:SQL_USER_CONNECTIONS_CONFIGURED

Cloud SQL for SQL Server 数据库实例配置了用户连接数据库标志。

用户连接选项指定 SQL Server 实例上允许的并发用户连接数上限。由于它是一个动态(自行配置)选项,因此 SQL Server 会根据需要自动调整用户连接数上限,直至达到允许的最大值。默认值为 0,表示最多允许 32767 个用户连接。因此,建议不要配置用户连接数据库标志。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分中,点击用户连接旁边的 删除

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL user options configured

API 中的类别名称:SQL_USER_OPTIONS_CONFIGURED

Cloud SQL for SQL Server 数据库实例配置了用户选项数据库标志。

这项设置会覆盖所有用户的 SET 选项的全局默认值。由于用户和应用可能会假设系统使用的是默认数据库 SET 选项,因此设置用户选项可能会造成意外结果。因此,建议不要配置用户选项数据库标志。

如需了解详情,请参阅配置数据库标志

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 点击 修改

  4. 数据库标志部分中,点击用户选项旁边的 删除

  5. 点击保存。新配置会显示在实例概览页面上。

了解此发现结果类型支持的资产和扫描设置

SQL weak root password

API 中的类别名称:SQL_WEAK_ROOT_PASSWORD

MySQL 数据库实例为根账号设置了安全系数低的密码。应为实例设置安全系数高的密码。如需了解详情,请参阅 MySQL 用户

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 在加载的实例详情页面上,选择用户标签页。

  4. 点击 root 用户旁边的更多 ,然后选择更改密码

  5. 输入新的安全系数高的密码,然后点击确定

了解此发现结果类型支持的资产和扫描设置

SSL not enforced

API 中的类别名称:SSL_NOT_ENFORCED

Cloud SQL 数据库实例不要求所有传入连接使用 SSL。

为避免在未加密通信中泄露所传输的敏感数据,连至您的 SQL 数据库实例的所有传入连接都应使用 SSL。详细了解如何 配置 SSL/TLS

要修复此发现结果,请仅允许 SSL 连接您的 SQL 实例:

  1. 转到 Google Cloud 控制台中的 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 Security Health Analytics 发现结果中列出的实例。

  3. 连接标签页上,点击仅允许 SSL 连接需要受信任的客户端证书。如需了解详情,请参阅强制执行 SSL/TLS 加密

  4. 如果您选择了需要受信任的客户端证书,请创建新的客户端证书。如需了解详情,请参阅创建新的客户端证书

了解此发现结果类型支持的资产和扫描设置

Too many KMS users

API 中的类别名称:TOO_MANY_KMS_USERS

将可使用加密密钥的主用户的数量限制为三个。以下预定义角色可以授予使用加密密钥对数据进行加密、解密或签名所需的权限:

  • roles/owner
  • roles/cloudkms.cryptoKeyEncrypterDecrypter
  • roles/cloudkms.cryptoKeyEncrypter
  • roles/cloudkms.cryptoKeyDecrypter
  • roles/cloudkms.signer
  • roles/cloudkms.signerVerifier

如需了解详情,请参阅权限和角色

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的 Cloud KMS 密钥页面。

    转到 Cloud KMS 密钥

  2. 点击发现结果中指明的密钥环的名称。

  3. 点击发现结果中指明的密钥的名称。

  4. 选中主要版本旁边的复选框,然后点击显示信息面板

  5. 将有权对数据进行加密、解密或签名的主用户的数量减少到三个或更少。如需撤消权限,请点击每个主账号旁边的删除

了解此发现结果类型支持的资产和扫描设置

User managed service account key

API 中的类别名称:USER_MANAGED_SERVICE_ACCOUNT_KEY

用户管理服务账号密钥。 如果服务账号密钥未正确管理,则会带来安全风险。您应该尽可能选择更安全的服务账号密钥替代方案。如果必须使用服务账号密钥进行身份验证,您将负责私钥的安全性和其他管理操作(如密钥轮替)。如需了解详情,请参阅管理服务账号密钥的最佳实践

如需修复此发现结果,请完成以下步骤:

  1. 转到 Google Cloud 控制台中的服务账号页面。

    转到“服务账号”

  2. 如有必要,选择发现结果中指明的项目。

  3. 删除发现结果中指明的用户管理的服务账号密钥(如果它们未被任何应用使用)。

了解此发现结果类型支持的资产和扫描设置

Weak SSL policy

API 中的类别名称:WEAK_SSL_POLICY

Compute Engine 实例具有较弱的 SSL 政策,或者使用了 TLS 版本低于 1.2 的 Google Cloud 默认 SSL 政策。

HTTPS 和 SSL 代理负载均衡器使用 SSL 政策来确定在用户和互联网之间建立的 TLS 连接中使用的协议和加密套件。这些连接会对敏感数据进行加密,以防止恶意窃听者访问敏感数据。弱 SSL 政策允许使用过时 TLS 版本的客户端通过安全性较低的加密套件或协议进行连接。如需查看推荐的和过时的加密套件列表,请访问 iana.org TLS 参数页面

对于 Security Command Center 高级层级的项目级激活,此发现结果仅在父级组织中启用了标准层级时才可用。

针对此发现结果的修复步骤会有所不同,具体取决于此发现结果是由使用默认 Google Cloud SSL 政策触发的,还是由允许使用弱加密套件或低于 1.2 的最低 TLS 版本的 SSL 政策触发的。请遵循下面与触发结果对应的流程。

默认 Google Cloud SSL 政策修复

  1. 转到 Google Cloud 控制台中的目标代理页面。

    转到“目标代理”

  2. 找到发现结果中指明的目标代理并记下使用者列中的转发规则。

  3. 如需创建新的 SSL 政策,请参阅使用 SSL 政策。政策的最低 TLS 版本应为 1.2,并且应使用新型或受限配置文件

  4. 如需使用自定义配置文件,请确保停用以下加密套件:

    • TLS_RSA_WITH_AES_128_GCM_SHA256
    • TLS_RSA_WITH_AES_256_GCM_SHA384
    • TLS_RSA_WITH_AES_128_CBC_SHA
    • TLS_RSA_WITH_AES_256_CBC_SHA
    • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  5. 将 SSL 政策应用于您之前记下的每个转发规则。

弱加密套件或较低级别的 TLS 版本允许修复

  1. 在 Google Cloud 控制台中,进入 SSL 政策页面。

    转到“SSL 政策”页面

  2. 找到使用者列中指明的负载均衡器。

  3. 点击政策名称下方。

  4. 点击 修改

  5. 最低 TLS 版本更改为 TLS 1.2,将配置文件更改为“新型”或“受限”。

  6. 如需使用自定义配置文件,请确保停用以下加密套件:

    • TLS_RSA_WITH_AES_128_GCM_SHA256
    • TLS_RSA_WITH_AES_256_GCM_SHA384
    • TLS_RSA_WITH_AES_128_CBC_SHA
    • TLS_RSA_WITH_AES_256_CBC_SHA
    • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  7. 点击保存

了解此发现结果类型支持的资产和扫描设置

Web UI enabled

API 中的类别名称:WEB_UI_ENABLED

GKE 网页界面(信息中心)已启用。

高度特权的 Kubernetes 服务账号支持 Kubernetes 网页界面。如果泄露,则该服务账号可能会被滥用。如果您已经在使用 Google Cloud 控制台,则 Kubernetes 网页界面会不必要地扩展您的攻击面。了解如何停用 Kubernetes 网页界面

要修复此发现结果,请停用 Kubernetes 网页界面:

  1. 转到 Google Cloud 控制台中的 Kubernetes 集群页面。

    转到 Kubernetes 集群

  2. 点击 Security Health Analytics 发现结果中列出的集群的名称。

  3. 点击 修改

    如果最近更改了集群配置,则修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。

  4. 点击插件。此部分将展开,显示可用的插件。

  5. Kubernetes 信息中心下拉列表中,请选择停用

  6. 点击保存

了解此发现结果类型支持的资产和扫描设置

Workload Identity disabled

API 中的类别名称:WORKLOAD_IDENTITY_DISABLED

在 GKE 集群上停用了 Workload Identity。

由于 Workload Identity 具有增强的安全属性和可管理性,因此它是在 GKE 中访问 Google Cloud 服务的推荐方法。启用 Workload Identity 可保护一些潜在的敏感系统元数据,确保集群上运行的用户工作负载无法对其进行不当访问。了解元数据隐藏

要修复此发现结果,请按照在集群上启用 Workload Identity 指南操作。

了解此发现结果类型支持的资产和扫描设置