首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制网站为SSL请求提供服务是否只会阻止SSLstrip的工作?

强制网站为SSL请求提供服务是否只会阻止SSLstrip的工作?
EN

Security用户
提问于 2017-10-17 16:39:41
回答 2查看 491关注 0票数 2

我理解使用HSTS运行网站可以帮助防止攻击者使用K架降低网站的等级以服务HTTP请求。

如果我们的web服务器不支持HSTS怎么办?

IIS为网站设置了一个只能要求SSL请求的设置。

这是否足以防止攻击者使用SSLstrip将HTTPS降级为HTTP?我假设the服务器将无法提供非HTTPS流量,对吗?

EN

回答 2

Security用户

发布于 2017-10-17 16:42:22

这是否足以防止攻击者使用SSLstrip将HTTPS降级为HTTP?

不是的。

我假设the服务器将无法提供非HTTPS流量,对吗?

不是的。

MitM将与您的服务器和http与客户端对话。

唯一真正针对HSTS的防御是HSTS.

根据https://www.tbs-certificates.co.uk/FAQ/en/hsts-iis.html,您可以通过“”对话框使用IIS设置HSTS。

注意:只有在首次成功访问https之后,HSTS才是活动的。为了保护第一次访问,您可以使用预加载机制:https://hstspreload.org/,但是要小心,它不能被禁用!

票数 3
EN

Security用户

发布于 2017-10-17 20:32:12

在这种情况下,只使用HTTPS无助于保护您。这个其他问题应该有助于说明原因。简而言之,如果攻击者可以强迫客户端通过HTTP进行通信,那么攻击者就可以在您和客户端之间进行通信,并充当中继器--在HTTP中与客户端进行对话,在HTTPS中充当服务器。

如果有一种方法可以迫使客户机永远不要尝试对您的服务器进行HTTP调用,那就太好了--谢天谢地,您可以使用HSTS。但是,典型的HSTS配置保护您的用户,只有当您可以在尝试攻击之前建立安全连接的情况下。这是因为HSTS依赖于第一次使用时信任或豆腐模型。如果您可以在客户端计算机上获得任何攻击之前的HSTS报头,则客户端将是安全的。如果攻击者已经就位,那么他们可以删除HSTS报头并继续攻击客户端。

如果预加载HSTS报头,这是可以避免的.预读HSTS意味着您向浏览器供应商注册您的域,他们将硬编码他们的浏览器,使其永远不允许不安全的连接到您的服务器。这使得SSLstrip攻击非常困难,因为客户端永远不会向服务器发送HTTP请求。但是要小心,HSTS预加载有它自己的一套风险。这个其他问题有一些很好的参考HSTS和HSTS预压,请阅读问题和前3答案的所有细节。

正如Tom在他的答案中提到的,您可以使用自定义的HTTP响应头来设置HSTS。您也可以在您的Web.Config文件中这样做:

代码语言:javascript
复制
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Strict-Transport-Security" value="max-age=31536000" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

注意:这不包括preload属性。它还排除了您可能需要的includeSubDomains属性。同样,对这两个属性都要非常小心。不要天真地实现它们。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/171533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档