使用 mTLS 保护 spring 启动应用程序 - 运行 在 Swisscom App Cloud 上
securing spring boot app with mTLS - running on Swisscom App Cloud
我有一个 spring 启动应用程序部署到 Swisscom App Cloud,应该使用 mTLS 保护它。
显然有 spring 安全性...特定于 Swisscom App Cloud 我在 https://docs.developer.swisscom.com/adminguide/securing-traffic.html.
上阅读了有关保护流量的信息
我不清楚他们两个是怎么玩的...
- 如果我通过 spring 安全启用 mTLS,它会照原样工作还是我需要为 Swisscom App Cloud 进行额外配置? (我遇到了 HTTP 路由,其中提到为 mTLS https://docs.developer.swisscom.com/concepts/http-routing.html 传递客户端证书)
- Swisscom App Cloud 上的 mTLS 配置是否可以替代我将启用的 spring 安全性,或者我是否仍需要在我的应用程序中配置一些东西?
- 保护流量提到了部署清单和 BOSH 清单,在 Swisscom App Cloud 上启用 mTLS 是否需要后者(也许是额外的)配置(即除了部署清单之外我是否需要访问配置)?
更新
我有一个 REST API 的用例,它将被 Swisscom App Cloud 之外的客户端使用。决定使用 mTLS 对其进行保护。
您所指的管理指南适用于平台运营商(即 Swisscom),因此它不是最终用户可以利用的资源。
您的用例是什么?如果检查列表只是一项安全要求,请注意平台本身很快就会在内部使用 mTLS,因此直到应用程序容器的整个路径都是安全的。这对您的审核员来说可能就足够了。
如果您确实需要自己验证客户端证书,CF 的方法是利用 X-Forwarded-Client-Cert
(https://docs.cloudfoundry.org/concepts/http-routing.html#-forward-client-certificate-to-applications).
但是,我们目前尚未启用此功能(之前不需要它),但我们可以这样做。
更新:
根据这个explanation,X-Forwarded-Client-Cert
的插入实际上是由平台透明地完成的。因此,如果您将客户端应用程序的证书添加到服务器应用程序的信任库中,它将验证客户端证书。
更新二:
正如您在下面的讨论中看到的那样,目前在概念上似乎没有简单的方法允许应用程序使用 X-Forwarded-Client-Cert
执行正确的 mTLS。目前唯一的选择是使用 tcp 路由,您可以向您的 Appcloud 支持团队提出要求。
我有一个 spring 启动应用程序部署到 Swisscom App Cloud,应该使用 mTLS 保护它。
显然有 spring 安全性...特定于 Swisscom App Cloud 我在 https://docs.developer.swisscom.com/adminguide/securing-traffic.html.
上阅读了有关保护流量的信息我不清楚他们两个是怎么玩的...
- 如果我通过 spring 安全启用 mTLS,它会照原样工作还是我需要为 Swisscom App Cloud 进行额外配置? (我遇到了 HTTP 路由,其中提到为 mTLS https://docs.developer.swisscom.com/concepts/http-routing.html 传递客户端证书)
- Swisscom App Cloud 上的 mTLS 配置是否可以替代我将启用的 spring 安全性,或者我是否仍需要在我的应用程序中配置一些东西?
- 保护流量提到了部署清单和 BOSH 清单,在 Swisscom App Cloud 上启用 mTLS 是否需要后者(也许是额外的)配置(即除了部署清单之外我是否需要访问配置)?
更新
我有一个 REST API 的用例,它将被 Swisscom App Cloud 之外的客户端使用。决定使用 mTLS 对其进行保护。
您所指的管理指南适用于平台运营商(即 Swisscom),因此它不是最终用户可以利用的资源。
您的用例是什么?如果检查列表只是一项安全要求,请注意平台本身很快就会在内部使用 mTLS,因此直到应用程序容器的整个路径都是安全的。这对您的审核员来说可能就足够了。
如果您确实需要自己验证客户端证书,CF 的方法是利用 X-Forwarded-Client-Cert
(https://docs.cloudfoundry.org/concepts/http-routing.html#-forward-client-certificate-to-applications).
但是,我们目前尚未启用此功能(之前不需要它),但我们可以这样做。
更新:
根据这个explanation,X-Forwarded-Client-Cert
的插入实际上是由平台透明地完成的。因此,如果您将客户端应用程序的证书添加到服务器应用程序的信任库中,它将验证客户端证书。
更新二:
正如您在下面的讨论中看到的那样,目前在概念上似乎没有简单的方法允许应用程序使用 X-Forwarded-Client-Cert
执行正确的 mTLS。目前唯一的选择是使用 tcp 路由,您可以向您的 Appcloud 支持团队提出要求。