收集 IONIX 攻击面管理 日志

支持:

本文档介绍了如何配置 IONIX 攻击面管理以使用网络钩子将日志推送到 Google Security Operations。

IONIX 是一个外部攻击面管理 (EASM) 平台,用于发现、评估和验证组织面向互联网的资产和数字供应链中的安全漏洞。IONIX 针对 DNS 发现结果、PKI 问题、云漏洞和漏洞提供操作项,并提供优先修复工作流。

准备工作

确保您满足以下前提条件:

  • Google SecOps 实例
  • IONIX 攻击面管理支持使用 HTTP POST 推送日志
  • 有权访问 Google Cloud Console(用于创建 API 密钥)
  • 拥有有效的 IONIX 门户账号,且具有对设置 > 集成 的管理员访问权限

在 Google SecOps 中创建 Webhook Feed

创建 Feed

  1. 依次前往 SIEM 设置 > Feed。
  2. 点击添加新 Feed 。
  3. 在下一页上,点击配置单个 Feed 。
  4. 在 Feed 名称 字段中,输入 Feed 的名称(例如 IONIX ASM Logs)。
  5. 选择 Webhook 作为来源类型 。
  6. 选择 IONIX 作为日志类型 。
  7. 点击下一步 。
  8. 为以下输入参数指定值:
    • 拆分分隔符 (可选):输入一个分隔符来拆分多行事件。常见值:
      • \n - 换行符定界符(NDJSON 最常用的定界符)
      • 如果每个请求都包含单个事件,请留空
    • 资产命名空间:资产命名空间
    • 注入标签:要应用于此 Feed 中事件的标签
  9. 点击下一步 。
  10. 在最终确定 屏幕中查看新新闻信息流配置,然后点击提交 。

生成并保存密钥

创建 Feed 后,您必须生成一个密钥以进行身份验证:

  1. 在 Feed 详情页面上,点击生成密钥 。
  2. 对话框会显示密钥。
  3. 复制并妥善保存 密钥。

获取 Feed 端点网址

  1. 前往 Feed 的详细信息 标签页。
  2. 在端点信息 部分中,复制 Feed 端点网址 。
  3. 网址格式为:

    https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import
    

    其中,{region} 是 Google SecOps 实例的区域(例如 us、europe 或 asia-southeast1),{parent} 是资源路径,格式为 projects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>。

  4. 保存此网址,以供后续步骤使用。

  5. 点击完成 。

创建 Google Cloud API 密钥

Google SecOps 需要 API 密钥进行身份验证。在 Google Cloud Console 中创建受限 API 密钥。

创建 API 密钥

  1. 前往 Google Cloud 控制台的“凭据”页面。
  2. 选择您的项目(与您的 Google SecOps 实例关联的项目)。
  3. 点击创建凭据 > API 密钥。
  4. 系统会创建一个 API 密钥,并在对话框中显示该密钥。
  5. 点击修改 API 密钥 以限制密钥。

限制 API 密钥

  1. 在 API 密钥 设置页面中:
    • 名称:输入一个描述性名称(例如 Google SecOps Webhook API Key)
  2. 在 API 限制 下:
    1. 选择限制密钥 。
    2. 在选择 API 下拉菜单中,搜索并选择 Google SecOps API (或 Chronicle API )。
  3. 点击保存 。
  4. 从页面顶部的 API 密钥 字段中复制 API 密钥值。
  5. 妥善保存 API 密钥。

配置 IONIX 攻击面管理 Webhook

IONIX 原生支持使用其集成框架通过 HTTP POST 将安全性事件数据推送到外部端点。该集成在 IONIX 门户中配置,并使用与 Splunk HEC 集成相同的机制,经过调整后可将数据推送到 Google SecOps Webhook 端点。

构建网络钩子网址

  • 将 Google SecOps 端点网址和 API 密钥合并为一个网址:

    <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>
    
    • 示例:

      https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
      

在 IONIX 门户中配置集成

  1. 登录您的 IONIX 门户 (例如 https://<your-portal-name>.ionix.com)。
  2. 依次前往设置 > 集成。
  3. 点击 Splunk 集成 > 设置。
  4. 提供以下配置详细信息:

    • HEC 令牌:输入从 Google SecOps Webhook Feed 生成的密钥。
    • Splunk 服务器:输入完整的 Google SecOps Webhook 端点网址,并将 API 密钥作为查询参数附加到该网址。请使用以下格式:

      https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=<API_KEY>
      
  5. 配置推送间隔 ,以设置 IONIX 向端点发送数据的频率(例如每 60 分钟一次)。

  6. 填写与您的环境相关的任何其他数据字段。

  7. 点击保存 。

  8. 将集成开关切换为已启用 ,以启用集成。

  9. 数据将在一个推送间隔周期内开始显示在 Google SecOps 中。初始数据传送可能需要长达一小时。

替代方案:将 IONIX REST API 与自定义脚本搭配使用

如果原生 Splunk HEC 集成不符合您的要求,您可以使用 IONIX REST API 提取数据并将其转发到 Google SecOps。

生成 IONIX API 密钥

  1. 登录 IONIX 门户 。
  2. 点击 API 设置 。
  3. 为令牌提供名称 。
  4. 选择令牌类型:
    • 只读 (建议用于数据收集)
    • 读写
  5. 为令牌设置到期日期 。
  6. 点击创建令牌 。
  7. 复制生成的令牌并妥善保存。

IONIX API 端点

使用以下 API 端点从 IONIX 检索安全数据:

端点 说明
/api/v1/remediation/action-items/open/ 未完成的待办项(网域、根端点)
/api/v1/remediation/action-items/all/detailed 包含详细信息的所有待办项
/api/v1/discovery/org-assets/export-discovery-evidence 资产风险和发现证据
/api/v1/discovery/org-assets 组织资产(包括 first_seen 日期)
/api/v1/tests 安全测试结果
  • API 请求示例

    curl -X GET "https://api.portal.ionix.io/api/v1/remediation/action-items/all/detailed" \
        -H "Authorization: Token <IONIX_API_KEY>" \
        -H "Content-Type: application/json"
    

将数据转发到 Google SecOps

  • 从 IONIX API 检索数据后,将其转发到 Google SecOps Webhook 端点:

    curl -X POST "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>" \
        -H "Content-Type: application/json" \
        -d @ionix_events.json
    

身份验证方法参考

Google SecOps Webhook Feed 支持多种身份验证方法。选择您的供应商支持的方法。

如果您的供应商支持自定义 HTTP 标头,请使用此方法以提高安全性。

  • 请求格式:

    POST <ENDPOINT_URL> HTTP/1.1
    Content-Type: application/json
    x-goog-chronicle-auth: <API_KEY>
    x-chronicle-auth: <SECRET_KEY>
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

优点:

  • API 密钥和密钥在网址中不可见
  • 更安全(标头不会记录在 Web 服务器访问日志中)
  • 如果供应商支持,则首选此方法

方法 2:查询参数

如果您的供应商不支持自定义标头,请将凭据附加到网址。

  • 网址格式:

    <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>
    
    • 示例:
    https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
    
  • 请求格式:

    POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1
    Content-Type: application/json
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

缺点:

  • 凭据在网址中可见
  • 可能会记录在 Web 服务器访问日志中
  • 安全性不如标头

方法 3:混合(网址 + 标头)

某些配置在网址中使用 API 密钥,在标头中使用密钥。

  • 请求格式:

    POST <ENDPOINT_URL>?key=<API_KEY> HTTP/1.1
    Content-Type: application/json
    x-chronicle-auth: <SECRET_KEY>
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

身份验证标头名称

Google SecOps 接受以下标头名称进行身份验证:

  • 对于 API 密钥:

    • x-goog-chronicle-auth(推荐)
    • X-Goog-Chronicle-Auth(不区分大小写)
  • 对于密钥:

    • x-chronicle-auth(推荐)
    • X-Chronicle-Auth(不区分大小写)

UDM 映射表

如需了解 IONIX 日志字段如何映射到 Google Security Operations 统一数据模型 (UDM) 字段,请在受支持的默认解析器参考中搜索 IONIX 日志类型。

更新日志

查看此解析器的更新日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。