View a markdown version of this page

mTLS 身份验证 - 常规 SAP 指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

mTLS 身份验证

相互传输层安全 (mTLS) 身份验证可建立安全连接,在此连接中,客户端和服务器都使用数字证书进行身份验证。与只有服务器提供证书的标准 TLS 不同,mTLS 要求双方出示和验证证书。

mTLS 身份验证流程分为四个步骤:

  1. 客户端请求与服务器建立连接。

  2. 服务器出示其证书。

  3. 客户端验证服务器的证书。

  4. 客户端出示其证书,服务器对其进行验证以完成相互身份验证。

适用于 SAP 的 mTLS 身份验证的好处

mTLS 身份验证增强了安全性,改善了用户体验并减少了运营开销。它对用户身份验证基础架构进行现代化改造,以支持数字化转型,同时确保符合安全标准。mTLS 可满足 SAP 环境中的以下安全要求:

  • 增强的安全性:mTLS 提供双向身份验证,确保客户端和服务器都验证彼此的身份。这可大幅降低未经授权的访问及中间人攻击的风险。

  • 通过单点登录 (SSO) 实现无缝用户体验:mTLS 与 SSO 解决方案集成,因此用户无需重复输入凭据即可访问多个 SAP 应用程序和服务。

  • 自动证书轮换:mTLS 允许自动轮换证书,无需人工干预即可定期更新身份验证凭据,从而增强安全性。这不仅能降低使用过期或受损证书的风险,还能最大限度地减少管理开销。

  • 接口的主体传播:mTLS 支持在不同的 SAP 接口和系统之间进行安全的主体传播。这使得系统间通信无需使用通用特权账户(如拥有 SAP_ALL 授权的 SAP 用户),显著提升了安全性与可审计性。

  • 可扩展性和性能:ALB 处理 mTLS 验证,将基于证书的身份验证从 SAP 应用程序服务器上卸载。这提高了 SAP 系统的可扩展性和性能。

  • 对零信任架构的支持:mTLS 与零信任安全模型非常吻合,在零信任安全模型中,从不假设信任,并且始终经过验证。

通过应用程序负载均衡器进行 mTLS 客户端身份验证

应用程序负载均衡器(ALB)支持 mTLS 身份验证,并提供两种模式:验证模式和直通模式。

先决条件

我们建议在整个基础架构中使用的所有 SSL/TLS 证书都来自一个受信任的根证书颁发机构 (CA)。这包括 ALB、SAP Web Dispatcher 和 S/4HANA 系统的证书,这简化了实施和维护。

mTLS 架构图

下图显示了适用于带有 SAP SKU 产品的 RISE 基础 AWS 架构。

在路由到 SAP Web Dispatcher 之前,请先在 ALB 验证 mTLS 客户端证书,然后。 S/4HANA

mTLS 验证模式

要启用 mTLS 验证模式,请创建一个包含 CA 证书捆绑包的信任存储。这可以通过使用 Certif AWS icate Manager (ACM)、 AWS 私有 CA 或通过导入自己的证书来完成。可通过存储在 Amazon S3 中且关联至信任存储的证书吊销列表(CRL)来管理已吊销证书。

ALB 会依据信任存储对客户端证书进行验证,从而高效拦截未经授权的请求。此方式将从后端目标卸载 mTLS 处理流程,提升整体系统效率。ALB 会从 S3 导入 CRL 并执行检查,而无需重复执行 S3 提取操作,从而最大限度地减少延迟。

除了客户端身份验证之外,ALB 还通过 HTTP 标头(例如)将客户端证书元数据传输到后端 SAP Web Dispatcher。X-Amzn-Mtls-Clientcert-Leaf后端目标可以根据证书详细信息实现其他逻辑。ALB 还会保留 SAP 服务器所需的原始主机标头信息。

这使服务器能够一致地处理客户端证书元数据,即使 ALB 等非 SAP 组件终止 TLS 连接也是如此。

要申请 mTLS 验证模式,请向_lrp_1.1.08a X.509 提交附加服务请求——使用和相关后端为 ALB 启用证书。 AWS WebDispatcher

mTLS 直通模式

在 mTLS 直通模式下,ALB 使用名为的 HTTP 标头将客户端的整个证书链转发到后端目标。X-Amzn-Mtls-Clientcert链(包括树叶证书)以 URL-encoded PEM 格式发送+,带有=、和/作为安全字符。以下是使用 mTLS 直通模式时的关键注意事项:

  • 如果没有客户端证书,ALB 不会添加任何标头;后端必须处理此情况。

  • 后端目标负责客户端身份验证与错误处理。

  • 对于 HTTPS 侦听器,ALB 会终止客户端 ALB TLS,并使用目标安装的证书启动新的 TLS。 ALB-backend

  • ALB 的 TLS 终止功能支持使用任何 ALB 路由算法来进行负载均衡。

NLB 直通

如果您有严格的安全合规规则要求服务器端终止客户端 TLS 连接,则可以使用 Network Load Balancer (NLB)。需要注意的关键点:

  • NLB 在传输层(OSI 模型的第 4 层)运行。

  • 它为 TCP/UDP 连接提供低延迟的负载平衡。

  • NLB 允许后端服务器处理 TLS 终止操作,这在某些安全合规场景中可能至关重要。

此方式可确保敏感的解密流程在您可管控的服务器环境中进行,从而满足特定的安全要求,并保持高效的流量分配。

mTLS 验证模式、mTLS 直通模式和 NLB 直通模式的比较

注意事项 带 mTLS 验证模式的 ALB 带 mTLS 直通模式的 ALB NLB

OSI 层

第 7 层(应用程序)

第 7 层(应用程序)

第 4 层(传输)

与 AWS WAF 集成

支持

支持

不支持

客户端身份验证

由 ALB 完成(AWS 托管)

由后端完成(客户自主管理型)

由后端完成(客户自主管理型)

SSL/TLS 终止客户端

在 ALB(AWS 托管)

在 ALB(AWS 托管)

在后端目标上(客户自主管理型)

基于标头的路由

支持

支持

不支持

信任存储

需要(在 ALB 上)

非必需(在 ALB 上)

非必需(在 NLB 上)

证书撤销列表(CRL)

在 ALB 上托管

后端托管(如果需要)

后端托管(如果需要)

后端处理负载

较低

较低

较高

错误处理

ALB 托管

后端托管

后端托管

注意

开启 SAP 的 RIS AWS E 支持带有 mTLS 验证模式的 ALB。