本页面介绍了如何使用 Security Command Center 管理 Security Health Analytics 发现结果。
Security Health Analytics 是 Security Command Center 中的一项内置服务,可扫描云环境中的资源,并针对检测到的任何配置错误发出发现结果。
如需接收 Security Health Analytics 发现结果,您必须在 Security Command Center 服务设置中启用该服务。
若要接收其他云平台的发现结果,Security Command Center 必须与其他云平台相关联。
您可以在 Google Cloud 控制台中使用 Security Command Center API 搜索 Security Command Analytics 检测器的发现结果,如果您使用的是 Security Command Center 的企业版层级,还可以在 Security Operations 控制台中搜索这些发现结果。
Security Command Center 大约会在服务启用一小时后开始扫描。在 Google Cloud 上,可采用两种模式运行:批处理模式(每天自动运行一次)和实时模式(根据资源配置更改运行扫描)。
Security Command Center 延迟时间概览中列出了不支持实时扫描模式的 Security Health Analytics 检测器。
Security Health Analytics 仅以批量模式扫描其他云平台。
准备工作
如需获得管理安全健康分析结果所需的权限,请让管理员向您授予组织、文件夹或项目的以下 IAM 角色:
-
启用和停用检测器:Security Center Settings Editor (
roles/securitycenter.settingsEditor
) -
查看和过滤发现结果:
Security Center Findings Viewer (
roles/securitycenter.findingsViewer
) -
管理忽略规则:Security Center Mute Configurations Editor (
roles/securitycenter.muteConfigsEditor
) -
管理安全标记:
Security Center Finding Security Marks Writer (
roles/securitycenter.findingSecurityMarksWriter
) -
以编程方式管理发现:
Security Center Findings Editor (
roles/securitycenter.findingsEditor
) -
向 VPC Service Controls 服务边界授予入站访问权限:
Access Context Manager Editor (
roles/accesscontextmanager.policyEditor
) -
完成此页面上的任意任务:
Security Center Settings Admin (
roles/securitycenter.settingsAdmin
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
启用和停用检测器
停用检测器可能会影响活跃的发现结果的状态。停用检测器后,现有发现结果会自动标记为非活跃。
在组织级层激活 Security Command Center 时,您可以为特定文件夹或项目停用 Security Health Analytics 或特定检测器。如果为文件夹和项目关闭 Security Health Analytics 或检测器,则与这些资源中的资产关联的任何现有发现结果都会被标记为非活跃。
以下适用于 Google Cloud 的 Security Health Analytics 检测器默认处于停用状态:
ALLOYDB_AUTO_BACKUP_DISABLED
ALLOYDB_CMEK_DISABLED
BIGQUERY_TABLE_CMEK_DISABLED
BUCKET_CMEK_DISABLED
CLOUD_ASSET_API_DISABLED
DATAPROC_CMEK_DISABLED
DATASET_CMEK_DISABLED
DISK_CMEK_DISABLED
DISK_CSEK_DISABLED
NODEPOOL_BOOT_CMEK_DISABLED
PUBSUB_CMEK_DISABLED
SQL_CMEK_DISABLED
SQL_NO_ROOT_PASSWORD
SQL_WEAK_ROOT_PASSWORD
VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED
如需启用或停用 Security Health Analytics 检测模块,请执行以下操作:
控制台
您可以在 Google Cloud 控制台的 Security Command Center 设置中的 Security Health Analytics 页面模块标签页中启用或停用检测器。您可以在组织级或项目级启用或停用这些检测器。
gcloud
如需启用检测器(也称为“模块”),请运行 gcloud alpha scc settings services modules enable
命令。
如果您在组织级层激活 Security Command Center,请运行以下命令:
gcloud alpha scc settings services modules enable \
--organization=ORGANIZATION_ID \
--service=SECURITY_HEALTH_ANALYTICS \
--module=DETECTOR_NAME
替换以下内容:
ORGANIZATION_ID
:您的组织 ID。DETECTOR_NAME
:您要启用的检测器的名称
如果您在项目级层激活 Security Command Center,请运行以下命令:
gcloud alpha scc settings services modules enable \
--project=PROJECT_ID \
--service=SECURITY_HEALTH_ANALYTICS \
--module=DETECTOR_NAME
替换以下内容:
PROJECT_ID
:您的项目 IDDETECTOR_NAME
:您要启用的检测器的名称
如需停用检测器,请运行 gcloud alpha scc settings services modules disable
命令。
如果您在组织级层激活 Security Command Center,请运行以下命令:
gcloud alpha scc settings services modules disable \
--organization=ORGANIZATION_ID \
--service=SECURITY_HEALTH_ANALYTICS \
--module=DETECTOR_NAME
替换以下内容:
ORGANIZATION_ID
:您的组织 ID。DETECTOR_NAME
:您要停用的检测器的名称
如果您在项目级层激活 Security Command Center,请运行以下命令:
gcloud alpha scc settings services modules disable \
--project=PROJECT_ID \
--service=SECURITY_HEALTH_ANALYTICS \
--module=DETECTOR_NAME
替换以下内容:
PROJECT_ID
:您的项目 IDDETECTOR_NAME
:您要停用的检测器的名称
在 Google Cloud 控制台中过滤发现结果
大型组织在其部署过程中可能有很多漏洞发现结果,以进行审核、分类和跟踪。通过使用 Google Cloud 控制台中 Security Command Center 的漏洞和发现结果页面上提供的过滤条件,您可以专注于整个组织内最严重的漏洞,并按资产类型、项目等审核漏洞。
如需详细了解如何过滤漏洞发现结果,请参阅在 Security Command Center 中过滤漏洞发现结果。
通过案例管理发现结果
对于严重程度为 HIGH
或 CRITICAL
的漏洞和配置错误发现结果,Security Command Center 会自动在安全运维控制台中打开支持请求。一个支持请求可以包含多个相关的发现。
您可以使用此支持请求(可与首选工单系统集成),通过分配负责人、查看相关信息,以及使用手册自动执行响应工作流,来管理调查结果和问题的修复。
如果某项发现结果有对应的支持请求,您可以在该发现结果的详情页面上找到指向其支持请求的链接。在 Google Cloud 控制台中的发现结果页面中,打开相应发现结果的详情页面。您还可以在 Google Cloud 控制台的风险概览页面上查看未解决的漏洞问题总数。
如需详细了解支持请求,请参阅支持请求概览。
忽略发现的结果
如需控制 Google Cloud 控制台中的发现结果量,您可以手动或以编程方式忽略各个发现结果,或者创建根据您定义的过滤条件自动忽略发现结果的忽略规则。您可以使用两种类型的静音规则来控制发现音量:
- 会无限期忽略未来发现结果的静态忽略规则。
- 动态忽略规则,其中包含用于暂时忽略当前和未来发现结果的选项。
我们建议您仅使用动态屏蔽规则,以减少需要手动审核的发现数量。为避免混淆,我们不建议同时使用静态和动态静音规则。如需比较这两种规则类型,请参阅静音规则类型。
您在 Google Cloud 控制台中忽略的发现结果会被隐藏和抑制,但会继续记录以用于审核和合规性目的。您可以随时查看已忽略的发现结果或将其取消忽略。如需了解详情,请参阅在 Security Command Center 中忽略发现结果。
使用安全标记标记资源和发现结果
您可以使用安全标记在 Security Command Center 中将自定义属性添加到发现结果和资源。安全标记使您能够识别优先级高的感兴趣的地区,如生产项目、使用错误和突发事件跟踪编号标记发现结果等。
对于资产,您只能向 Security Command Center 支持的资产添加安全标记。如需查看支持的资产列表,请参阅 Security Command Center 中支持的资产类型。
将资源添加到许可名单
虽然这不是推荐的方法,但您可以通过向资产添加专用安全标记来禁止不需要的发现结果,这样 Security Health Analytics 检测器就不会为这些资产创建安全发现结果。
推荐最有效的控制发现结果数量的方法是忽略发现结果。忽略不需要查看的发现结果,因为这些发现结果针对的是被隔离的资产,或者在可接受的业务参数范围内。
将专用安全标记应用于资产后,系统会将资产添加到 Security Health Analytics 的许可名单中,从而在下一次批量扫描期间将这些资产的所有发现结果标记为已解决。
专用安全标记必须直接应用于资源,而不是发现结果,如本页面稍后部分许可名单的工作原理中所述。如果您将标记应用于发现结果,则底层资源仍然可以生成发现结果。
许可名单的工作原理
每个 Security Health Analytics 检测器都有一个许可名单的专用标记类型,格式为 allow_FINDING_TYPE:true
。通过向 Security Command Center 支持的资产添加此专用标记,您可以从检测政策中排除该资产。
例如,如需排除发现结果类型 SSL_NOT_ENFORCED
,请在相关 Cloud SQL 实例上设置安全标记 allow_ssl_not_enforced:true
。指定的检测器不会为已标记资源创建发现结果。
如需查看发现结果类型的完整列表,请参阅 Security Health Analytics 检测器列表。 如需详细了解安全标记及其使用方法,请参阅使用安全标记。
资产类型
本部分介绍如何将安全标记用于不同的资源。
许可名单资源:当您向资源(如 Cloud Storage 存储分区或防火墙)添加专用标记时,系统会在下次批量扫描运行时将发现结果标记为已解决。在移除该标记之前,检测器不会为资源生成新的发现结果或更新现有发现结果。
许可名单项目:向项目资源添加标记时,将解决扫描项目或目标资源本身的发现。但是,项目中包含的资源(例如虚拟机或加密密钥)仍然可以生成发现结果。只有当您在组织级层激活 Security Command Center 高级层级时,此安全标记才可用。
许可名单文件夹:向文件夹资源添加标记时,将解决扫描文件夹或目标资源本身的发现。但是,包含在文件夹内的资源(包括项目)仍然可以生成发现结果。只有当您在组织级层激活 Security Command Center 高级层级时,此安全标记才可用。
支持多个资源的检测器:如果检测器支持多种资源类型,那么您必须为每个资源应用专用标记。例如,
KMS_PUBLIC_KEY
检测器支持CryptoKey
和KeyRing
Cloud Key Management Service 资源。如果您将allow_kms_public_key:true
标记应用于CryptoKey
资源,则该资源的KMS_PUBLIC_KEY
发现结果将得到解析。不过,系统仍会为KeyRing
资产生成发现结果。
安全标记仅在批量扫描期间更新,不支持实时扫描更新。如果移除了某个专用安全标记,而且该资源存在漏洞,且删除该标记并写入发现结果,可能需要最长 24 小时。
特殊案例检测器:客户提供的加密密钥
DISK_CSEK_DISABLED
检测器默认处于关闭状态。要使用此检测器,您必须标记要使用自行管理的加密密钥的资源。
如需为特定资源启用 DISK_CSEK_DISABLED
检测器,请将安全标记
enforce_customer_supplied_disk_encryption_keys
应用于值为 true
的资源。
按发现结果类型查看有效的发现结果数量
您可以使用 Google Cloud 控制台或 Google Cloud CLI 命令按发现结果类型查看有效的发现结果数量。
控制台
借助 Google Cloud 控制台,您可以查看每种发现类型的有效发现结果数量。
如要按发现类型查看 Security Health Analytics 发现结果,请执行以下操作:
转到 Google Cloud 控制台中的 Security Command Center。
要显示 Security Health Analytics 的发现结果,请点击漏洞页面。
要按每种发现结果类型的有效发现结果数量对发现结果排序,请点击有效列标题。
gcloud
如需使用 gcloud CLI 获取所有有效发现结果的数量,请查询 Security Command Center 以获取 Security Health Analytics 来源 ID。然后使用来源 ID 来查询有效发现结果数量。
第 1 步:获取来源 ID
如需获取来源 ID,请运行以下命令之一:
如果您在组织级层激活 Security Command Center,请运行以下命令:
gcloud scc sources describe organizations/ORGANIZATION_ID \ --source-display-name="Security Health Analytics"
如果您在项目级层激活 Security Command Center,请运行以下命令:
gcloud scc sources describe projects/PROJECT_ID \ --source-display-name="Security Health Analytics"
如果您尚未启用 Security Command Center API,系统会提示您启用它。启用 Security Command Center API 后,再次运行上一个命令。该命令应显示如下输出:
description: Scans for deviations from a GCP security baseline.
displayName: Security Health Analytics
name: organizations/ORGANIZATION_ID/sources/SOURCE_ID
请记下要在下一步中使用的 SOURCE_ID
。
第 2 步:获取有效的发现结果数量
使用您在上一步中记下的 SOURCE_ID
以过滤来自 Security Health Analytics 的发现结果。以下 gcloud CLI 命令会按类别返回发现结果数。
如果您在组织级层激活 Security Command Center,请运行以下命令:
gcloud scc findings group organizations/ORGANIZATION_ID/sources/SOURCE_ID \ --group-by=category --page-size=PAGE_SIZE
如果您在项目级层激活 Security Command Center,请运行以下命令:
gcloud scc findings group projects/PROJECT_ID/sources/SOURCE_ID \ --group-by=category --page-size=PAGE_SIZE
您可以将页面大小设置为不超过 1000 的任意值。该命令应显示如下所示的输出,其中包含来自贵组织的结果:
groupByResults:
- count: '1'
properties:
category: MFA_NOT_ENFORCED
- count: '3'
properties:
category: ADMIN_SERVICE_ACCOUNT
- count: '2'
properties:
category: API_KEY_APIS_UNRESTRICTED
- count: '1'
properties:
category: API_KEY_APPS_UNRESTRICTED
- count: '2'
properties:
category: API_KEY_EXISTS
- count: '10'
properties:
category: AUDIT_CONFIG_NOT_MONITORED
- count: '10'
properties:
category: AUDIT_LOGGING_DISABLED
- count: '1'
properties:
category: AUTO_UPGRADE_DISABLED
- count: '10'
properties:
category: BUCKET_IAM_NOT_MONITORED
- count: '10'
properties:
category: BUCKET_LOGGING_DISABLED
nextPageToken: TOKEN
readTime: '2023-08-05T21:56:13.862Z'
totalSize: 50
以编程方式管理发现结果
通过将 Google Cloud CLI 与 Security Command Center SDK 结合使用,您可以自动执行通过 Google Cloud 控制台中的 Security Command Center 可完成的几乎所有操作。您还可以使用 gcloud CLI 修复许多发现结果。如需了解详情,请查看每个发现结果中所述资源类型的文档:
如需以编程方式导出或列出资产,请使用 Cloud Asset Inventory API。如需了解详情,请参阅导出资产历史记录和元数据。
Security Command Center API 的资产方法和字段已废弃,将于 2024 年 6 月 26 日当天或之后移除。
移除之前,在 2023 年 6 月 26 日之前激活了 Security Command Center 的用户可以使用 Security Command Center API 的资产方法列出资产,但这些方法仅支持 Security Command Center 支持的资产。
如需了解如何使用已弃用的资产 API 方法,请参阅列出资产。
扫描受服务边界保护的项目
此功能仅在组织级层激活 Security Command Center 高级层级时才可用。
如果您的服务边界阻止对某些项目和服务的访问,那么您必须向 Security Command Center 服务账号授予对该服务边界的入站访问权限。否则,Security Health Analytics 将无法生成与受保护项目和服务相关的发现结果。
服务账号的标识符是具有以下格式的电子邮件地址:
service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com
将 ORGANIZATION_ID
替换为组织的数字标识符。
如需向服务账号授予对服务边界的入站访问权限,请按以下步骤操作。
转到 VPC Service Controls。
在工具栏中,选择您的 Google Cloud 组织。
在下拉列表中,选择包含要授予访问权限的服务边界的访问权限政策。
与访问权限政策关联的服务边界将显示在列表中。
点击服务边界的名称。
点击
修改边界。在导航菜单中,点击入站流量政策。
点击添加规则。
按如下方式配置规则:
API 客户端的“来自于”特性
- 在来源部分,选择所有来源。
- 在身份部分,选择选定的身份。
- 在添加用户/服务账号字段中,点击选择。
- 输入服务账号电子邮件地址。 如果您同时拥有组织级层和项目级层服务账号,请同时添加这两个服务账号。
- 点击保存。
GCP 服务/资源的“至”特性
-
对于项目,选择所有项目。
对于服务,请选择所有服务,或选择 Security Health Analytics 需要的以下各项服务:
- BigQuery API
- Binary Authorization API
- Cloud Logging API
- Cloud Monitoring API
- Compute Engine API
- Kubernetes Engine API
如果服务边界限制对某项必需服务的访问,则 Security Health Analytics 无法为该服务生成发现结果。
在导航菜单中,点击保存。
如需了解详情,请参阅配置入站和出站政策。
后续步骤
- 了解 Security Health Analytics 检测器和发现结果。
- 阅读有关修复 Security Health Analytics 发现结果的建议。
- 了解如何使用 Security Command Center 安全标记。
- 了解支持请求。
- 详细了解如何在 Google Cloud 控制台中使用 Security Command Center 来查看资产和发现结果。