详解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年)

10条评论:
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
嗯,大势所趋。

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

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

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

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

Blog存档 Archives

2020年10月
2020年09月(14)
2020年08月(14)
2020年07月(14)
2020年06月(16)
2020年05月(13)
2020年04月(18)
2020年03月(14)
2020年02月(15)
2020年01月(16)
2019年12月(11)
2019年11月(26)
2019年10月(25)
2019年09月(30)
2019年08月(10)
2019年07月(29)
2019年06月(30)
2019年05月(26)
2019年04月(30)
2019年03月(30)
2019年02月(30)
2019年01月(30)
2018年12月(30)
2018年11月(30)
2018年10月(30)
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2020 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue