针对 REST API 的 Forefront UAG 和 SSL/X509 身份验证

针对 REST API 的 Forefront UAG 和 SSL/X509 身份验证

我不是网络工程师,而是软件工程师,所以这个主题对我来说很陌生。我们开发了一个解决方案,它由一个在 Java 服务器上运行的服务器端 Web 应用程序(带有 rest api)和一个使用来自服务器的 rest 服务的客户端 ios 应用程序(非浏览器)组成。

客户端在服务器上通过智能购物车上的 X509 证书进行身份验证。当客户端在我们的开发环境中可以直接访问服务器时,一切都运行良好。

但现在我们有了一个生产环境,我们的客户端应该位于互联网的某个地方,而我们的服务器位于内联网中。有一个 Microsoft Forefront UAG (SP3) 作为从互联网到内联网的企业网关。我从未在实践中使用过 UAG,两天前甚至没有听说过它,我无法理解我们需要它的哪些功能来帮助我们解决任务。明确地说,我们的任务是:

  1. 客户端应该与“端点”建立 https 连接(它是我们在开发环境中的服务器,现在是生产环境中的 UAG 服务器)
  2. UAG 应该检查客户端证书(是否有效、未被撤销等)
  3. UAG 应将客户端请求传输到我们位于内联网的服务器应用程序
  4. 关键要求UAG 应该“帮助”服务器应用程序进行进一步的客户端授权。在开发环境中,我们使用客户端 X509 证书属性来识别用户,但我认为(我是对的吗?)UAG 需要终止 SSL 会话,并且客户端请求证书不能将整个 https 请求传输到后端服务器。好的,我同意如果 UAG 将转换客户端请求(解密后,在翻译到服务器之前)并将一些客户端证书详细信息放入 HTTP 标头。或者即使他使用适当的配对证书重新加密它(即使它会更难处理)。

您能帮我说几个我需要查看的关键词以了解它是如何工作的吗?UAG 功能列表中有很多新词(SSL VPN、SSL 隧道、DirectAccess 等),每个词似乎都与任务有点相关,但我不明白我需要什么以及什么会按我们的预期工作。

非常感谢。

相关内容