问题
WAF 能否用于保护要求用户在访问任何资源之前通过第三方身份提供者进行身份验证的 Web 应用程序?
问这个问题的动机
我希望我的自定义应用程序受到防火墙的保护,这样我就可以创建规则来保护我的应用程序免受恶意请求的影响。当我读到 WAF 时,它听起来像是正确的解决方案。当我读到 WAF 必须与 AWS CloudFront 结合使用并且 CloudFront 只能缓存可公开访问的内容时,我开始担心。我开始怀疑 CloudFront 对缓存私有内容的限制是否会阻止我的 WAF 规则应用于以私有内容为目标的请求。
背景信息
我创建了一个托管在 AWS EC2 实例上的自定义 Web 应用程序。Web 应用程序包含动态内容并支持 HTTP GET/OPTIONS/POST/PUT/DELETE 动词。自定义 Web 应用程序要求每个用户都通过身份提供者进行身份验证。如果未经身份验证的用户尝试访问资源,他们的浏览器将重定向到 Web 应用程序托管的可公开访问的登录页面。从登录页面,用户可以选择身份提供者。一旦选择了身份提供者,用户的浏览器将被重定向到身份提供者的登录对话框,在那里他们将被提示输入他们的凭据。一旦通过身份验证,它们将被重定向回 Web 应用程序中请求的资源。