本页面适用于 Apigee 和 Apigee Hybrid。
许多组织都希望将 Apigee 与其安全信息和事件管理 (SIEM) 解决方案集成。此集成可实现 Apigee 数据与其他网络和安全产品日志的有价值的关联,从而促进高级威胁检测、全面的日志记录和合规性报告。本文档探讨了各种集成方法,以适合使用和不使用 Advanced API Security 插件的场景。
受众
本文档的目标受众包括:
- API 管理员,他们负责确保 API 安全性、管理平台配置、支持运营效率以及遵守安全合规性要求。
- 安全分析师,他们专注于主动检测和调查与 API 相关的安全事件,以最大限度地降低风险并保护敏感数据。
配置选项
Apigee 提供了两种主要方法来将日志信息发送到 SIEM:
选项 | 说明 |
---|---|
Google Cloud Platform 日志 | 提供基础级别的 API 日志数据,包括有助于调试和问题排查的特定于服务的日志。 |
Apigee 消息日志记录政策 | 消息日志记录政策可提供更大的灵活性和控制能力,让您能够将各种 Apigee 日志数据(包括特定的流变量)发送到 SIEM。 |
将 Apigee 与 SIEM 集成
Apigee 的适应性可确保与所选 SIEM 解决方案顺畅集成。 一般集成步骤如下:
- 选择集成方法。根据您的数据要求和 SIEM 功能,选择 Google Cloud Platform 日志或 Apigee 消息日志记录政策。
- 建立数据转发。如需建立数据转发,请配置 Apigee 以将所需的日志数据发送到 SIEM。此配置的基本步骤如下。
确切的步骤取决于您的 SIEM 系统的设置和配置详细信息:
- 在 Apigee 和 SIEM 之间设置连接或集成。
- 在 SIEM 配置中指定要转发到 SIEM 的 Apigee 日志或事件。
- 在 SIEM 中授予必要的权限,以接收和处理 Apigee 数据。
- 对齐数据结构。将 Apigee 日志字段和流变量(例如
client.ip
、request.uri
等) 映射到 SIEM 数据模型中的相应字段。这种对齐可确保 SIEM 能够正确解读和分类 Apigee 数据,以便进行有效分析并与其他安全事件相关联。
记录 Advanced API Security 数据
如果您希望记录由 Advanced API Security 滥用行为检测识别的数据,则可以将操作与 Apigee 消息日志记录政策结合使用。
请按照以下步骤操作:
- 使用 Advanced API Security 操作来标记要记录的规则。
- 使用由操作添加的标头来触发消息日志记录政策,以记录标记的请求。
例如,下图显示了在操作界面中配置了值
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 发送一组更丰富的日志详细信息。
- 启用将 Apigee 数据提取到 SIEM 的功能。
- 使用以下 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>
- 将政策与代理端点后流关联。请参阅在界面中关联和配置政策。
当 API 代理处理流量时,日志记录政策将捕获请求和响应中的指定字段,并将其写入日志文件以进行分析和调试。