详解99.9%的网站没必要用https(续3):关于网络安全

王志勇 发表于 2020年10月15日 10:25

由于https特别影响网站的性能,尤其是当服务器的ping值超过150ms,如美国空间,很多网页用https访问,在有丢包的情况下,会多延迟3~5秒以上,有时延迟会达到十几秒,所以这一话题的主旨是发起挽回http的保卫战,因为它关系到整个产业链,事关每个人的利益。http的速度,例如本博客就是http,ping值在160ms~200ms,用的是最普通的VPS,因为没有启用https,所以速度快。

引发这个话题的原因是2018年7月,谷歌浏览器(Chrome)的所有新版本都在地址栏,把所有的http网址都打上“不安全”的标签。除了明文传输之外(明文传输并非不安全),目前网上尚未找到http的不安全之处。这里需要列举2个新的重要案例:1.很多编程语言自身都有一个强大的函数,可将文本转成可执行语句,然后用GET从地址栏提取要执行的内容,所以100字节以内就能制作一个万能后门,https等任何更“安全”的协议也不可能解决这个问题,因为这和传输协议无关,是和服务器程序有关;2.最近的几个月,大家可能有听说有一种“嗅探”,能扫描附近的手机号,劫持“中国×动”的短信,引发的是支付宝、银行卡等帐号的安全。(此消息大约在四五个月前,出现于通信人家园论坛。)

案例1,这个特殊函数
具体就不描述是哪个函数了,以免被恶意使用。它的正面用途是在一些特殊的程序场景里,把文本转成可执行语句。如果没有这个函数,则可能会导致一些项目失败,所以在编程中还是很需要这个函数的。

这个100字节以内的万能后门,如果被写入到一些程序里,如博客程序、论坛程序、网店程序、网站模板,甚至很多博客皮肤,杀毒软件也无法查出这些语句,因为这些语句是属于程序的基础语言,本身并不是病毒,而是被恶意利用。

所以任何第三方Web程序,安全性都是一样。是否安全,完全取决于程序作者、二次开发的作者的职业道德。这些第三方Web程序,大多是PHP程序。如果是换作别的语言如Python、Golang、Node.js等,安全性也全都一样。

这个函数在https,或者未来如果有所谓的更安全的协议,都可以正常运行。这是因为这些函数是在服务器端运行,传输协议不能对程序在服务器端产生的数据进行修改

案例2,最新的短信劫(隔开)
能够开发这种设备的人,肯定是熟悉相关的通信协议,或者已经开发多年,或者其实他可能就是曾经的内部人士。

存在这种案例,也暴露了基站的手机号身份权鉴、手机短信的传输协议等存在着加密漏洞。这种最高级别的安全问题,是必须加强加密的。

https的不利之处
对个人博客的影响暂且不大。但如果要预留做流量大的站点,对网站的速度影响就很大。
如果您的大流量站点遇到了访问上的严重瓶颈,在线人数一多就服务器无法访问,不妨试着关掉https。

另外,https不支持Cache页面缓存。

http是否会泄露密码?
密码是属于HTML里的input框,它是通过POST发送,是上行的。通常解析这个POST数据,只有终点的服务器端。所以如果POST在路由当中被劫(隔开)持,无论是明文、还是加密的POST数据,也无法被解析。

通过Web提交的密码,在十多年前的浏览器,的确有大规模泄露密码的事情,就是当时的IE6,能感染网页病毒。访问这些网页之后,电脑会中毒。然后在有密码的网页输入密码,会被这些病毒在电脑客户端发送出去
这种方式,无论是在http,还是https页面输入的密码,如果电脑有这种病毒,都会同样会泄露。

总之,是否会泄露密码,http和https的安全性几乎一样,在安全的环境里它们都安全,相反如果在不安全的环境里它们都不安全。

这种网页病毒在最近的15年里突然消失了。原因应该是当时自从有了火狐浏览器,能防止这种网页病毒

名誉问题
给http打上“不安全”,严重损害http站点的名誉权。也是这个原因,大量的站点不得不采用https。
http目前尚未有大规模的明显安全问题,作为一家浏览器巨头的Chrome贸然把http加上“不安全”的标签。

在2014年以前,国外的绝大多数站点,都是http (可在archive.org查到)。

自定义加密传输方案的开发
自定义加密传输,可以有很多种方法,https不是唯一的办法。
任何自定义加密传输,速度都会比https要快。因为https会多经历几次网络间的握手。

HTTP2会提高网页速度吗?
如果您的网页用https访问很快,此时如果用http访问,永远都会更快
我在前面的一些实测数据里,无论是单页的传输,还是多图片的“多路复用”,http都比http2快,测试结果:

Ubuntu/CentOS+HTTP/HTTP2的速度测试
HTTP和HTTP2(多路复用)的实际跑分测试

网页劫(隔开)持怎么办?
网页劫(隔开)持,可以向通信管理局、工信部投诉。
我这边的家用宽带、校园宽带,电信、联通、移动,都没有出现过网页劫(隔开)持。只是在宽带快到期时,会有网页广告:显示宽带快到期的续费通知。

只遇到以前单位的联通宽带,有传说中的网页劫(隔开)持,里面是一段嵌入广告的代码,并显示广告,几乎每天都出现。

短信劫(隔开)持怎么办?
听起来确实很恐怖。恰好我的某张银行卡,以前绑定的是电信号多年,然后把绑定换回移动主号,一两个月之后,就听到短信劫(隔开)持的事情。

这个没有什么好办法,只能让运营商加强安全。另外,如果这种事情大规模出现,只能把绑定支付帐号的手机号,长期关机,接收短信时才开机,这样能尽量避开被扫描。

CDMA卡、联通号尚未听到这方面的消息。

Linux主机间的传输
Linux主机间,用wget传输、软件安装,目前大部分都是http协议。Debian、Ubuntu、CentOS等系统,其内置的软件源,以及相关的软件源,这些开源平台,也无法去检测当中有没有后门。

安全问题是无处不在的。在这些无法检测是否安全的情况下,只有依靠他们的口碑

手机安全
手机的安全性,比电脑要低很多,因为电脑可以安装杀毒软件、防火墙,多了一层保护。
但是国内的很多有支付性质的平台,全都把支付引导到手机上。这是因为手机人人都在用,有众多的客户群体,这些网络巨头,为了抢夺客户,所以会把支付引导到手机上。

即使稍微专业一点的人知道手机不如电脑安全,但还是不得不用。

我们要做的是尽量规避风险,比如这些支付平台,在手机上首次登录,或者很久没在这台手机上登录,都需要短信验证。短信验证大大增强了安全性,即使手机有病毒也不会导致财产安全。

另外,最重要的是用于网上支付的银行卡,不要存大额。需要存大额,再开另外一张卡。

总结
1. https主要是比http多了一层加密传输,很多方面的安全性是一样的。但在ping值大于150ms的情况下,访问速度经常会多延迟3~5秒。
2. 目前尚未有http在技术上的大的安全事件。
3. 由浏览器巨头Chrome发起的封杀http的事件,导致众多站点投入到https,是因噎废食、削足适履的做法。
4. 解决的办法是用技术手段规避风险,而不是一刀切把http都封杀。就像手机、手机短信都存在安全风险,不能把它们也一刀切、然后都贴上“不安全”的标签。
5. SSL不是新鲜事物,早在2004年那时候就已经存在。
现在的SSL商业版价格不菲,一年几千元。个人觉得更大的可能,是各大商家为了销售SSL才这样做。
免费版用于用户尝鲜,商业版他们赚到一个是一个。

相关前文:
详解99.9%的网站没必要用https;http与https涉及的名誉问题;https安全吗? (2018年)
详解99.9%的网站没必要用https(续2):新发现 (2019年)

14条评论:
1   Glan 2020-10-15 15:31
https个人博客的确诸多不便,但是chrome给所有的http打上不安全实在是个误导性的推进。

自由勇 2020-10-15 15:47
误导性的推进,观点赞!就是这样。

2   网友 2020-10-15 17:41
移动2G信号下能劫(隔开)持短信,4G下还会吗?

自由勇 2020-10-15 18:54
这个我就不知道了。要不保险一点的办法,再办个号码,平时关机,只有这个办法了。
(恰好我的号码特别多)

自由勇 2020-10-15 19:22
刚才搜索到这一篇:《GSM劫(隔开)持+短(隔开)信嗅(隔开)探是什么,如何防范指南》
https://blog.csdn.net/qq_22473297/article/details/82621642

3   mouser 2020-10-16 00:02
n大运营商全部弄了网络劫(隔开)持和DNS深度劫(隔开)持,都被国家列入企业信用黑名单了。
真心羡慕没有劫(隔开)持的网络。

自由勇 2020-10-16 07:14
嗯,我这边还很少遇到。刚搜索了一下,投诉应该很有效:
https://jp.v2ex.com/t/85760

三大运营商很怕投诉。

自由勇 2020-10-16 07:24
刚才看到v2ex有网友说“问题多出在路由器上”
https://jp.v2ex.com/t/455957

然后找到这篇《路由器劫(隔开)持怎么办》
https://jingyan.baidu.com/article/380abd0a416d161d90192cb1.html

也正好我的路由器的WAN口的DNS是手动设置为当地运营商,路由器后台密码设置得比较复杂。

4   张波博客 2020-10-16 11:10
为什么我的博客上SSL,因为其他人都上了,所以我也就上了,这就是原因!!呵呵。

自由勇 2020-10-16 12:01
嗯,大势所趋。

5   mouser 2020-10-22 22:54
不是所有运营商都很怕投诉的,有那么三五个省份的运营商完全不怕投诉的。
至于这些运营商的DNS劫(隔开)持也不是改个服务器就能解决的,运营商用的深度劫(隔开)持,是劫(隔开)持整个DNS协议,包括HTTP DNS一样劫(隔开)持。
6   黑暗游侠 2021-01-01 00:32
主要为了应对运营商劫(隔开)
7   一元论者 2021-07-08 18:01
学到了,最近还挺执著https的。问题在于,https相对http在何种意义上改善了谷歌浏览器“不安全”提示所涉及的问题?该提示所给出的网页链接实质只是“定义”了“http不安全,https安全”,没有做任何别的解释。这似乎只是告诉普通用户,“我说不安全就不安全,具体原因不给你解释了。”

“请勿在此网站深入任何敏感信息(例如密码或银行卡等信息),因为攻击者可能会盗取这些信息。”

自由勇 2021-07-08 18:46
是的,就是这样。用这个标签,来控制整个产业链。

抱歉,评论已关闭。

王志勇:1980-09-26 (44周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写