收集 Neo4j Aura 日志
本文档介绍了如何使用 Google Cloud Storage V2 将 Neo4j Aura 日志注入到 Google Security Operations。
Neo4j Aura 是一项全代管式云图数据库服务。它提供安全日志和查询日志,这些日志可以转发到 Google Cloud Logging,适用于 AuraDB Business Critical、AuraDB Virtual Dedicated Cloud 和 AuraDS Enterprise 层级。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 启用了 Cloud Storage API 的 GCP 项目
- 创建和管理 GCS 存储分区的权限
- 管理 GCS 存储分区的 IAM 政策的权限
- 创建 Cloud Logging 接收器的权限
- 在 Google Cloud Platform 上运行的 Neo4j Aura 实例
- Neo4j Aura 项目管理员角色
- 支持日志转发的 Neo4j Aura 层级(AuraDB Business Critical、AuraDB Virtual Dedicated Cloud 或 AuraDS Enterprise)
创建 Google Cloud Storage 存储桶
- 前往 Google Cloud 控制台。
- 选择您的项目或创建一个新项目。
- 在导航菜单中,前往 Cloud Storage > 存储分区。
- 点击创建存储桶 。
提供以下配置详细信息:
设置 值 指定存储桶的名称 输入全局唯一的名称(例如 neo4j-aura-logs)位置类型 根据您的需求进行选择(区域、双区域、多区域) 位置 选择位置(例如 us-central1)存储类别 标准(建议用于经常访问的日志) 访问权限控制 统一(推荐) 保护工具 可选:启用对象版本控制或保留政策 点击创建 。
将 Neo4j Aura 日志转发到 Google Cloud Logging
Neo4j Aura 会将日志转发到 GCP 项目中的 Google Cloud Logging。此配置在 Neo4j Aura 控制台中完成。
- 前往 Neo4j Aura 控制台。
- 使用您的 Neo4j 账号登录。
- 在边栏中,前往设置 > 日志转发。
- 点击配置日志转发 。
- 选择日志转发的范围:
- AuraDB Business Critical:选择特定实例以转发其日志。
- AuraDB Virtual Dedicated Cloud:选择一个区域以转发该区域中所有实例的日志。
- AuraDS Enterprise:选择一个区域以转发该区域中所有实例的日志。
选择要转发的日志类型:
- 安全日志:身份验证事件、授权事件和与安全相关的活动。
- 查询日志:对数据库执行的 Cypher 查询。
如果您选择了查询日志,请展开过滤条件部分以配置可选过滤条件:
- 移除开始条目:启用后,仅转发查询结束条目(日志量减少约 50%)。
- 包含:选择所有查询、仅限成功查询或仅限失败查询。
按照向导中特定于 Google Cloud Platform 的说明操作。
完成向导,然后点击创建 或保存 。
等待状态从正在设置 更改为正在转发 。
创建 Cloud Logging 接收器以将日志导出到 GCS
Neo4j Aura 将日志转发到 Google Cloud Logging 后,创建一个日志接收器以将这些日志导出到您的 GCS 存储桶。
- 在 GCP 控制台 中,前往 Logging > 日志路由器。
- 点击创建接收器 。
提供以下配置详细信息:
设置 值 接收器名称 输入名称(例如 neo4j-aura-to-gcs)接收器说明 输入说明(例如 Export Neo4j Aura logs to GCS for Chronicle)点击下一步 。
在选择接收器服务 部分,选择 Cloud Storage 存储桶 。
在选择 Cloud Storage 存储桶 下拉列表中,选择您创建的存储桶(例如
neo4j-aura-logs)。点击下一步 。
在选择要包含在接收器中的日志 部分,构建包含过滤条件以选择 Neo4j Aura 日志。
对于从日志转发功能转发的 Neo4j Aura 日志,请使用以下过滤条件:
resource.type="generic_node" resource.labels.namespace="neo4j-aura"点击下一步 。
检查接收器配置。
点击创建接收器 。
验证日志是否导出到 GCS
- 等待 2-3 小时,以便第一批日志条目显示在 GCS 存储桶中。
- 在 GCP 控制台 中,前往 Cloud Storage > 存储分区。
- 点击您的存储桶名称(例如
neo4j-aura-logs)。 验证是否正在存储桶中创建日志文件。
Cloud Logging 会在目录分层结构下按日志类型和日期整理日志。目录结构将类似于:
neo4j-aura-logs/ ├── security.log/ │ └── YYYY/ │ └── MM/ │ └── DD/ │ └── HH:MM:SS_HH:MM:SS_S0.json └── query.log/ └── YYYY/ └── MM/ └── DD/ └── HH:MM:SS_HH:MM:SS_S0.json
检索 Google SecOps 服务帐号
Google SecOps 使用唯一的服务帐号从您的 GCS 存储桶中读取数据。您必须向此服务帐号授予对您的存储桶的访问权限。
获取服务帐号电子邮件地址
- 前往 SIEM 设置 > Feed。
- 点击 Add New Feed (添加新 Feed)。
- 点击配置单个 Feed 。
- 在 Feed 名称 字段中,输入 Feed 的名称(例如
Neo4j Aura Logs)。 - 选择 Google Cloud Storage V2 作为来源类型 。
- 选择 NEO4J 作为日志类型 。
- 点击 Get Service Account (获取服务账号)。
系统会显示唯一的服务帐号电子邮件地址。例如:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com复制此电子邮件地址,以便在下一步中使用。
点击下一步 。
为以下输入参数指定值:
存储桶网址:输入 GCS 存储桶 URI:
gs://neo4j-aura-logs/将
neo4j-aura-logs替换为实际存储桶名称。来源删除选项:根据您的偏好选择删除选项:
- 永不:转移后永不删除任何文件(建议用于测试)。
- 删除已转移的文件:成功转移后删除文件。
删除已转移的文件和空目录:成功转移后删除文件和空目录。
最长文件存在时间:包含在过去指定天数内修改的文件(默认值为 180 天)
资产命名空间:资产命名空间
提取标签:要应用于此 Feed 中的事件的标签
点击下一步 。
在最终确定 屏幕中检查新的 Feed 配置,然后点击提交 。
向 Google SecOps 服务帐号授予 IAM 权限
Google SecOps 服务帐号需要对您的 GCS 存储桶具有 Storage Object Viewer 角色。
- 前往 Cloud Storage > 存储分区。
- 点击您的存储桶名称(例如
neo4j-aura-logs)。 - 前往权限 标签页。
- 点击授予访问权限 。
提供以下配置详细信息:
- 添加主账号:粘贴 Google SecOps 服务帐号电子邮件地址
- 分配角色:选择 Storage Object Viewer
点击保存 。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
| id2 | about.resource.attribute.labels | 资源属性的标签 |
| id3 | about.resource.attribute.labels | |
| timestamp_msg | metadata.event_timestamp | 事件时间戳 |
| event_type | metadata.event_type | 事件类型 |
| recordDate | principal.asset.creation_time | 资产创建时间 |
| namespace | principal.domain.tech.product_object_id | 网域中的产品对象 ID |
| properties.host_group | principal.hostname | 来源主机名 |
| msg | principal.process.command_line | 进程的命令行 |
| user_id | principal.user.userid | 主账号的用户 ID |
| role | roles.name | 角色名称 |
| security_result | security_result | 安全结果详细信息 |
| levelx | security_result.severity | 严重级别 |
| levelx | security_result.severity_details | 详细的严重程度信息 |
| properties.source | src.resource.name | 来源资源名称 |
| properties.cluster_node | target.hostname | 目标主机名 |
| database | target.resource.name | 目标资源名称 |
| roles | target.user.attribute.roles | 与目标用户关联的角色 |
| user_dest | target.user.userid | 目标用户的 ID |
| metadata.product_name | metadata.product_name | 产品名称 |
| metadata.vendor_name | metadata.vendor_name | 供应商名称 |