检查是否安全异常已被客户所接受(Checking if a security exception h

2019-09-26 20:36发布

我们有一个内部测试/开发不使用“真实”的SSL证书的几个分级环境。 老实说,我对细节有点模糊,但底线是访问这些环境的子域时,浏览器会提示你添加一个安全异常一起火狐“您已要求线安全地连接到example.com,但我们无法确认您的连接是安全的”:

难道这是检测例如,通过在问题提出请求的url和处理错误代码/任何其他相关信息,它可能会回来? 我找不到任何规格,以表明这是如何被浏览器处理。

编辑:

我不介意的着陆页本身上发生的错误,这是很明确的给用户。 然而,一些请求失败这样的背景(拉CSS / JS /其他静态来自不同的子域的内容),但你不知道他们这样做,除非你去净面板的萤火并在新标签中打开它,看看错误.. 。

我们的目的是不是要避开这个,而是检测到问题,这样说:“嘿,这些请求失败,您可以通过将这些直接添加URL安全例外:一堆链接]”

Answer 1:

检查证书的有效性仅仅是客户的责任。 只有它可以知道,它必须使用HTTPS,并且它必须用它对付这是适用于该主机的证书。

如果用户不进行这些检查,因此摆正自己的位置,一个MITM攻击可能发生,你也不一定能知道。 积极MITM攻击者可以执行回答您用来尝试检查用户是否正确做事的任务,但合法用户甚至可能没有更多地了解它。 这是颇为相似,想要使用重定向从http://https:// :它的工作原理,只要没有主动MITM攻击降级的连接。

(有一个例外,以确保客户已经看到了同样的握手,你:使用客户证书时,在这种情况下,你至少会知道,医管局有证书认证的客户会看到您的服务器证书而不是一个MITM证书,因为在握手结束时签署的,这是不是真的,你在找什么,虽然)。

JavaScript的机制,一般不会让你检查证书本身。 这是说,XHR请求不受信任的网站(有这样的警告)将失败或那种方式(通常是通过一个例外):这可能是一种方法来检测是否有其他网页与目标网页必须是由后台请求访问(虽然你肯定会碰到问题就同源政策)。

而不是使用测试/开发自签名的证书,你会在一个更好的位置,如果你部署一个测试证书颁发机构(CA)。 有一些工具来帮助你做到这一点(其中一个使用将取决于你需要证书的数量)。 然后,您将不得不导入自己的CA证书导入这些浏览器(或其他客户端),但整体测试将更为现实。



Answer 2:

没有。

,接受(或拒绝)仅修改了客户端的浏览行为(每个浏览器,以不同的方式)。 它什么都不作应答到服务器,并在页面没有加载,因此,没有机会赶上该事件。



文章来源: Checking if a security exception has been accepted by the client