跳到主要内容
版本:3.10.x

安全加固

安全加固是通过实施配置、控制措施和最佳实践来降低漏洞风险,保护系统免受未经授权的访问或攻击的过程。在 API 网关场景中,安全加固尤为重要,因为网关通常是众多后端服务、数据源和敏感业务逻辑的统一入口。加固网关安全可以缩小潜在攻击面,确保只有经过授权且完成身份认证的请求才能访问关键资源。此外,在规划稳健的安全措施时,了解敏感信息的存储位置和存储方式也很重要,有助于保护组织免受未经授权的访问、数据泄露或恶意攻击。API 网关的安全加固不仅是保护敏感数据的必要措施,也有助于维持系统性能、满足监管合规要求并建立信任。

提示

本页介绍可以启用的安全加固特性以及推荐的生产配置。有关敏感数据存储位置、保护数据的加密算法以及组件通信方式的详细参考信息,请参阅安全加固参考。

下图展示了 API7 网关的各种组件及其交互方式:

API7 网关组件架构图,包括控制台、DP Manager、数据库和数据面网关实例,以及连接这些组件的加密通道(HTTPS、mTLS)

安全加固特性​

  • 审计日志的脱敏不涵盖所有捕获的请求和响应内容。应将其视为敏感数据,并参阅审计日志了解数据处理要求。
  • 内置用户密码和访问令牌经加盐后,以 PBKDF2 派生哈希存储。用户名会保留,用于查找账户。
  • Redis 密码等敏感插件字段由插件 Schema 中的 encrypt_fields 标识,并在写入数据库前加密。如果数据库或备份遭到入侵,不应依赖该加密保护凭据。
  • 每个网关组都有独立的密钥环。控制面使用上述相同的应用层字段加密方式存储密钥环,因此数据库或备份遭到入侵时,密钥环也无法获得保护。

安全加固措施​

以下是一些可选的额外措施,你可以使用它们来增强 API7 网关的安全性。

保护数据面通信​

为了确保客户端与 API7 网关之间,以及 API7 网关与上游服务之间交换的数据具备机密性和完整性,可以使用 API7 网关中的 SSL 配置为通信启用 TLS 或 mTLS(双向 TLS)。

启用 TLS 后,客户端与 API7 网关之间,或 API7 网关与上游服务之间传输的数据都会被加密,从而防止数据被拦截或篡改。这可以确保未经授权的第三方无法读取或修改传输中的数据,为可能不安全的网络提供安全通信通道。

使用 mTLS 时,通信双方(API7 网关与其客户端或上游服务)会相互进行身份认证。这种双向认证对于高安全性环境尤其有价值,因为验证双方身份可以防止未经授权的访问。mTLS 常用于保护与敏感后端系统的通信,或保护内部服务之间对数据安全要求较高的通信。

使用密钥环加密数据​

API7 网关在存储前会加密 encrypt_fields 中列出的敏感插件字段和 TLS 证书私钥。每个网关组都有独立的密钥环。控制面使用相同的应用层字段加密方式存储该密钥环,因此数据库或备份遭到入侵时,密钥环也无法获得保护。

连接控制面的网关会接收已启用的数据加密配置及所属网关组的密钥环。控制面下发的设置会覆盖网关本地配置文件中的 apisix.data_encryption。默认配置文件的 enable: false 并不表示已连接的网关关闭了加密。

在密钥管理器中管理密钥​

为了增强安全性并简化敏感数据管理,API7 网关允许你将密钥存储在 HashiCorp Vault 和 AWS Secrets Manager 等密钥管理器中。密钥管理器为 API Token、凭证和加密密钥等敏感信息提供集中式加密存储。

例如,Redis 密码或 TLS 证书私钥等敏感插件字段可以安全地存储在密钥管理器中。运行时,API7 网关通过与密钥管理器集成来获取这些密钥,确保敏感数据在整个生命周期内受到保护。

使用密钥管理器的一个重要优势是安全性更高,可以降低将敏感信息直接写入配置文件或通过环境变量暴露所带来的数据风险。另一个优势是支持自动轮换密钥。定期轮换密钥是安全最佳实践,可以降低凭证泄露后被长期利用的风险。许多密钥管理器可以自动轮换其保存的密钥,为依赖服务提供新版本。该自动化能力既能减少运维负担,也能帮助组织满足监管要求和行业标准。但网关会缓存密钥值和消费者凭证。仅更新密钥管理器中的值,不保证所有网关实例立即使用新值;轮换时应规划新旧凭证的重叠期并逐实例验证,必要时更新相关配置或重启网关。

纳入持续监控​

将持续监控纳入技术栈,可以通过收集和分析实时指标来加固 API 基础设施安全。该方法能够及早发现未经授权的访问或异常流量模式等威胁,并通过识别瓶颈来优化 API 性能。

API7 网关提供基于事件的内置告警系统,其中预配置了一系列可触发告警的条件,例如控制面证书即将过期、网关实例离线或 CPU 配额超出限制。你可以在控制台中配置告警事件,并进一步自定义严重性、检查间隔、阈值和通知内容。详情请参阅告警和联系人。

API7 网关还可以与 Prometheus 和 Datadog 等外部工具集成。网关支持以极低延迟向监控工具暴露一组完整指标。这些集成可以帮助管理员可视化指标、配置告警并快速响应关键事件。此外,监控还可以通过定位资源使用效率问题来优化 API 性能,确保系统即使在高流量负载下也能平稳运行。对于受监管要求约束的组织,持续监控还可以提供审计和报告所需的详细指标与日志,帮助组织满足合规要求。