安全加固
安全加固是实施配置、控制和最佳实践的过程,以最大限度地减少漏洞并保护系统免受未经授权的访问或攻击。在 API 网关的背景下,安全加固至关重要,因为网关通常充当众多后端服务、数据源和敏感业务逻辑的单一入口点。通过加强网关的安全性,组织可以减少潜在的攻击面,并确保只有经过授权、经过适当身份验证的请求才能到达关键资源。此外,了解敏感信息的存储位置和方式对于规划实施强大的安全措施并防止未经授权的访问、数据泄露或恶意攻击非常重要。API 网关的安全加固不仅对于保护敏感数据至关重要,而且对于保持性能、法规遵从性和对系统的信任也至关重要。
以下是说明 API7 企业版各个组件及其交互方式的架构图:

安全加固功能
- 控制台和 DP 管理器之间的通信默认使用 HTTPS。
- 在日志保存到数据库之前,审计日志中的敏感数据会被脱敏。禁止对审计日志进行任何额外更改。
- 用户凭证,包括用户名和密码以及访问令牌,在保存到数据库之前会加盐并进行 PBKDF2 加密。
- 敏感插件配置(如 Redis 密码)在插件模式的
encrypted_fields中指定。这些字段中的信息在保存到数据库之前使用 AES256 加密。 - 用于加密敏感信息的密钥环因网关组而异。它们在保存到数据库之前也会被加密。
安全加固措施
以下是一些你可以选择的其他安全措施,以加强 API7 企业版的安全性。
保护数据平面通信
为了确保客户端和 API7 企业版之间以及 API7 企业版和上游服务之间交换数据的机密性和完整性,可以使用 API7 企业版中的 SSL 配置为通信配置 TLS 或 mTLS(双向 TLS)。 通过启用 TLS,在客户端和 API7 企业版之间或在 API7 企业版和上游服务之间传输的数据将被加密,防止拦截和篡改。此设置确保未经授权的各方无法读取或更改传输中的数据,从而在可能不安全的网络上提供安全通道。
使用 mTLS,双方(API7 企业版及其客户端或上游服务)相互验证身份。这种双向身份验证对于高安全性环境特别有价值,在这些环境中,验证通信双方的身份可以防止未经授权的访问。mTLS 通常用于保护与敏感后端系统的通信或在数据保护至关重要的内部服务之间进行通信。
使用密钥环加密数据
data_encryption 是 config.yaml 中的一个可配置选项,默认设置为 false。当设置为 true 时,API7 企业版将在将 encrypt_fields 中指定的敏感插件字段和 TLS 证书私钥保存到数据库之前对其进行加密。
keyring(密钥环)是用于保护指定敏感数据的加密密钥集合。建议定期轮换密钥环作为一种安全实践,以最大限度地降低密钥泄露的风险,保持数据完整性,并符合加密密钥管理的最佳实践。
data_encryption:
enable: false
keyring:
- qeddd145sfvddff3
执行密钥轮换时,请注意,如果你的 API7 企业版已经在运行并且已加密数据,请勿删除旧密钥。将新密钥添加到数组顶部,以便可以正确解密加密数据。直接删除旧密钥可能会导致加密数据不可逆。
在密钥管理器中管理密钥
为了增强安全性并简化敏感数据的管理,API7 企业版允许你将密钥存储在密钥管理器中,例如 HashiCorp Vault 和 AWS Secrets Manager。密钥管理器为敏感信息(例如 API 令牌、凭证和加密密钥)提供集中式加密存储库。
例如,在 API7 企业版中,敏感插件字段(如 Redis 密码或 TLS 证书的私钥)可以安全地存储在密钥管理器中。在运行时,API7 通过与密钥管理器的集成检索这些密钥,确保敏感数据在其整个生命周期内都受到保护。
使用密钥管理器的一个主要优势是增强了安全性。这降低了与将敏感信息直接嵌入配置文件或通过环境变量公开相关的风险。另一个优势是支持自动密钥轮换。定期轮换密钥是安全最佳实践,因为它可以最大限度地降低泄露的凭证随着时间的推移被利用的风险。许多密钥管理器会自动执行此过程,更新密钥并确保依赖服务无需人工干预即可访问最新版本。这种自动化减少了运营开销,同时帮助组织遵守监管要求和行业标准。
纳入持续监控
将持续监控纳入你的技术栈有助于通过收集和分析实时指标来加强 API 基础设施的安全性。这种方法可以早期检测威胁(例如未经授权的访问或异常流量模式),并通过识别瓶颈来帮助优化 API 性能。
API7 企业版提供了一个内置的基于事件的告警系统,其中包含一系列预配置的条件,可以触发告警,例如控制平面证书即将过期、网关实例离线或 CPU 配额超出。可以在控制台上配置告警事件,每个事件都可以进一步自定义严重性、检查间隔、阈值和通知内容。有关更多信息,请参阅 告警与联系人。
API7 企业版还可以与 Prometheus 和 Datadog 等外部工具集成。网关支持以最小的延迟向监控工具公开全面的指标集。这些集成允许管理员可视化指标、配置告警并快速响应关键事件。此外,监控有助于通过查明资源低效来优化 API 性能,确保即使在高流量负载下也能平稳运行。对于受监管要求的组织,持续监控还通过提供审计和报告所需的详细指标和日志来支持合规性。