将 Apigee 与您的 SIEM 解决方案集成

本页面适用于 ApigeeApigee Hybrid

许多组织都希望将 Apigee 与其安全信息和事件管理 (SIEM) 解决方案集成。此集成可实现 Apigee 数据与其他网络和安全产品日志的有价值的关联,从而促进高级威胁检测、全面的日志记录和合规性报告。本文档探讨了各种集成方法,以适合使用和不使用 Advanced API Security 插件的场景。

受众

本文档的目标受众包括:

  • API 管理员,他们负责确保 API 安全性、管理平台配置、支持运营效率以及遵守安全合规性要求。
  • 安全分析师,他们专注于主动检测和调查与 API 相关的安全事件,以最大限度地降低风险并保护敏感数据。

配置选项

Apigee 提供了两种主要方法来将日志信息发送到 SIEM:

选项 说明
Google Cloud Platform 日志 提供基础级别的 API 日志数据,包括有助于调试和问题排查的特定于服务的日志。
Apigee 消息日志记录政策 消息日志记录政策可提供更大的灵活性和控制能力,让您能够将各种 Apigee 日志数据(包括特定的流变量)发送到 SIEM。

将 Apigee 与 SIEM 集成

Apigee 的适应性可确保与所选 SIEM 解决方案顺畅集成。 一般集成步骤如下:

  1. 选择集成方法。根据您的数据要求和 SIEM 功能,选择 Google Cloud Platform 日志或 Apigee 消息日志记录政策
  2. 建立数据转发。如需建立数据转发,请配置 Apigee 以将所需的日志数据发送到 SIEM。此配置的基本步骤如下。 确切的步骤取决于您的 SIEM 系统的设置和配置详细信息:
    1. 在 Apigee 和 SIEM 之间设置连接或集成。
    2. 在 SIEM 配置中指定要转发到 SIEM 的 Apigee 日志或事件。
    3. 在 SIEM 中授予必要的权限,以接收和处理 Apigee 数据。
  3. 对齐数据结构。将 Apigee 日志字段和流变量(例如 client.iprequest.uri 等) 映射到 SIEM 数据模型中的相应字段。这种对齐可确保 SIEM 能够正确解读和分类 Apigee 数据,以便进行有效分析并与其他安全事件相关联。

记录 Advanced API Security 数据

如果您希望记录由 Advanced API Security 滥用行为检测识别的数据,则可以将操作与 Apigee 消息日志记录政策结合使用。

请按照以下步骤操作:

  1. 使用 Advanced API Security 操作来标记要记录的规则。
  2. 使用由操作添加的标头来触发消息日志记录政策,以记录标记的请求。 例如,下图显示了在操作界面中配置了值 abuse 的标头 apisec

    该屏幕截图显示在 API 安全操作界面中配置了值 abuse 的标头 apisec

    按照此示例,您可以将消息日志记录政策配置为在看到标头时触发:

    <PostFlow name="PostFlow">
      <Request>
        <Step>
          <Condition>request.header.apisec="abuse"</Condition>
          <Name>LogMessagePolicy</Name>
        </Step>
      </Request>
    </PostFlow>

示例:使用 Apigee 消息日志记录政策

以下示例展示了如何配置 Apigee 消息日志记录政策,以将 Apigee 日志数据发送到 SIEM。使用此选项,您可以在消息日志记录政策中指定要发送到 SIEM 的 Apigee 流变量。与使用 Cloud Platform 日志选项相比,此选项可让您向 SIEM 发送一组更丰富的日志详细信息。

  1. 启用将 Apigee 数据提取到 SIEM 的功能。
  2. 使用以下 XML 正文创建消息日志记录政策。如需帮助,请参阅在界面中关联和配置政策
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <MessageLogging continueOnError="false" enabled="true" name="ML-SIEM-Integration">
          <CloudLogging>		
            <LogName>projects/{organization.name}/logs/Apigee-SIEM-Integration-{environment.name}</LogName>
            <Message contentType="application/json" defaultVariableValue="unknown"> 
            {
              "apigee.metrics.policy.{policy_name}.timeTaken": "{apigee.metrics.policy.{policy_name}.timeTaken}",
              "client.country": "{client.country}", 
              "client.host": "{client.host}",
              "client.ip": "{client.ip}",
              "client.locality": "{client.locality}",
              "client.port": "{client.port}",
             "client.state": "{client.state}",
              "organization.name": "{organization.name}",
            "proxy.client.ip": "{proxy.client.ip}",
            "proxy.name": "{proxy.name}",
            "proxy.pathsuffix": "{proxy.pathsuffix}",
            "proxy.url": "{proxy.url}",
            "request.uri": "{request.uri}",
            "request.verb": "{request.verb}",
            "response.content": "{response.content}",
            "response.reason.phrase": "{response.reason.phrase}",
            "response.status.code": "{response.status.code}",
            "system.region.name": "{system.region.name}",
            "system.timestamp": "{system.timestamp}",
            "system.uuid": "{system.uuid}",
            "target.country": "{target.country}",
            "target.host": "{target.host}",
            "target.ip": "{target.ip}",
            "target.locality": "{target.locality}",
            "target.organization": "{target.organization}",
            "target.port": "{target.port}",
            "target.scheme": "{target.scheme}",
            "target.state": "{target.state}",
            "target.url": "{target.url}"
            }
             </Message>
          </CloudLogging>
        </MessageLogging>
  3. 将政策与代理端点后流关联。请参阅在界面中关联和配置政策

当 API 代理处理流量时,日志记录政策将捕获请求和响应中的指定字段,并将其写入日志文件以进行分析和调试。