交付我们的应用程序后,我们的客户进行了渗透测试,将问题标记为严重:
该应用程序似乎使用一种架构,其中用户的浏览器与前端服务器(用于静态内容)和后端服务器(用于数据)进行通信。
澄清一下,我们有一个 frontend 和 backend 托管在两个单独的 Azure 应用服务中。当用户与前端交互时,会从客户端的 IP地址向后端发出请求以获取动态数据。
作为一种潜在的解决方案,我们正在考虑在前端和后端之间添加代理,以限制对后端的直接访问。但是,我不确定使用代理如何解决该问题。我的理解是,这只会添加另一层,这意味着用户仍然将请求发送到代理,然后代理将其转发到后端。
有人可以澄清如何在前端和后端之间放置代理来提高安全性并解决渗透测试问题吗?
作为一种潜在的解决方案,我们正在考虑在前端和后端之间添加代理以限制对后端的直接访问。但是,我不确定使用代理如何解决该问题。我的理解是,这只会添加另一层,这意味着用户仍然将请求发送到代理,然后代理将其转发到后端。
一般来说,像 Azure Front Door 这样的代理定义了底层应用程序服务的单个入口点。这还意味着您可以将安全工作放在单个入口点上,以便任何现有或未来的服务都受到保护。当然,这仅适用于“仅”通过可以配置的代理访问应用程序服务的情况。 代理可以提供的一些东西:
防火墙保护
PS.:您还应该向执行渗透测试的一方询问这个问题。