修复发现的 Security Health Analytics 问题

>

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

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

Security Health Analytics 修复

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

ADMIN_SERVICE_ACCOUNT

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

要修复此发现结果,请执行以下操作:

  1. 转到“IAM 政策”页面。
    转到“IAM 政策”
  2. 对于发现结果中的每个成员:
    1. 点击成员旁边的修改
    2. 如需移除权限,请点击违规角色旁边的删除
    3. 点击保存

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

API_KEY_APIS_UNRESTRICTED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 API 密钥页面。
    转到“API 密钥”
  2. 对于每个 API 密钥:
    1. 点击修改
    2. API 限制下,点击限制密钥
    3. 选择 API 下拉列表中,选择要允许的 API。
    4. 点击保存。设置最多可能需要五分钟才能生效。

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

API_KEY_APPS_UNRESTRICTED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 API 密钥页面。
    转到“API 密钥”
  2. 对于每个 API 密钥:
    1. 点击修改
    2. 应用限制下,选择限制类别。您可以为每个密钥设置一项应用限制。
    3. 点击添加一项,根据应用的需要添加限制。
    4. 添加完各项后,点击完成
    5. 点击保存

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

API_KEY_EXISTS

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

API 密钥会带来安全方面的问题,因为它们是简单的加密字符串,容易被他人发现和使用。用户可以在存储密钥的设备上检索这样的密钥,或者可以公开查看这样的密钥,例如从浏览器中查看。此外,API 密钥不会唯一标识发出请求的用户或应用。请改用标准身份验证流程。如需了解详情,请参阅以最终用户身份进行身份验证

要修复此发现结果,请执行以下操作:

  1. 确保为您的应用配置了身份验证替代形式。
  2. 转到 API 凭据页面。
    转到“API 凭据”
  3. API 密钥部分中,点击每个 API 密钥旁边的删除

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

API_KEY_NOT_ROTATED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 API 密钥页面。
    转到“API 密钥”
  2. 对于每个 API 密钥:
    1. 查看创建日期下的日期。
    2. 如果密钥超过 90 天,请点击密钥名称或修改
    3. 点击页面顶部的重新生成密钥
    4. 点击更换密钥
    5. 为确保您的应用继续无中断地运行,请更新应用以使用新的 API 密钥。旧的 API 密钥在 24 小时内继续有效,之后便会永久停用。

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

AUDIT_CONFIG_NOT_MONITORED

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

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

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

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

创建指标

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 点击创建指标
  3. 指标类型下,选择计数器
  4. 详细信息下:
    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:
      protoPayload.methodName="SetIamPolicy"
      AND protoPayload.serviceData.policyDelta.auditConfigDeltas:*
    
  6. 点击创建指标。 您将看到确认。

创建提醒政策

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 用户定义的指标部分中,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒。如果系统提示您将项目添加到 Workspace,请完成该过程。
  4. 在打开的页面中,点击导航菜单中的提醒
  5. What do you want to track? 下,点击添加条件并完成对话框,以定义监控哪些资源以及何时触发提醒。如需了解条件中的字段,请参阅指定条件
  6. 完成后,点击添加,然后点击下一步
  7. 应该收到通知的用户 (Who should be notified?) 下,点击通知渠道下拉列表,然后选择接收通知的方式。如需了解详情,请参阅管理通知渠道
  8. 点击确定,然后点击下一步
  9. 解决此问题的步骤 (What are the steps to fix the issue?) 下,设置提醒名称
  10. 点击保存

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

AUDIT_LOGGING_DISABLED

已停用此资源的审核日志记录功能。

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

要修复此发现结果,请执行以下操作:

  1. 转到默认审核配置页面。
    转到“默认审核配置”
  2. 日志类型标签下,选择管理员读取数据读取数据写入
  3. 点击保存
  4. 豁免用户标签下,点击每个名称旁边的删除 ,以移除列出的所有用户。
  5. 点击保存

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

AUTO_BACKUP_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 SQL 实例备份页面。
    转到 SQL 实例备份
  2. 点击设置旁边的修改
  3. 选中自动备份复选框。
  4. 在下拉菜单中,选择数据自动备份的时段。
  5. 点击保存

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

AUTO_REPAIR_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Kubernetes 集群页面
    转到“Kubernetes 集群”

  2. 点击节点标签页。

  3. 对于每个节点池:

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

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

AUTO_UPGRADE_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Kubernetes 集群页面
    转到“Kubernetes 集群”
  2. 在集群列表中,点击集群的名称。
  3. 点击节点标签页。
  4. 对于每个节点池:
    1. 点击节点池的名称转到其详情页面。
    2. 点击修改
    3. 管理下,选择启用自动升级
    4. 点击保存

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

BUCKET_CMEK_DISABLED

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

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

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

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

BUCKET_IAM_NOT_MONITORED

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

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

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

要修复此发现结果,请执行以下操作:

创建指标

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 点击创建指标
  3. 指标类型下,选择计数器
  4. 详细信息下:
    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:
      resource.type=gcs_bucket
      AND protoPayload.methodName="storage.setIamPermissions"
    
  6. 点击创建指标。 您将看到确认。

创建提醒政策

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 用户定义的指标部分中,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒。如果系统提示您将项目添加到 Workspace,请完成该过程。
  4. 在打开的页面中,点击导航菜单中的提醒
  5. What do you want to track? 下,点击添加条件并完成对话框,以定义监控哪些资源以及何时触发提醒。如需了解条件中的字段,请参阅指定条件
  6. 完成后,点击添加,然后点击下一步
  7. 应该收到通知的用户 (Who should be notified?) 下,点击通知渠道下拉列表,然后选择接收通知的方式。如需了解详情,请参阅管理通知渠道
  8. 点击确定,然后点击下一步
  9. 解决此问题的步骤 (What are the steps to fix the issue?) 下,设置提醒名称
  10. 点击保存

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

BUCKET_LOGGING_DISABLED

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

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

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

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

BUCKET_POLICY_ONLY_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Storage 浏览器页面。
    转到 Cloud Storage 浏览器
  2. 在存储分区列表中,点击所需存储分区的名称。
  3. 点击权限标签页。
  4. 访问权限控制卡片中,点击切换到统一权限
  5. 在对话框中,选择统一
  6. 点击保存

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

CLUSTER_LOGGING_DISABLED

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

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

如果信息量很大,Cloud Logging 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 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

GKE 集群上已停用 Monitoring。

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

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Kubernetes 集群页面。
    转到“Kubernetes 集群”
  2. 选择 Security Health Analytics 发现结果中列出的集群。
  3. 点击 修改

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

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

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

  5. 点击保存

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

CLUSTER_PRIVATE_GOOGLE_ACCESS_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Virtual Private Cloud 网络页面
    转到 VPC 网络
  2. 在网络列表中,点击所需网络的名称。
  3. VPC 网络详情页面上,点击子网标签页。
  4. 在子网列表中,点击与发现结果中的 Kubernetes 集群关联的子网的名称。
  5. 子网详情页面上,点击修改
  6. 专用 Google 访问通道下,选择开启
  7. 点击保存
  8. 要从其外部流量仅流向 Google API 的虚拟机实例移除公共(外部)IP 地址,请参阅取消分配静态外部 IP 地址

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

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到虚拟机实例页面
    转到“虚拟机实例”
  2. 在实例列表中,点击发现结果中的实例的名称。
  3. 虚拟机实例详情页面上,点击 修改
  4. SSH 密钥下,选择屏蔽项目范围的 SSH 密钥
  5. 点击保存

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

COMPUTE_SECURE_BOOT_DISABLED

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

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的虚拟机实例页面。
    转到“虚拟机实例”
  2. 在实例列表中,点击发现结果中的实例的名称。
  3. 虚拟机实例详情页面上,点击 停止
  4. 实例停止后,点击 修改
  5. 安全强化型虚拟机下,选择开启安全启动
  6. 点击保存
  7. 点击 启动以启动实例。

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

COMPUTE_SERIAL_PORTS_ENABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到虚拟机实例页面
    转到“虚拟机实例”
  2. 在实例列表中,点击发现结果中的实例的名称。
  3. 虚拟机实例详情页面上,点击 修改
  4. 远程访问下,取消选中允许连接到串行端口
  5. 点击保存

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

COS_NOT_USED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Kubernetes 集群页面
    转到“Kubernetes 集群”
  2. 在集群列表中,点击发现结果中的集群的名称。
  3. 点击节点标签页。
  4. 对于每个节点池:
    1. 点击节点池的名称转到其详情页面。
    2. 点击修改
    3. 节点 -> 映像类型下,点击更改
    4. 选择 Container-Optimized OS,然后点击更改
    5. 点击保存

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

CUSTOM_ROLE_NOT_MONITORED

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

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

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

要修复此发现结果,请执行以下操作:

创建指标

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  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. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 用户定义的指标部分中,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒。如果系统提示您将项目添加到 Workspace,请完成该过程。
  4. 在打开的页面中,点击导航菜单中的提醒
  5. What do you want to track? 下,点击添加条件并完成对话框,以定义监控哪些资源以及何时触发提醒。如需了解条件中的字段,请参阅指定条件
  6. 完成后,点击添加,然后点击下一步
  7. 应该收到通知的用户 (Who should be notified?) 下,点击通知渠道下拉列表,然后选择接收通知的方式。如需了解详情,请参阅管理通知渠道
  8. 点击确定,然后点击下一步
  9. 解决此问题的步骤 (What are the steps to fix the issue?) 下,设置提醒名称
  10. 点击保存

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

DEFAULT_NETWORK

项目中存在默认网络。

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

要修复此发现结果,请执行以下操作:

  1. 在 Cloud Console 中,转到 VPC 网络页面。
    转到“VPC 网络”
  2. 在网络列表中,点击默认网络的名称。
  3. VPC 网络详情页面中,点击 删除 VPC 网络
  4. 如需使用自定义防火墙规则创建新网络,请参阅创建网络

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

DEFAULT_SERVICE_ACCOUNT_USED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的虚拟机实例页面。
    转到“虚拟机实例”
  2. 选择与 Security Health Analytics 发现结果相关的实例。
  3. 在加载的实例详情页面上,点击 停止
  4. 实例停止后,点击 修改
  5. 服务帐号部分下,选择默认 Compute Engine 服务帐号以外的服务帐号。您可能需要先创建新的服务帐号。如需了解 IAM 角色和权限,请参阅访问权限控制
  6. 点击保存。新配置会显示在实例详情页面上。

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

DISK_CMEK_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Compute Engine 磁盘页面。
    转到“Compute Engine 磁盘”
  2. 在磁盘列表中,点击发现结果中指明的磁盘的名称。
  3. 管理磁盘页面上,点击 删除
  4. 如需创建启用 CMEK 的新磁盘,请参阅使用您自己的密钥加密新的永久性磁盘。CMEK 会产生与 Cloud KMS 相关的额外费用。

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

DISK_CSEK_DISABLED

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

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

要修复此发现结果,请执行以下操作:

删除和创建磁盘

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

  1. 转到 Cloud Console 中的 Compute Engine 磁盘页面。
    转到“Compute Engine 磁盘”
  2. 在磁盘列表中,点击发现结果中指明的磁盘的名称。
  3. 管理磁盘页面上,点击 删除
  4. 如需创建启用 CSEK 的新磁盘,请参阅使用客户提供的加密密钥加密磁盘
  5. 完成剩余步骤以启用检测器。

启用检测器

  1. 在 Cloud Console 中,转到 Security Command Center 的资源页面。
    转到“资源”
  2. 查看方式旁边,点击资源类型
  3. 在资源列表中,选择磁盘。该表格会填充磁盘列表。
  4. resourceProperties.name 下,选中要使用 CSEK 的磁盘名称旁边的复选框,然后点击设置安全标记
  5. 在对话框中,点击添加标记
  6. 字段中,输入 enforce_customer_supplied_disk_encryption_keys;在字段中输入 true
  7. 点击保存

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

DNSSEC_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud DNS 页面。
    转到“Cloud DNS 网络”
  2. 找到发现结果中指明的 DNS 区域所在的行。
  3. 点击该行中的 DNSSEC 设置,然后在 DNSSEC 下,选择开启
  4. 阅读显示的对话框。如果满意,请点击启用

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

EGRESS_DENY_RULE_NOT_SET

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到防火墙
  2. 点击创建防火墙规则
  3. 为防火墙命名,并视需要添加说明。
  4. 流量方向选择出站
  5. 对匹配项执行的操作下,选择拒绝
  6. 目标下拉菜单中,选择网络中的所有实例
  7. 目标过滤条件下拉菜单中,选择 IP 范围,然后在目标 IP 地址范围框中输入 0.0.0.0/0
  8. 协议和端口下,选择全部拒绝
  9. 点击停用规则,然后在强制执行下选择已启用
  10. 点击创建

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

FIREWALL_NOT_MONITORED

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

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

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

要修复此发现结果,请执行以下操作:

创建指标

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 点击创建指标
  3. 指标类型下,选择计数器
  4. 详细信息下:
    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:
      resource.type="gce_firewall_rule"
      AND jsonPayload.event_subtype="compute.firewalls.patch"
      OR jsonPayload.event_subtype="compute.firewalls.insert"
    
  6. 点击创建指标。 您将看到确认。

创建提醒政策

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 用户定义的指标部分中,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒。如果系统提示您将项目添加到 Workspace,请完成该过程。
  4. 在打开的页面中,点击导航菜单中的提醒
  5. What do you want to track? 下,点击添加条件并完成对话框,以定义监控哪些资源以及何时触发提醒。如需了解条件中的字段,请参阅指定条件
  6. 完成后,点击添加,然后点击下一步
  7. 应该收到通知的用户 (Who should be notified?) 下,点击通知渠道下拉列表,然后选择接收通知的方式。如需了解详情,请参阅管理通知渠道
  8. 点击确定,然后点击下一步
  9. 解决此问题的步骤 (What are the steps to fix the issue?) 下,设置提醒名称
  10. 点击保存

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

FIREWALL_RULE_LOGGING_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击所需防火墙规则的名称。
  3. 点击 修改
  4. 日志下,选择开启
  5. 点击保存

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

FLOW_LOGS_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 VPC 网络页面。
    转到“VPC 网络”
  2. 在网络列表中,点击所需网络的名称。
  3. VPC 网络详情页面上,点击子网标签页。
  4. 在子网列表中,点击发现结果中指明的子网的名称。
  5. 子网详情页面上,点击 修改
  6. 流日志下,选择开启

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

FULL_API_ACCESS

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的虚拟机实例页面。
    转到“虚拟机实例”
  2. 在实例列表中,点击发现结果中的实例的名称。
  3. 如果实例当前已启动,请点击 停止
  4. 实例停止后,点击 修改
  5. 服务帐号下的下拉菜单中,选择 Compute Engine 默认服务帐号
  6. 访问权限范围部分下,确保未选中授予对所有 Cloud API 的完整访问权限
  7. 点击保存
  8. 点击 启动以启动实例。

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

HTTP_LOAD_BALANCER

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的目标代理页面。
    转到“目标代理”
  2. 在目标代理列表中,点击发现结果中的目标代理的名称。
  3. 点击网址映射下的链接。
  4. 点击 修改
  5. 点击前端配置
  6. 删除所有允许 HTTP 流量的前端 IP 和端口配置,并创建允许 HTTPS 流量的新配置。

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

IP_ALIAS_DISABLED

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

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

要修复此发现结果,请执行以下操作:

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

  1. 转到 Cloud Console 中的 Kubernetes 集群页面。
    转到“Kubernetes 集群”
  2. 点击创建
  3. 在导航窗格的集群下,点击网络
  4. 高级网络选项下,选择启用 VPC 原生流量路由(使用别名 IP)
  5. 点击创建

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

IP_FORWARDING_ENABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的虚拟机实例页面。
    转到“虚拟机实例”
  2. 在实例列表中,选中发现结果中的实例名称旁边的复选框。
  3. 点击 删除
  4. 选择创建实例以创建一个新实例来替换您删除的实例。
  5. 为确保停用 IP 转发,请点击管理、磁盘、网络、SSH 密钥,然后点击网络
  6. 网络接口下,点击 修改
  7. IP 转发下的下拉菜单中,确保选中关闭
  8. 指定任何其他实例参数,然后点击创建。如需了解详情,请参阅创建和启动虚拟机实例

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

KMS_KEY_NOT_ROTATED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud KMS 密钥页面。
    转到“Cloud KMS 密钥”
  2. 点击发现结果中指明的密钥环的名称。
  3. 点击发现结果中指明的密钥的名称。
  4. 点击修改轮替周期
  5. 将轮替周期设置为最长 90 天。
  6. 点击保存

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

KMS_PROJECT_HAS_OWNER

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

要修复此发现结果,请执行以下操作:

  1. 转到 IAM 页面。
    转到 IAM 页面
  2. 如有必要,选择发现结果中的项目。
  3. 对于每个分配了 Owner 角色的成员:
    1. 点击 修改
    2. 修改权限面板中,点击 Owner 角色旁边的 删除
    3. 点击保存

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

KMS_PUBLIC_KEY

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

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

  1. 转到 Cloud Console 中的加密密钥页面。
    加密密钥
  2. 名称下,选择包含与 Security Health Analytics 发现结果相关的加密密钥的密钥环。
  3. 在加载的密钥环详细信息页面上,选中加密密钥旁边的复选框。
  4. 如果未显示信息面板,请点击显示信息面板按钮。
  5. 使用角色/成员前面的过滤框搜索 allUsersallAuthenticatedUsers 的成员,然后点击删除 即可移除这些成员的访问权限。

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

  1. 转到 Cloud Console 中的加密密钥页面。
    加密密钥
  2. 找到发现结果中的密钥环所在的行,然后选中复选框。
  3. 如果未显示信息面板,请点击显示信息面板按钮。
  4. 使用角色/成员前面的过滤框搜索 allUsersallAuthenticatedUsers 的成员,然后点击删除 即可移除这些成员的访问权限。

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

KMS_ROLE_SEPARATION

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 IAM 页面。
    转到 IAM
  2. 点击 Security Health Analytics 发现结果中列出的成员旁边的修改
  3. 如需移除权限,请点击 Cloud KMS Admin 旁边的删除 。如果您要移除该成员的所有权限,请点击所有其他权限旁边的删除
  4. 点击保存
  5. 对 Security Health Analytics 发现结果中的每个成员重复上述步骤。

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

LEGACY_AUTHORIZATION_ENABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Kubernetes 集群页面。
    转到“Kubernetes 集群”
  2. 选择 Security Health Analytics 发现结果中列出的集群。
  3. 点击 修改

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

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

  5. 点击保存

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

LEGACY_METADATA_ENABLED

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

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

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

要修复此发现结果,请执行以下操作:

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

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

LEGACY_NETWORK

项目中存在旧版网络。

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

要修复此发现结果,请执行以下操作:

  1. 在 Cloud Console 中,转到 VPC 网络页面。
    转到“VPC 网络”
  2. 如需创建新的非旧版网络,请点击创建网络
  3. 返回到 VPC 网络页面。
  4. 在网络列表中,点击 legacy_network
  5. VPC 网络详情页面中,点击 删除 VPC 网络

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

LOCKED_RETENTION_POLICY_NOT_SET

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Storage 浏览器页面。
    转到“Storage 浏览器”
  2. 选择 Security Health Analytics 发现结果中列出的存储分区。
  3. 存储分区详情页面上,点击保留标签页。
  4. 如果尚未设置保留政策,请点击设置保留政策
  5. 输入保留期限。
  6. 点击保存。保留政策显示在保留标签页中。
  7. 点击锁定以确保保留期限不会缩短或移除。

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

LOG_NOT_EXPORTED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到日志路由器页面。
    转到“日志路由器”
  2. 点击创建接收器
  3. 请填写必需的字段。通过包含过滤器和排除过滤器,您可以选择要导出哪些日志。为确保导出所有日志,请将包含过滤器和排除过滤器留空。
  4. 点击创建接收器

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

MASTER_AUTHORIZED_NETWORKS_DISABLED

GKE 集群上未启用主授权网络。

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Kubernetes 集群页面。
    转到“Kubernetes 集群”
  2. 选择 Security Health Analytics 发现结果中列出的集群。
  3. 点击 修改

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

  4. 主要的已授权网络下拉菜单中,选择已启用

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

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

  7. 点击保存

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

MFA_NOT_ENFORCED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到管理控制台页面。
    转到“管理控制台”
  2. 为所有单位部门强制执行两步验证。

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

NETWORK_NOT_MONITORED

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

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

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

要修复此发现结果,请执行以下操作:

创建指标

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 点击创建指标
  3. 指标类型下,选择计数器
  4. 详细信息下:
    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:
      resource.type=gce_network AND jsonPayload.event_subtype="compute.networks.insert"
      OR jsonPayload.event_subtype="compute.networks.patch"
      OR jsonPayload.event_subtype="compute.networks.delete"
      OR jsonPayload.event_subtype="compute.networks.removePeering"
      OR jsonPayload.event_subtype="compute.networks.addPeering"
    
  6. 点击创建指标。 您将看到确认。

创建提醒政策

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 用户定义的指标部分中,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒。如果系统提示您将项目添加到 Workspace,请完成该过程。
  4. 在打开的页面中,点击导航菜单中的提醒
  5. What do you want to track? 下,点击添加条件并完成对话框,以定义监控哪些资源以及何时触发提醒。如需了解条件中的字段,请参阅指定条件
  6. 完成后,点击添加,然后点击下一步
  7. 应该收到通知的用户 (Who should be notified?) 下,点击通知渠道下拉列表,然后选择接收通知的方式。如需了解详情,请参阅管理通知渠道
  8. 点击确定,然后点击下一步
  9. 解决此问题的步骤 (What are the steps to fix the issue?) 下,设置提醒名称
  10. 点击保存

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

NETWORK_POLICY_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Kubernetes 集群页面。
    转到“Kubernetes 集群”
  2. 点击 Security Health Analytics 发现结果中列出的集群的名称。
  3. 网络下的网络政策行中,点击 修改

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

  4. 在对话框中,选择启用主节点的网络政策启用节点的网络政策

  5. 点击保存更改

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

NODEPOOL_BOOT_CMEK_DISABLED

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

要修复此发现结果,请执行以下操作:

  1. 转到 Kubernetes 集群页面
    转到“Kubernetes 集群”
  2. 在集群列表中,点击发现结果中的集群的名称。
  3. 点击节点标签页。
  4. 对于每个 default-pool 节点池,点击删除
  5. 如需使用 CMEK 创建新的节点池,请参阅使用客户管理的加密密钥 (CMEK)。CMEK 会产生与 Cloud KMS 相关的额外费用。

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

NON_ORG_IAM_MEMBER

组织之外的用户拥有项目或组织的 IAM 权限。详细了解 IAM 权限

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 IAM 页面。
    转到 IAM
  2. 选中组织外用户旁边的复选框。
  3. 点击移除

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

OBJECT_VERSIONING_DISABLED

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

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

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

    gsutil versioning set on gs://finding.assetDisplayName

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

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

OPEN_CASSANDRA_PORT

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

Cassandra 服务端口包括:

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_CISCOSECURE_WEBSM_PORT

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

CiscoSecure/WebSM 服务端口包括:

  • TCP - 9090

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_DIRECTORY_SERVICES_PORT

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

Directory 服务端口包括:

  • TCP - 445
  • UDP - 445

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_DNS_PORT

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

DNS 服务端口包括:

  • TCP - 53
  • UDP - 53

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_ELASTICSEARCH_PORT

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

Elasticsearch 服务端口包括:

  • TCP - 9200, 9300

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_FIREWALL

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

详细了解如何更新防火墙规则

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙规则页面。
    转到“防火墙规则”
  2. 点击 Security Health Analytics 发现结果中列出的防火墙规则,然后点击 修改
  3. 来源 IP 地址范围下,修改 IP 值以限制允许的 IP 范围。
  4. 协议和端口下,选择指定的协议和端口,再选择允许的协议,并输入允许的端口。
  5. 点击保存

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

OPEN_FTP_PORT

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

FTP 服务端口包括:

  • TCP - 21

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_HTTP_PORT

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

HTTP 服务端口包括:

  • TCP - 80

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_LDAP_PORT

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

LDAP 服务端口包括:

  • TCP - 389, 636
  • UDP - 389

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_MEMCACHED_PORT

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

Memcached 服务端口包括:

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_MONGODB_PORT

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

MongoDB 服务端口包括:

  • TCP - 27017, 27018, 27019

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_MYSQL_PORT

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

MySQL 服务端口包括:

  • TCP - 3306

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_NETBIOS_PORT

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

NetBIOS 服务端口包括:

  • TCP - 137, 138, 139
  • UDP - 137, 138, 139

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_ORACLEDB_PORT

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

OracleDB 服务端口包括:

  • TCP - 1521, 2483, 2484
  • UDP - 2483, 2484

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_POP3_PORT

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

POP3 服务端口包括:

  • TCP - 110

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_POSTGRESQL_PORT

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

PostgreSQL 服务端口包括:

  • TCP - 5432
  • UDP - 5432

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_RDP_PORT

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

RDP 服务端口包括:

  • TCP - 3389
  • UDP - 3389

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_REDIS_PORT

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

Redis 服务端口包括:

  • TCP - 6379

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_SMTP_PORT

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

SMTP 服务端口包括:

  • TCP - 25

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_SSH_PORT

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

SSH 服务端口包括:

  • SCTP - 22
  • TCP - 22

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

OPEN_TELNET_PORT

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

Telnet 服务端口包括:

  • TCP - 23

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的防火墙页面。
    转到“防火墙”
  2. 在防火墙规则列表中,点击发现结果中的防火墙规则的名称。
  3. 点击 修改
  4. 来源 IP 地址范围下,删除 0.0.0.0/0
  5. 添加您希望允许连接到实例的特定 IP 地址或 IP 地址范围。
  6. 添加您要在实例上打开的特定协议和端口。
  7. 点击保存

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

ORG_POLICY_CONFIDENTIAL_VM_POLICY

Compute Engine 资源未遵守 constraints/compute.restrictNonConfidentialComputing 组织政策。如需详细了解此组织政策限制条件,请参阅实施组织政策限制条件

您的组织要求此虚拟机启用机密虚拟机服务。未启用此服务的虚拟机不会使用运行时内存加密,这会使其面临运行时内存攻击。

要修复此发现结果,请执行以下操作:

  1. 转到虚拟机实例页面
    转到“虚拟机实例”
  2. 在实例列表中,点击发现结果中的实例的名称。
  3. 如果虚拟机不需要机密虚拟机服务,请将其移到新文件夹或项目。
  4. 如果虚拟机需要机密虚拟机服务,请点击 删除
  5. 如需创建启用机密虚拟机的新实例,请参阅快速入门:创建机密虚拟机实例

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

ORG_POLICY_LOCATION_RESTRICTION

通过组织政策 gcp.resourceLocations 限制条件,您可以新资源的创建限制在您选择的 Cloud 区域内。如需了解详情,请参阅限制资源位置

要修复此发现结果,请执行以下操作:

ORG_POLICY_LOCATION_RESTRICTION 检测器涵盖许多资源类型,且每种资源的修复说明不同。解决位置违规行为的一般方法包括:

  1. 将区域外的资源或其数据复制、移动或备份到区域内的资源。如需获取有关如何移动资源的说明,请参阅各项服务的文档。
  2. 删除原始区域外的资源或其数据。

此方法不适用于所有资源类型。如需获取相关指导,请参阅发现结果中提供的自定义建议。

其他注意事项

代管资源

资源的生命周期有时可能会被其他资源管理和控制。例如,代管式 Compute Engine 实例组会根据实例组的自动扩缩政策创建和销毁 Compute Engine 实例。如果代管资源和管理资源在位置强制执行范围内,则这两种资源都可能会被标记为违反组织政策。应在管理资源上修复代管资源的发现结果,以确保操作稳定性。

使用中的资源

某些资源会被其他资源使用。例如,挂接到正在运行的 Compute Engine 实例的 Compute Engine 磁盘被视为正被实例使用。如果使用中的资源违反了位置组织政策,则您需要确保在解决位置违规行为之前,该资源未被使用。

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

OS_LOGIN_DISABLED

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

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

要修复此发现结果,请执行以下操作:

  1. 在 Cloud Console 中,转到元数据页面。
    转到“元数据”
  2. 点击修改,然后点击添加一项
  3. 添加一个键为 enable-oslogin 且值为 TRUE 的项。

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

OVER_PRIVILEGED_ACCOUNT

GKE 节点使用 Compute Engine 默认服务节点,默认具有广泛的访问权限,对于运行 GKE 集群来说可能权限过高。

要修复此发现结果,请执行以下操作:

按照说明使用最小权限 Google 服务帐号

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

OVER_PRIVILEGED_SCOPES

节点服务帐号具有广泛的访问权限范围。

访问权限范围是为实例指定权限的传统方法。 为了降低攻击过程中提升权限的可能性,请创建并使用具有最小权限的服务帐号来运行 GKE 集群。

要修复此发现结果,请按照使用最小权限 Google 服务帐号中的说明操作。

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

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

用户在项目级层(而不是特定服务帐号)拥有 iam.serviceAccountUseriam.serviceAccountTokenCreator

如果将项目的这些角色授予某个用户,该用户将有权访问项目中所有现有和未来的服务帐号。这可能会导致权限意外升级。如需了解详情,请参阅服务帐号权限

要修复此发现结果,请执行以下操作:

  1. 转到 IAM 页面。
    转到 IAM 页面
  2. 如有必要,选择发现结果中的项目。
  3. 对于分配有 roles/iam.serviceAccountUserroles/iam.serviceAccountTokenCreator 的每个成员:
    1. 点击 修改
    2. 修改权限面板中,点击角色旁边的 删除
    3. 点击保存
  4. 请按照本指南授予各个用户模拟单个服务帐号的权限。对于您希望允许所选用户模拟的每个服务帐号,您需要遵循相应的指南。

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

OWNER_NOT_MONITORED

日志指标和提醒未配置为监控项目所有权分配或更改。

IAM Owner 角色拥有项目的最高级别权限。如需保障资源安全,您可以设置提醒,以在添加新的所有者或移除所有者时收到通知。如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

要修复此发现结果,请执行以下操作:

创建指标

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  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. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 用户定义的指标部分中,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒。如果系统提示您将项目添加到 Workspace,请完成该过程。
  4. 在打开的页面中,点击导航菜单中的提醒
  5. What do you want to track? 下,点击添加条件并完成对话框,以定义监控哪些资源以及何时触发提醒。如需了解条件中的字段,请参阅指定条件
  6. 完成后,点击添加,然后点击下一步
  7. 应该收到通知的用户 (Who should be notified?) 下,点击通知渠道下拉列表,然后选择接收通知的方式。如需了解详情,请参阅管理通知渠道
  8. 点击确定,然后点击下一步
  9. 解决此问题的步骤 (What are the steps to fix the issue?) 下,设置提醒名称
  10. 点击保存

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

POD_SECURITY_POLICY_DISABLED

GKE 集群上停用了 PodSecurityPolicy

PodSecurityPolicy 是一种准入控制器资源,用于验证在集群上创建和更新 Pods 的请求。集群不会接受不符合 PodSecurityPolicy 中所定义条件的 pod。

要修复此发现结果,请定义并授权 PodSecurityPolicies,然后启用 PodSecurityPolicy 控制器。如需查看相关说明,请参阅使用 PodSecurityPolicies

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

PRIMITIVE_ROLES_USED

用户具有以下 IAM 基本角色之一:roles/ownerroles/editorroles/viewer。这些角色权限过于宽松,不应使用。应该按项目分配这些角色。

如需了解详情,请参阅了解角色

要修复此发现结果,请执行以下操作:

  1. 转到“IAM 政策”页面。
    转到“IAM 政策”
  2. 对于分配有原初角色的每个用户,请考虑改用更精细的角色。

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

PRIVATE_CLUSTER_DISABLED

GKE 集群停用了专用集群。

专用集群允许节点仅具有内部 IP 地址。 此功能限制节点的出站互联网访问权限。如果集群节点没有公共 IP 地址,就不会在公共互联网上被检测到,也不会被公开。您仍可以使用内部负载平衡器将流量路由到这些节点。如需了解详情,请参阅专用集群

您无法将现有集群设置为专用。要修复此发现结果,请创建新的专用集群:

  1. 转到 Cloud Console 中的 Kubernetes 集群页面。
    转到“Kubernetes 集群”
  2. 点击创建集群
  3. 点击可用性、网络、安全性及其他功能,然后选择启用 VPC 原生(使用别名 IP)专用集群的复选框。
  4. 点击创建

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

PRIVATE_GOOGLE_ACCESS_DISABLED

有一些专用子网无权访问 Google 公共 API。

专用 Google 访问通道支持仅具有内部(专用)IP 地址的虚拟机实例访问 Google API 和服务的公共 IP 地址。

如需了解详情,请参阅配置 Google 专用访问通道

要修复此发现结果,请执行以下操作:

  1. 转到 VPC 网络页面。
    转到“VPC 网络”
  2. 在网络列表中,点击所需网络的名称。
  3. VPC 网络详情页面上,点击子网标签页。
  4. 在子网列表中,点击与发现结果中的 Kubernetes 集群关联的子网的名称。
  5. 子网详情页面上,点击修改
  6. 专用 Google 访问通道下,选择开启
  7. 点击保存
  8. 要从其外部流量仅流向 Google API 的虚拟机实例移除公共(外部)IP 地址,请参阅取消分配静态外部 IP 地址

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

PUBLIC_BUCKET_ACL

存储分区是公开的,互联网上的任何用户都可以访问。

如需了解详情,请参阅访问权限控制概览

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Storage 浏览器页面。
    转到“Storage 浏览器”
  2. 选择 Security Health Analytics 发现结果中列出的存储分区。
  3. 存储分区详情页面上,点击权限标签。
  4. 查看方式旁边,点击角色
  5. 过滤条件框中,搜索 allUsersallAuthenticatedUsers
  6. 点击删除 以移除授予 allUsersallAuthenticatedUsers 的所有 IAM 权限。

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

PUBLIC_COMPUTE_IMAGE

Compute Engine 映像是公开的,互联网上的任何用户都可以访问。allUsers 表示互联网上的任何用户,allAuthenticatedUsers 表示使用 Google 帐号进行了身份验证的任何用户。两者都不局限于组织内的用户。

Compute Engine 映像可能包含加密密钥或许可软件等敏感信息。此类敏感信息不应允许公开访问。如果您打算将此 Compute Engine 映像设为公开,请确保其不包含任何敏感信息。

如需了解详情,请参阅访问权限控制概览

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Compute Engine 映像页面。
    转到“Compute Engine 映像”
  2. 选中 public-image 映像旁边的复选框,然后点击显示信息面板
  3. 过滤条件框中,搜索 allUsersallAuthenticatedUsers 的成员。
  4. 展开您要移除用户的角色。
  5. 点击 删除,以从该角色中移除用户。

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

PUBLIC_DATASET

BigQuery 数据集是公开的,互联网上的任何用户都可以访问。IAM 成员 allUsers 表示互联网上的任何用户,allAuthenticatedUsers 表示登录了 Google 服务的任何用户。两者都不局限于组织内的用户。

如需了解详情,请参阅控制对数据集的访问

要修复此发现结果,请执行以下操作:

  1. 转到 BigQuery 数据集页面
    转到“BigQuery 数据集”
  2. 点击共享数据集
  3. 数据集权限面板中,使用搜索成员框搜索 allUsersallAuthenticatedUsers,并移除这些成员的访问权限。

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

PUBLIC_IP_ADDRESS

Compute Engine 实例具有公共 IP 地址。

为了缩小组织的受攻击面,请避免向虚拟机分配公共 IP 地址。已停止的实例可能仍会被标记为“公共 IP 发现结果”,例如,网络接口被配置为在启动时分配临时公共 IP 时就是如此。请确保已停止的实例的网络配置不包含外部访问权限。

如需了解详情,请参阅安全连接到虚拟机实例

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的虚拟机实例页面。
    转到虚拟机实例
  2. 在实例列表中,选中发现结果中的实例名称旁边的复选框。
  3. 点击 修改
  4. 对于网络接口下的每个接口,点击 修改并将外部 IP设置为
  5. 点击完成,然后点击保存

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

PUBLIC_LOG_BUCKET

存储分区是公开的,并用作日志接收器,这意味着互联网上的任何用户都可以访问此存储分区中存储的日志。allUsers 表示互联网上的任何用户,allAuthenticatedUsers 表示已登录 Google 服务的任何用户。两者都不局限于组织内的用户。

如需了解详情,请参阅访问权限控制概览

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Storage 浏览器页面。
    转到 Cloud Storage 浏览器
  2. 在存储分区列表中,点击发现结果中指明的存储分区的名称。
  3. 点击权限标签页。
  4. 从存储分区的成员中移除 allUsersallAuthenticatedUsers

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

PUBLIC_SQL_INSTANCE

您的 SQL 实例使用 0.0.0.0/0 作为允许的网络。这意味着任何 IPv4 客户端(包括您不打算允许的客户端)都可以穿过网络防火墙并尝试登录您的实例。客户端仍需要提供有效凭据才能成功登录您的实例。

如需了解详情,请参阅使用授权网络进行授权

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 在导航面板中,点击连接
  5. 已获授权的网络下,删除 0.0.0.0/0 并添加您希望允许连接实例的特定 IP 地址或 IP 范围。
  6. 点击完成,然后点击保存

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

PUBSUB_CMEK_DISABLED

Pub/Sub 主题未使用客户管理的加密密钥 (CMEK) 进行加密。

借助 CMEK,您在 Cloud KMS 中创建和管理的密钥会封装 Google 用于加密数据的密钥,从而使您能够更好地控制对您数据的访问。

如需修复此发现结果,请删除现有主题并创建一个新主题:

  1. 在 Cloud Console 中转到 Pub/Sub 的主题页面。

    转到主题

  2. 如有必要,请选择包含 Pub/Sub 主题的项目。

  3. 选中发现结果中列出的主题旁边的复选框,然后点击 删除

  4. 如需在启用 CMEK 的情况下创建新的 Pub/Sub 主题,请参阅使用客户管理的加密密钥。CMEK 会产生与 Cloud KMS 相关的额外费用。

  5. 将发现结果或其他数据发布到启用了 CMEK 的 Pub/Sub 主题。

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

ROUTE_NOT_MONITORED

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

Google Cloud 路由是目的地和跃点,用于定义网络流量从虚拟机实例流向目的地 IP 所经过的路径。通过监控路由表的更改,您可以帮助确保所有 VPC 流量均经过预期的路径。

如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

要修复此发现结果,请执行以下操作:

创建指标

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 点击创建指标
  3. 指标类型下,选择计数器
  4. 详细信息下:
    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:
      resource.type="gce_route"
      AND jsonPayload.event_subtype="compute.routes.delete"
      OR jsonPayload.event_subtype="compute.routes.insert"
    
  6. 点击创建指标。 您将看到确认。

创建提醒政策

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 用户定义的指标部分中,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒。如果系统提示您将项目添加到 Workspace,请完成该过程。
  4. 在打开的页面中,点击导航菜单中的提醒
  5. What do you want to track? 下,点击添加条件并完成对话框,以定义监控哪些资源以及何时触发提醒。如需了解条件中的字段,请参阅指定条件
  6. 完成后,点击添加,然后点击下一步
  7. 应该收到通知的用户 (Who should be notified?) 下,点击通知渠道下拉列表,然后选择接收通知的方式。如需了解详情,请参阅管理通知渠道
  8. 点击确定,然后点击下一步
  9. 解决此问题的步骤 (What are the steps to fix the issue?) 下,设置提醒名称
  10. 点击保存

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

REDIS_ROLE_USED_ON_ORG

Redis IAM 角色在组织或文件夹级层分配。

以下 Redis IAM 角色应仅按项目(而不是在组织或文件夹级层)分配:

  • roles/redis.admin
  • roles/redis.viewer
  • roles/redis.editor

如需了解详情,请参阅访问权限控制和权限

要修复此发现结果,请执行以下操作:

  1. 转到“IAM 政策”页面。
    转到“IAM 政策”
  2. 移除发现结果中指明的 Redis IAM 角色,改为分别在每个项目上添加它们。

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

RSASHA1_FOR_SIGNING

RSASHA1 用于 Cloud DNS 区域中的密钥登录。 用于密钥签名的算法不应该是安全系数较低的算法。

要修复此发现结果,请根据使用高级签名选项指南将算法替换为建议的算法。

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

SERVICE_ACCOUNT_KEY_NOT_ROTATED

用户管理的服务帐号密钥超过 90 天未轮替。

用户管理的服务帐号密钥应每 90 天轮替一次,以确保无法使用可能已丢失、遭破解或被盗的旧密钥访问数据。如需了解详情,请参阅管理服务帐号密钥

要修复此发现结果,请执行以下操作:

  1. 转到服务帐号页面。
    转到“服务帐号”
  2. 如有必要,选择发现结果中指明的项目。
  3. 在服务帐号列表中,找到发现结果中列出的服务帐号,然后点击 删除。在继续操作之前,请考虑删除服务帐号可能对生产资源产生的影响。
  4. 创建新的服务帐号密钥以替换旧服务帐号密钥。如需了解详情,请参阅创建服务帐号密钥

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

SERVICE_ACCOUNT_ROLE_SEPARATION

您的组织中的一个或多个成员分配有多项服务帐号权限。任何帐号都不应同时拥有 Service Account Admin 和其他服务帐号权限。如需了解服务帐号及其可用角色,请参阅服务帐号

要修复此发现结果,请执行以下操作:

  1. 在 Cloud Console 中,转到 IAM 页面。
    转到 IAM
  2. 点击 Security Health Analytics 发现结果中列出的成员旁边的修改
  3. 如需移除权限,请点击 Service Account Admin 旁边的删除 。如果要移除所有服务帐号权限,请点击所有其他权限旁边的删除
  4. 点击保存
  5. 对 Security Health Analytics 发现结果中的每个成员重复上述步骤。

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

SHIELDED_VM_DISABLED

此 Compute Engine 实例上停用了安全强化型虚拟机。

安全强化型虚拟机是一种经过安全控制措施强化的 Google Cloud 虚拟机,可更好地抵御 rootkit 和 bootkit 攻击。安全强化型虚拟机有助于确保对启动加载程序和固件进行签名和验证。详细了解安全强化型虚拟机

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的虚拟机实例页面。
    转到“虚拟机实例”
  2. 选择与 Security Health Analytics 发现结果相关的实例。
  3. 在加载的实例详情页面上,点击 停止
  4. 实例停止后,点击 修改
  5. 安全强化型虚拟机部分,切换开启 vTPM开启完整性监控,以启用安全强化型虚拟机。
  6. 或者,如果您不使用任何自定义或未签名的驱动程序,则还启用安全启动
  7. 点击保存。新配置会显示在实例详情页面上。
  8. 点击 启动以启动实例。

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

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. 转到 Cloud Console 中的 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

Cloud SQL for SQL Server 数据库实例没有将包含的数据库身份验证数据库标志设置为关闭

包含的数据库身份验证标志用于控制是否可以创建包含的数据库或将包含的数据库关联到数据库引擎。包含的数据库包含定义数据库所需的所有数据库设置和元数据,并且对安装数据库的数据库引擎实例没有配置依赖项。

不建议启用此标志,原因如下:

  • 用户可以在数据库引擎级别连接到数据库,而无需身份验证。
  • 通过将数据库与数据库引擎隔离,您可以将数据库移至其他 SQL Server 实例。

包含的数据库面临独特的威胁,SQL Server 数据库引擎管理员应该了解并缓解此类威胁。大多数威胁都源于 USER WITH PASSWORD 身份验证流程,这会将身份验证边界从数据库引擎级别移至数据库级别。

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,将包含的数据库身份验证数据库标志的值设置为关闭
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_CROSS_DB_OWNERSHIP_CHAINING

Cloud SQL for SQL Server 数据库实例没有将 cross db ownership chainin 数据库标志设置为关闭

cross db ownership chaining 标志使您能够在数据库级控制跨数据库所有权链,也能够对所有数据库语句允许跨数据库所有权链。

除非 SQL Server 实例托管的所有数据库都参与跨数据库所有权链,并且您了解此设置的安全影响,否则建议不要启用此标志。

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,将 cross db ownership chaining 数据库标志的值设置为关闭
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_INSTANCE_NOT_MONITORED

日志指标和提醒未配置为监控 Cloud SQL实例配置更改。

SQL 实例选项配置错误可能会导致安全风险。停用自动备份和高可用性选项可能会影响业务连续性,不限制授权网络可能会增加遭到不受信任网络侵扰的风险。监控 SQL 实例配置的更改可帮助缩短检测和纠正配置错误的时间。

如需了解详情,请参阅基于日志的指标概览

如果信息量很大,Cloud Monitoring 的使用费有可能会非常高。若要了解该服务的使用及其费用,请参阅 Google Cloud 的运维套件的费用优化

要修复此发现结果,请执行以下操作:

创建指标

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 点击创建指标
  3. 指标类型下,选择计数器
  4. 详细信息下:
    1. 设置日志指标名称
    2. 添加说明
    3. 单位设为 1
  5. 过滤器选择下,复制以下文本并粘贴到构建过滤器框中,如有需要,替换现有文本:
      protoPayload.methodName="cloudsql.instances.update"
    
  6. 点击创建指标。 您将看到确认。

创建提醒政策

  1. 转到基于日志的指标页面。
    转到“基于日志的指标”
  2. 用户定义的指标部分中,选择您在上一部分中创建的指标。
  3. 点击更多 ,然后点击根据指标创建提醒。如果系统提示您将项目添加到 Workspace,请完成该过程。
  4. 在打开的页面中,点击导航菜单中的提醒
  5. What do you want to track? 下,点击添加条件并完成对话框,以定义监控哪些资源以及何时触发提醒。如需了解条件中的字段,请参阅指定条件
  6. 完成后,点击添加,然后点击下一步
  7. 应该收到通知的用户 (Who should be notified?) 下,点击通知渠道下拉列表,然后选择接收通知的方式。如需了解详情,请参阅管理通知渠道
  8. 点击确定,然后点击下一步
  9. 解决此问题的步骤 (What are the steps to fix the issue?) 下,设置提醒名称
  10. 点击保存

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

SQL_LOCAL_INFILE

Cloud SQL for MySQL 数据库实例没有将 local_infile 数据库标志设置为关闭。由于存在与 local_infile 标志相关的安全问题,因此应停用该标志。如需了解详情,请参阅配置数据库标志

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,将 local_infile 数据库标志的值设置为关闭
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_LOG_CHECKPOINTS_DISABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_checkpoints 数据库标志设置为开启

启用 log_checkpoints 会在服务器日志中记录检查点和重启点。某些统计信息包含在日志消息中,包括写入的缓冲区数量和写入缓冲区所用的时间。

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,将 log_checkpoints 数据库标志的值设置为开启
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_LOG_CONNECTIONS_DISABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_connections 数据库标志设置为开启

启用 log_connections 设置会记录尝试与服务器的连接,并且成功完成客户端身份验证。这些日志在排查问题以及确认尝试与服务器的异常连接方面非常有用。

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,将 log_connections 数据库标志的值设置为开启
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_LOG_DISCONNECTIONS_DISABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_disconnections 数据库标志设置为开启

启用 log_disconnections 设置后,系统会在每个会话结束时创建日志条目。这些日志可用于排查问题,并确认一段时间内的异常活动。如需了解详情,请参阅配置数据库标志

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,将 log_disconnections 数据库标志的值设置为开启
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_LOG_LOCK_WAITS_DISABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_lock_waits 数据库标志设置为开启

启用 log_lock_waits 设置后,如果会话获取锁的等待时间超过 deadlock_timeout 中的设置,系统就会创建日志条目。日志可用于确定锁等待时间是否会导致性能不佳。

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,将 log_lock_waits 数据库标志的值设置为开启
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

Cloud SQL for PostgreSQL 数据库实例没有将 log_min_duration_statement 数据库标志设置为 -1

log_min_duration_statement 标志会导致系统记录运行时间超过指定时间的 SQL 语句。请考虑停用此设置,因为 SQL 语句可能包含不应记录的敏感信息。如需了解详情,请参阅配置数据库标志

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,将 log_min_duration_statement 数据库标志的值设置为 -1
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_LOG_MIN_ERROR_STATEMENT

Cloud SQL for PostgreSQL 数据库实例的 log_min_duration_statement 数据库标志设置不正确。

log_min_error_statement 标志用于控制是否在服务器日志中记录会导致错误状况的 SQL 语句。系统会记录具有指定严重级别或更高严重级别的 SQL 语句以及针对错误语句返回的消息。严重级别越高,记录的消息数量就越多。

如果 log_min_error_statement 未设置为正确的值,系统可能不会将相应消息归类为错误消息。如果将严重级别设置得过低,会导致消息数量增加,使人难以找到实际错误。如果将严重级别设置得过高,可能会导致实际错误的相关消息得不到记录。

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

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,根据组织的日志记录政策,将 log_min_duration_statement 数据库标志的值设置为下列建议值之一。
    • debug5
    • debug4
    • debug3
    • debug2
    • debug1
    • info
    • notice
    • warning
    • error
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_LOG_TEMP_FILES

Cloud SQL for PostgreSQL 数据库实例没有将 log_temp_files 数据库标志设置为 0

您可以针对排序、哈希和临时查询结果创建临时文件。 将 log_temp_files 标志设置为 0 即可记录所有临时文件信息。记录所有临时文件有助于识别潜在的性能问题。 如需了解详情,请参阅配置数据库标志

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“Cloud SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 点击 修改
  4. 数据库标志部分下,将 log_temp_files 数据库标志的值设为 0
  5. 点击保存。新配置会显示在实例概览页面上。

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

SQL_NO_ROOT_PASSWORD

MySQL 数据库实例没有为根帐号设置密码。您应该为 MySQL 数据库实例添加密码。如需了解详情,请参阅 MySQL 用户

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud SQL 实例页面。
    转到“SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 在加载的实例详情页面上,选择用户标签页。
  4. 点击 root 用户旁边的更多 ,然后选择更改密码
  5. 输入新的安全系数高的密码,然后点击确定

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

SQL_PUBLIC_IP

Cloud SQL 数据库具有公共 IP 地址。

为了减小组织的受攻击面,Cloud SQL 数据库不应具有公共 IP。专用 IP 地址可为您的应用提高网络安全性并缩短延迟时间。

要修复此发现结果,请执行以下操作:

  1. 转到 Google Cloud Console 中的 Cloud SQL 实例页面。
    转到“SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 连接标签页上,取消选中公共 IP 复选框。
  4. 如果实例尚未配置为使用专用 IP,请参阅为现有实例配置专用 IP

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

SQL_WEAK_ROOT_PASSWORD

MySQL 数据库实例为根帐号设置了安全系数低的密码。应为实例设置安全系数高的密码。如需了解详情,请参阅 MySQL 用户

要修复此发现结果,请执行以下操作:

  1. 转到 Google Cloud Console 中的 Cloud SQL 实例页面。
    转到“SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 在加载的实例详情页面上,选择用户标签页。
  4. 点击 root 用户旁边的更多 ,然后选择更改密码
  5. 输入新的安全系数高的密码,然后点击确定

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

SSL_NOT_ENFORCED

Cloud SQL 数据库实例不要求所有传入连接使用 SSL。

为避免在未加密通信中泄露所传输的敏感数据,连至您的 SQL 数据库实例的所有传入连接都应使用 SSL。详细了解如何 配置 SSL/TLS

要修复此发现结果,请仅允许 SSL 连接您的 SQL 实例:

  1. 转到 Google Cloud Console 中的 Cloud SQL 实例页面。
    转到“SQL 实例”
  2. 选择 Security Health Analytics 发现结果中列出的实例。
  3. 连接标签页上,点击只允许 SSL 连接

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

TOO_MANY_KMS_USERS

将可使用加密密钥的主用户的数量限制为三个。以下预定义角色可以授予使用加密密钥对数据进行加密、解密或签名所需的权限:

  • roles/owner
  • roles/cloudkms.cryptoKeyEncrypterDecrypter
  • roles/cloudkms.cryptoKeyEncrypter
  • roles/cloudkms.cryptoKeyDecrypter
  • roles/cloudkms.signer
  • roles/cloudkms.signerVerifier

如需了解详情,请参阅权限和角色

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的 Cloud KMS 密钥页面。
    转到 Cloud KMS 密钥
  2. 点击发现结果中指明的密钥环的名称。
  3. 点击发现结果中指明的密钥的名称。
  4. 选中主要版本旁边的复选框,然后点击显示信息面板
  5. 将有权对数据进行加密、解密或签名的主用户的数量减少到三个或更少。要撤消权限,请点击每个成员旁边的删除

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

USER_MANAGED_SERVICE_ACCOUNT_KEY

用户管理服务帐号密钥。

服务帐号不应具有用户管理的密钥,因为它们很容易被泄露。如需了解详情,请参阅管理服务帐号密钥

要修复此发现结果,请执行以下操作:

  1. 转到服务帐号页面。
    转到“服务帐号”
  2. 如有必要,选择发现结果中指明的项目。
  3. 删除发现结果中指明的用户管理的服务帐号密钥(如果它们未被任何应用使用)。

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

WEAK_SSL_POLICY

Compute Engine 实例具有弱 SSL 政策。

HTTPS 和 SSL 代理负载平衡器使用 SSL 政策来确定在用户和互联网之间建立的 TLS 连接中使用的协议和加密套件。这些连接会对敏感数据进行加密,以防止恶意窃听者访问敏感数据。弱 SSL 政策允许使用过时 TLS 版本的客户端通过安全性较低的加密套件或协议进行连接。如需查看推荐的和过时的加密套件列表,请访问 [iana.org TLS 参数页面]。(https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4)

要修复此发现结果,请执行以下操作:

  1. 转到 Cloud Console 中的目标代理页面。
    转到“目标代理”
  2. 找到发现结果中指明的目标代理并记下使用者列中的转发规则。
  3. 要创建新的 SSL 政策或更新现有 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 政策应用于您之前记下的每个转发规则。

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

WEB_UI_ENABLED

GKE 网页界面(信息中心)已启用。

高度特权的 Kubernetes 服务帐号支持 Kubernetes 网页界面。如果泄露,则该服务帐号可能会被滥用。如果您已经在使用 Cloud Console,则 Kubernetes 网页界面会不必要地扩展您的攻击面。了解如何停用 Kubernetes 网页界面

要修复此发现结果,请停用 Kubernetes 网页界面:

  1. 转到 Cloud Console 中的 Kubernetes 集群页面。
    转到“Kubernetes 集群”
  2. 点击 Security Health Analytics 发现结果中列出的集群的名称。
  3. 点击 修改

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

  4. 点击插件。此部分将展开,显示可用的插件。

  5. Kubernetes 信息中心下拉列表中,请选择停用

  6. 点击保存

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

WORKLOAD_IDENTITY_DISABLED

在 GKE 集群上停用了 Workload Identity。

由于 Workload Identity 具有增强的安全属性和可管理性,因此它是在 GKE 中访问 Google Cloud 服务的推荐方法。启用 Workload Identity 可保护一些潜在的敏感系统元数据,确保集群上运行的用户工作负载无法对其进行不当访问。了解元数据隐藏

要修复此发现结果,请按照在集群上启用 Workload Identity 指南操作。

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