Security 如何完全强制https仅用于网站,包括浏览器之外的请求?

Security 如何完全强制https仅用于网站,包括浏览器之外的请求?,security,https,azure-web-app-service,zap,Security,Https,Azure Web App Service,Zap,我们有一个azure网站,在那里我们启用了仅https设置,并且我们还设置了url重写规则,以便当您访问我们的网站时(我们有一个自定义域,使用IP SSL使用证书进行保护-example.com和www.example.com),您可以重定向到。使用web浏览器时,这显然是可行的。但是,当使用诸如Postman或漏洞扫描之类的工具(如ZAP)时,服务器显然是在响应http,而不是将请求重定向到https。由于此原因,我们目前未能通过漏洞扫描,我们无法确定要让站点强制使用https还需要做些什么。

我们有一个azure网站,在那里我们启用了仅https设置,并且我们还设置了url重写规则,以便当您访问我们的网站时(我们有一个自定义域,使用IP SSL使用证书进行保护-example.com和www.example.com),您可以重定向到。使用web浏览器时,这显然是可行的。但是,当使用诸如Postman或漏洞扫描之类的工具(如ZAP)时,服务器显然是在响应http,而不是将请求重定向到https。由于此原因,我们目前未能通过漏洞扫描,我们无法确定要让站点强制使用https还需要做些什么。正如我所说,它在使用web浏览器时有效,但不适用于来自非浏览器工具的直接web请求。谢谢

Web上存在此用例的可扩展文档。尽管如此,我不认为使用url重写规则实际上会将http转换为https。在我看来,您的反向代理或任何服务于您的内容的东西应该改为发送http重定向。邮递员将在该设置中工作,因为默认情况下它将遵循重定向。我们在生产中使用此方法并通过所有安全扫描。您也可以通过配置HSTS将您的域(或子域)固定到https。我们只是添加了标题-这对HSTS就足够了吗?我不熟悉Azure,所以我无法从这里判断。但是,在点击HTTP时,仍然需要实现有效的重定向(或等效重定向),以便将用户重定向到HTTPS。此链接是否重新加入您所做的?是的-我们现在在Azure中有一个名为Https Only的设置,您可以打开它来强制它,我们有…在创建该设置之前,我们已经有了将永久重定向到Https的重写规则…所以我们两者都有。我不知道我们还能做什么。如果ZAP测试只显示我们允许http,因为我们在请求中返回了一个301重定向到https,那么我不确定我们还能做什么,除了完全阻止对站点的访问而不是重定向。我想这很好。根据我的经验,使用http重定向(301)根本不是安全威胁。这甚至是最好的做法(谷歌搜索将大致证实这一说法)。所以我认为,如果您有一个警告,它应该被取消,如果它是一个错误,那么它可能是由ZAP配置引起的(重定向是否正确接收并遵循?)。也许还需要确保“仅Https”设置和重写规则在某一点上不会冲突。Web上存在此用例的可扩展文档。尽管如此,我不认为使用url重写规则实际上会将http转换为https。在我看来,您的反向代理或任何服务于您的内容的东西应该改为发送http重定向。邮递员将在该设置中工作,因为默认情况下它将遵循重定向。我们在生产中使用此方法并通过所有安全扫描。您也可以通过配置HSTS将您的域(或子域)固定到https。我们只是添加了标题-这对HSTS就足够了吗?我不熟悉Azure,所以我无法从这里判断。但是,在点击HTTP时,仍然需要实现有效的重定向(或等效重定向),以便将用户重定向到HTTPS。此链接是否重新加入您所做的?是的-我们现在在Azure中有一个名为Https Only的设置,您可以打开它来强制它,我们有…在创建该设置之前,我们已经有了将永久重定向到Https的重写规则…所以我们两者都有。我不知道我们还能做什么。如果ZAP测试只显示我们允许http,因为我们在请求中返回了一个301重定向到https,那么我不确定我们还能做什么,除了完全阻止对站点的访问而不是重定向。我想这很好。根据我的经验,使用http重定向(301)根本不是安全威胁。这甚至是最好的做法(谷歌搜索将大致证实这一说法)。所以我认为,如果您有一个警告,它应该被取消,如果它是一个错误,那么它可能是由ZAP配置引起的(重定向是否正确接收并遵循?)。也许只需确保“仅限Https”设置和重写规则在某些点上不会冲突。