Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从服务器端防止HTTPS中间人攻击?_Https_Security - Fatal编程技术网

如何从服务器端防止HTTPS中间人攻击?

如何从服务器端防止HTTPS中间人攻击?,https,security,Https,Security,在HTTPS安全模型中,最薄弱的部分是浏览器中的可信CA列表。有很多方法可以让用户将CA添加到列表中,从而信任错误的人 例如,您公司的公用计算机或PC。管理员可能会强制您信任他自己发布的CA,使用带有HTTPS中继的HTTPS代理服务器可能会非常不安全。因此,他们将能够监视您的消息、登录名和密码,甚至浏览器会告诉您您使用的是受信任的SSL连接 在这种情况下,web应用程序开发人员可以做些什么来保护用户和系统 作为一名web应用程序开发人员,您对此无能为力 这个问题需要进一步解决 如果世界各地有人

在HTTPS安全模型中,最薄弱的部分是浏览器中的可信CA列表。有很多方法可以让用户将CA添加到列表中,从而信任错误的人

例如,您公司的公用计算机或PC。管理员可能会强制您信任他自己发布的CA,使用带有HTTPS中继的HTTPS代理服务器可能会非常不安全。因此,他们将能够监视您的消息、登录名和密码,甚至浏览器会告诉您您使用的是受信任的SSL连接


在这种情况下,web应用程序开发人员可以做些什么来保护用户和系统

作为一名web应用程序开发人员,您对此无能为力

这个问题需要进一步解决

如果世界各地有人想:

a。在某人的计算机上放置假根CA

b。在该CA下为您的域颁发证书

c。模拟您的站点

d。将某人的域本地DNS条目指向其他ip

在上述步骤中,您的应用程序都没有涉及或参考,因此良好的网络管理和安全性非常重要

除此之外,也许有一个合理的理由让某人在他们的个人网络上本地这样做。我是谁来阻止他们

这基本上是公司web代理过滤器所做的,他们有权这样做


就阻止恶意用户采取上述步骤而言,这是客户机器管理员需要承担的责任。

从理论上讲,如果用户的终端为对手所有,你已经输了,对此你无能为力——如果情况危急,他们可能会过滤掉你的应对措施,甚至对整个网站进行搜刮和欺骗

实际上,你可以做一些事情让对手的工作更难,但这是一场军备竞赛。您可能必须使用恶意软件用于扫描器的所有相同类型的对策,因为从对手的角度来看,您的站点通过试图防止自身被覆盖而表现出恶意行为要知道,如果你的对手足够关心你,你所做的任何事情都会很快被反击

例如,您可以从JavaScript或小程序中打开套接字或使用
XmlHttpRequest
,但您无法阻止对手更新其过滤器以删除您添加的任何内容


通过发出多态输出或使用其他反逆向工程技术,您可能会获得更多里程数,因此,似乎没有两次对站点的点击会产生发送到浏览器的类似代码/资源。这是一个多余的工作量,但如果你想在中间玩人,你的对手就要琢磨。< /P>安装可信根CA证书需要访问用户机器。一旦您有权访问一台机器,就有比安装证书更容易的方法来窃取数据,因此从SSL安全性的有用性来看,这种情况并不真正有效。SSL更能防止中间人攻击,即用户只是嗅探通过网络发送的流量,而不直接访问用户计算机。最近的一些问题向我指出了一种可能的解决方法。该项目可能有助于JavaScript读取SSL信息,如果CA颁发者名称不匹配,可能有助于发出某种警报。