将 Google Cloud 数据注入到 Google Security Operations
本页介绍了如何启用和停用 Google Cloud 将数据注入到 Google SecOps。这样,您就可以根据数据保留期限,存储、搜索和检查企业在过去几个月或更长时间内的汇总安全信息。
概览
您可以通过以下两种方式将 Google Cloud 数据发送到 Google SecOps。选择合适的选项取决于日志类型。
选项 1:直接提取
您可以在 Google Cloud 中配置特殊的 Cloud Logging 过滤条件,以将特定类型的日志实时发送到 Google SecOps。这些日志由 Google Cloud 服务生成。系统会从配置过滤条件的时间开始收集日志。配置之前生成的日志不包含在内。 此实时转发功能适用于 Cloud Logging、Cloud 资产元数据和 Security Command Center Premium 发现结果。
Google Security Operations 仅提取受支持的日志类型。可用的日志类型包括:
- Cloud Audit Logs
- Cloud NAT
- Cloud DNS
- Cloud 新一代防火墙
- Cloud Intrusion Detection System
- Cloud Load Balancing
- Cloud SQL
- Windows 事件日志
- Linux syslog
- Linux Sysmon
- Zeek
- Google Kubernetes Engine
- 审核守护程序 (
auditd
) - Apigee
- reCAPTCHA Enterprise
- Cloud Run 日志 (
GCP_RUN
) - Google Cloud 滥用事件
如需详细了解特定日志过滤条件和更多提取详情,请参阅将 Google Cloud 日志导出到 Google SecOps。
您还可以发送用于丰富上下文的 Google Cloud 资源元数据。 如需了解详情,请参阅将 Google Cloud 资产元数据导出到 Google SecOps。
选项 2: Google Cloud 存储空间
Cloud Logging 可以由 Google SecOps 按照预定时间表将日志路由到 Cloud Storage。
如需详细了解如何为 Google SecOps 配置 Cloud Storage,请参阅Feed 管理:Cloud Storage。
准备工作
在将 Google Cloud 数据注入到 Google SecOps 实例之前,您必须完成以下步骤:
在组织级层授予以下 Identity and Access Management (IAM) 角色,以访问“Google SecOps”部分:
- Chronicle Service Admin (
roles/chroniclesm.admin
):用于执行所有活动的 IAM 角色。 - Chronicle Service Viewer (
roles/chroniclesm.viewer
):IAM 角色,仅可查看提取状态。 - Security Center Admin Editor (
roles/securitycenter.adminEditor
):启用 Cloud 资产元数据注入功能时需要此角色。
- Chronicle Service Admin (
如果您计划启用 Cloud 资产元数据,则必须让组织开始使用 Security Command Center。 如需了解详情,请参阅组织级激活概览。
授予 IAM 角色
您可以使用 Google Cloud 控制台或使用 gcloud CLI 授予所需的 IAM 角色。
如需使用 Google Cloud 控制台授予 IAM 角色,请完成以下步骤:
登录要连接到的 Google Cloud 组织,然后使用产品 > IAM 和管理 > IAM 前往 IAM 界面。
在 IAM 界面中,选择相应用户,然后点击修改成员。
在“修改权限”界面中,点击添加其他角色,然后搜索 Google SecOps 以查找 IAM 角色。
分配角色后,点击保存。
如需使用 Google Cloud CLI 授予 IAM 角色,请完成以下步骤:
运行
gcloud init
以验证您是否已登录正确的组织和项目。如需使用
gcloud
授予 Chronicle 服务管理员 IAM 角色,请运行以下命令:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member "user:USER_EMAIL" \ --role roles/chroniclesm.admin
替换以下内容:
ORGANIZATION_ID
:组织的数字 ID。USER_EMAIL
:用户的电子邮件地址。
如需使用
gcloud
授予 Chronicle Service Viewer IAM 角色,请运行以下命令:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member "user:USER_EMAIL" \ --role roles/chroniclesm.viewer
如需使用
gcloud
授予“安全中心管理员编辑者”角色,请运行以下命令:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member "user:USER_EMAIL" \ --role roles/securitycenter.adminEditor`
启用从 Google Cloud直接提取数据
启用从 Google Cloud 直接提取数据的步骤因 Google SecOps 实例所绑定项目的归属而异。
如果该账号绑定到您拥有和管理的项目,请按照配置客户自有项目的提取中的步骤操作。 此方法可让您配置来自多个 Google Cloud 组织的数据注入。
如果该项目由 Google Cloud 拥有和管理,请按照为 Google 管理的项目配置数据提取中的步骤操作。
配置直接注入后,您的 Google Cloud 数据会发送到 Google SecOps。 您可以使用 Google SecOps 的分析功能调查安全相关问题。
在项目归客户所有时配置提取
如果您是 Google Cloud 项目的业主,请执行以下步骤。
您可以使用同一项目级配置页面配置来自多个组织的直接提取。请按照以下步骤创建新配置并修改现有配置。
如果您迁移现有 Google SecOps 实例,使其绑定到您拥有的项目,并且在迁移之前配置了直接注入,则直接注入配置也会一并迁移。
- 在 Google Cloud 控制台中,依次前往 Google SecOps > 数据提取设置页面。
前往 Google SecOps 页面 - 选择与您的 Google SecOps 实例绑定的项目。
在组织菜单中,选择要从中导出日志的组织。 该菜单会显示您有权访问的组织。该列表可以包含未与 Google SecOps 实例相关联的组织。您无法配置将数据发送到其他 Google SecOps 实例的组织。
在 Google Cloud 注入设置部分下,点击将数据发送到 Google Security Operations 切换开关,以启用将日志发送到 Google SecOps 的功能。
选择以下一个或多个选项,以定义发送到 Google SecOps 的数据类型:
- Google Cloud Logging:如需详细了解此选项,请参阅导出 Google Cloud 日志。
- Cloud Asset 元数据:如需详细了解此选项,请参阅导出 Google Cloud 资产元数据。
- Security Center 专业版发现结果:如需详细了解此选项,请参阅导出 Security Center 专业版发现结果。
在客户导出过滤条件设置部分下,配置导出过滤条件,以自定义发送到 Google SecOps 的 Cloud Logging 数据。请参阅支持导出的Google Cloud 日志类型。
如需将其他组织的日志注入到同一 Google SecOps 实例,请从组织菜单中选择相应组织,然后重复上述步骤,定义要导出的数据类型和导出过滤条件。 您会在组织菜单中看到列出的多个组织。
如需将 Sensitive Data Protection 数据(之前称为 Google Cloud Data Loss Prevention 数据)导出到 Google SecOps,请参阅导出 Sensitive Data Protection 数据。
为 Google 管理的项目配置提取
如果 Google Cloud 拥有该项目,请执行以下操作,以配置从 Google Cloud 组织直接向您的 Google SecOps 实例提取数据:
- 在 Google Cloud 控制台中,依次前往 Google SecOps > 概览 > 提取标签页。 前往 Google SecOps“注入”标签页
- 点击管理组织提取设置按钮。
- 如果系统显示项目无法查看此页面消息,请选择一个组织,然后点击选择。
- 在一次性 Google SecOps 访问代码字段中输入一次性访问代码。
- 勾选我同意有关 Google SecOps 如何使用我的 Google Cloud 数据的条款及条件复选框。
- 点击连接 Google SecOps。
- 前往组织的全局提取设置标签页。
启用以下一个或多个选项,选择要发送的数据类型:
- Google Cloud Logging:如需详细了解此选项,请参阅导出 Google Cloud 日志。
- Cloud 资产元数据:如需详细了解此选项,请参阅导出 Google Cloud 资产元数据。
- Security Center 专业版发现结果:如需详细了解此选项,请参阅导出 Security Center 专业版发现结果。
前往导出过滤条件设置标签页。
在客户导出过滤条件设置部分下,配置导出过滤条件,以自定义发送到 Google SecOps 的 Cloud Logging 数据。请参阅支持导出的Google Cloud 日志类型。
如需将 Sensitive Data Protection 数据(之前称为 Google Cloud Data Loss Prevention 数据)导出到 Google SecOps,请参阅导出 Sensitive Data Protection 数据。
导出 Google Cloud 日志
启用 Cloud Logging 后,您可以将受支持的Google Cloud 日志类型对应的日志数据导出到您的 Google SecOps 实例。
如需将 Google Cloud 日志导出到 Google SecOps,请将启用 Cloud 日志切换开关设置为已启用。
支持导出的日志类型
您可以自定义导出过滤条件,以指定要将哪些日志导出到 Google SecOps。通过添加或移除本部分中列出的受支持的导出过滤条件,您可以包含或排除日志类型。
您可以将以下 Google Cloud 日志类型导出到 Google SecOps 实例。以下列表按日志类型和相应的 Google SecOps 注入标签进行整理:
Cloud Audit Logs (
GCP_CLOUDAUDIT
):这包括:管理员活动、访问、系统事件、Access Transparency 和政策拒绝日志。
log_id("cloudaudit.googleapis.com/activity")
(由默认过滤条件导出)log_id("cloudaudit.googleapis.com/system_event")
(由默认过滤条件导出)log_id("cloudaudit.googleapis.com/policy")
log_id("cloudaudit.googleapis.com/access_transparency")
Cloud NAT 日志 (
GCP_CLOUD_NAT
):log_id("compute.googleapis.com/nat_flows")
Cloud DNS 日志 (
GCP_DNS
):log_id("dns.googleapis.com/dns_queries")
(由默认过滤条件导出)
Cloud 新一代防火墙日志 (
GCP_FIREWALL
):log_id("compute.googleapis.com/firewall")
GCP_IDS
:log_id("ids.googleapis.com/threat")
log_id("ids.googleapis.com/traffic")
GCP_LOADBALANCING
:这包括来自 Google Cloud Armor 和 Cloud Load Balancing 的日志。
log_id("requests")
GCP_CLOUDSQL
:log_id("cloudsql.googleapis.com/mysql-general.log")
log_id("cloudsql.googleapis.com/mysql.err")
log_id("cloudsql.googleapis.com/postgres.log")
log_id("cloudsql.googleapis.com/sqlagent.out")
log_id("cloudsql.googleapis.com/sqlserver.err")
NIX_SYSTEM
:log_id("syslog")
log_id("authlog")
log_id("securelog")
log_id("osconfig.googleapis.com/patch_job")
LINUX_SYSMON
:log_id("sysmon.raw")
WINEVTLOG
:log_id("winevt.raw")
log_id("windows_event_log")
BRO_JSON
:log_id("zeek_json_streaming_conn")
log_id("zeek_json_streaming_dhcp")
log_id("zeek_json_streaming_dns")
log_id("zeek_json_streaming_http")
log_id("zeek_json_streaming_ssh")
log_id("zeek_json_streaming_ssl")
KUBERNETES_NODE
:log_id("events")
log_id("stdout")
log_id("stderr")
AUDITD
:log_id("audit_log")
GCP_APIGEE_X
:log_id("apigee.googleapis.com/ingress_instance")
log_id("apigee.googleapis.com")
log_id("apigee-logs")
log_id("apigee")
logName =~ "^projects/[\w\-]+/logs/apigee[\w\-\.]*$"
GCP_RECAPTCHA_ENTERPRISE
:log_id("recaptchaenterprise.googleapis.com/assessment")
log_id("recaptchaenterprise.googleapis.com/annotation")
GCP_RUN
:log_id("run.googleapis.com/stderr")
log_id("run.googleapis.com/stdout")
log_id("run.googleapis.com/requests")
log_id("run.googleapis.com/varlog/system")
GCP_NGFW_ENTERPRISE
:log_id("networksecurity.googleapis.com/firewall_threat")
GCP_ABUSE_EVENTS
:log_id("abuseevent.googleapis.com/abuseevent")
自定义导出过滤条件设置
默认情况下,您的 Cloud Audit Logs(管理员活动和系统事件)和 Cloud DNS 日志会发送到您的 Google SecOps 实例。不过,您可以自定义导出过滤条件以包含或排除特定类型的日志。
如需为日志定义自定义过滤条件,请执行以下操作:
使用日志范围限定工具确定自定义过滤条件的日志。
在日志范围限定工具后面的自动生成的日志过滤条件部分中,复制生成的自定义日志过滤条件代码。
前往 Google Cloud 控制台中的 Google SecOps 页面,然后选择一个项目。
前往 Google SecOps 页面使用导出过滤条件设置标签页上的链接启动日志浏览器。
将新查询复制到查询字段中,然后点击运行查询进行测试。
将新查询复制到日志浏览器 > 查询字段中,然后点击运行查询进行测试。
验证日志浏览器中显示的匹配日志正是您要导出到 Google SecOps 的日志。过滤条件准备就绪后,将其复制到 Google SecOps 的自定义导出过滤条件设置部分。
返回到 Google SecOps 页面上的自定义导出过滤条件设置部分。
点击导出过滤条件字段中的修改图标,然后将复制的过滤条件粘贴到该字段中。
点击保存。
如果出现以下错误消息:“所提供的过滤条件可能会允许不受支持的日志类型”,则导出过滤条件中可能包含不受支持的日志类型。从导出过滤条件中移除不受支持的日志类型。仅包含以下文档中列出的日志类型:支持导出的日志类型。Google Cloud
如果保存成功,新的自定义过滤条件适用于导出到 Google SecOps 实例的所有新日志。
可选:如需将导出过滤条件重置为默认版本,请保存自定义过滤条件的副本,然后点击重置为默认值。
调整 Cloud Audit Logs 过滤条件
Cloud Audit Logs 写入的数据访问日志可能会产生大量数据,但对威胁检测的价值不大。如果您选择将这些日志发送到 Google SecOps,则应过滤掉由常规活动生成的日志。
以下导出过滤条件可捕获数据访问日志,并排除 Cloud Storage 和 Cloud SQL 的读取和列出操作等高容量事件:
( log_id("cloudaudit.googleapis.com/data_access")
AND NOT protoPayload.methodName =~ "^storage\.(buckets|objects)\.(get|list)$"
AND NOT protoPayload.request.cmd = "select"
AND NOT protoPayload.methodName =~ "^google\.spanner\.v1\.Spanner\.(ExecuteStreamingSql|BeginTransaction|Commit)$" )
如需详细了解如何调整 Cloud Audit Logs 生成的数据访问日志,请参阅管理数据访问审核日志的量。
导出过滤条件示例
以下导出过滤条件示例说明了如何包含或排除某些类型的日志以导出或防止导出到您的 Google SecOps 实例。
导出过滤条件示例:包含其他日志类型
除默认日志外,以下导出过滤条件还会导出 Access Transparency 日志:
log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
log_id("cloudaudit.googleapis.com/access_transparency")
导出过滤条件示例:包含特定项目中的其他日志
除默认日志外,以下导出过滤条件还会从特定项目导出 Access Transparency 日志:
log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "projects/my-project-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"
导出过滤条件示例:包含特定文件夹中的其他日志
除默认日志外,以下导出过滤条件还会从特定文件夹导出 Access Transparency 日志:
log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "folders/my-folder-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"
导出过滤条件示例:排除特定项目中的日志
以下导出过滤条件会从整个 Google Cloud 组织(特定项目除外)导出默认日志:
(log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event")) AND
(NOT logName =~ "^projects/my-project-id/logs/.*$")
导出 Google Cloud 资产元数据
您可以将 Cloud Asset Inventory 中的 Google Cloud 资产元数据导出到 Google SecOps。 此资产元数据是从 Cloud Asset Inventory 中提取的;这些数据包含有关您的资产、资源和身份的信息,其中包括以下内容:
- 环境
- 位置
- 可用区
- 硬件型号
- 资源和身份之间的访问权限控制关系
以下类型的 Google Cloud 资产元数据将导出到您的 Google SecOps 实例:
GCP_BIGQUERY_CONTEXT
GCP_COMPUTE_CONTEXT
GCP_IAM_CONTEXT
GCP_IAM_ANALYSIS
GCP_STORAGE_CONTEXT
GCP_CLOUD_FUNCTIONS_CONTEXT
GCP_SQL_CONTEXT
GCP_NETWORK_CONNECTIVITY_CONTEXT
GCP_RESOURCE_MANAGER_CONTEXT
以下是 Google Cloud 资产元数据的示例:
- 应用名称—
Google-iamSample/0.1
- 项目名称—
projects/my-project
如需将 Google Cloud 资产元数据导出到 Google SecOps,请将云资产元数据切换开关设置为已启用。
如需详细了解如何导出特定情境日志并将其注入到 Google SecOps 中,请参阅默认解析器配置和注入,然后搜索“情境”或“分析”。
导出 Security Command Center 发现结果
您可以将 Security Command Center 高级方案的 Event Threat Detection 发现结果和所有其他发现结果导出到 Google SecOps。
如需详细了解 ETD 发现结果,请参阅 Event Threat Detection 概览。
如需将 Security Command Center Premium 发现结果导出到 Google SecOps,请将 Security Command Center Premium 发现结果切换开关设置为已启用。
导出 Sensitive Data Protection 数据
您可以将 Sensitive Data Protection 数据导出到 Google SecOps。
如需注入 Sensitive Data Protection 资源元数据 (DLP_CONTEXT
),请执行以下操作:
- 完成本文档中的上一部分,以启用 Google Cloud 数据注入。
- 将 Sensitive Data Protection 配置为分析数据。
- 将扫描配置设置为发布数据剖析文件到 Google SecOps。
如需详细了解如何为 BigQuery 数据创建数据剖析文件,请参阅敏感数据保护文档。
停用 Google Cloud 数据注入
停用从 Google Cloud 直接注入数据的步骤因 Google SecOps 的配置方式而异。请按以下方式之一操作:
如果您的 Google SecOps 实例绑定到您拥有和管理的项目,请执行以下步骤:
- 选择与您的 Google SecOps 实例绑定的项目。
- 在 Google Cloud 控制台中,前往 Google SecOps 下的提取标签页。
前往 Google SecOps 页面 - 在组织菜单中,选择要从中导出日志的组织。
- 将将数据发送到 Google Security Operations 切换开关设置为已停用。
- 如果您配置了从多个组织导出数据,并且还想停用这些配置,请针对每个组织执行以下步骤。
如果您的 Google SecOps 实例绑定到您 Google Cloud 拥有和管理的 Google Cloud 项目,请执行以下步骤:
的流程,以重启日志提取。- 在 Google Cloud 控制台中,前往 Google SecOps > 数据提取页面。
前往 Google SecOps 页面 - 在资源菜单中,选择与您的 Google SecOps 实例绑定且您正在从中提取数据的组织。
- 勾选标有我想要断开 Google SecOps 连接并停止将 Google Cloud 日志发送到 Google SecOps 的复选框。
- 点击断开 Google SecOps 连接。
- 在 Google Cloud 控制台中,前往 Google SecOps > 数据提取页面。
控制注入速率
当租户的数据注入速率达到一定阈值时,Google Security Operations 会限制新数据源的提取速率,以防止提取速率较高的来源影响其他数据源的提取速率。在这种情况下,虽然会有延迟,但不会丢失数据。阈值由提取量和租户的使用情况历史记录决定。
您可以联系 Cloud Customer Care 来申请提高速率限制。
问题排查
- 如果 Google SecOps 实例中缺少资源和身份之间的关系,请停用然后重新启用将日志数据直接注入到 Google SecOps 的功能。
- Google Cloud 资产元数据会定期提取到 Google SecOps 中。请等待几个小时,以便在 Google SecOps 界面和 API 中看到更改。
向导出过滤条件添加日志类型时,您可能会看到以下消息:“所提供的过滤条件可能会允许不受支持的日志类型”。
解决方法:仅在导出过滤条件中包含以下列表中的日志类型:Google Cloud 支持导出的日志类型。
后续步骤
- 使用您的 Google SecOps 代表提供的客户专用网址打开您的 Google SecOps 实例。
- 详细了解 Google SecOps。
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。