关于全站https必要性http流量劫持、dns劫持等相关技术
关于全站https必要性http流量劫持、dns劫持等相关技术
微信已经要求微信支付,申请退款功能必须12月7号之前必须使用https证书了(其他目前为建议使用https),IOS也是2017年1月1号要求所有请求使用https了,国内有些https证书要1000元一年,阿里云 云盾证书 有免费型DV SSL,国外有免费的。
网站迟早要全面https化的(虽然有一点技术难度和访问比较慢但趋势已经非常明显了),国内运营商域名劫持植入广告太严重了,http请求用各种技术手段都很难防住,所以不是微信、ios强制也应该要尽快切换到https,网站在google、百度上还会对全站https增加排名权重优先收录。
国内出名点的网站都已经用https了,知乎,豆瓣都用上了,发现很多之前收藏的网址都跳转到https上了,不管从安全和最终结果看这个技术债需要尽快还上才行。
----------------------------------------------------
经过测试发现域名是直接被劫持 解析到劫持的服务器ip去
看来还是要用d+服务才保险,具体请看本人另外一篇文章:
网站app被劫持怎么办?HTTPDNS阿里云域名防劫持, DNSPod 移动解析服务 D+ - 流风,飘然的风 - 博客园
http://www.cnblogs.com/zdz8207/p/doman-HTTPDNS-DNSPod.html
---------------------------
HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。
从原理上来讲,“D+”只是将域名解析的协议由DNS协议换成了Http协议,并不复杂。 好像D+原理跟HTTPDNS是一样的
但有个漏洞 httpdns也是走http存在被劫持的可能,这样就很难处理了
遇到这种情况用户反应后只能靠大厂去解决或者用ip请求httpdns(ios审核过,基本没问题)
httpdns被劫持的话域名也是阿里云或腾讯云的反馈给他们,他们会去找劫持那边处理
他们也是有收费服务的,起码好过自己找运营商解决。
====================================
【微信支付】企业付款开发者文档
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=4_3
4、商户回调API安全
在普通的网络环境下,HTTP请求存在DNS劫持、运营商插入广告、数据被窃取,正常数据被修改等安全风险。商户回调接口使用HTTPS协议可以保证数据传输的安全性。所以微信支付建议商户提供给微信支付的各种回调采用HTTPS协议。请参考:HTTPS搭建指南 https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=10_4#
=================================
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
HTTP与HTTPS有什么区别?
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
HTTPS和HTTP的区别主要如下:
一、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用(阿里云 云盾证书 有免费型DV SSL)。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击。但HTTPS仍是现行架构下最安全的解决方案,并且它大幅增加了中间人攻击的成本。
网站优化
谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。
缺点:
SEO方面:据ACM CoNEXT数据显示,使用HTTPS协议会使页面的加载时间延长近50%,增加10%到20%的耗电。
此外,HTTPS协议还会影响缓存,增加数据开销和功耗,甚至已有安全措施也会受到影响也会因此而受到影响。
而且HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。
最关键的,SSL 证书的信用链体系并不安全。特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可行。
经济方面
1、SSL 证书需要钱。功能越强大的证书费用越高。个人网站、小网站没有必要一般不会用。
2、SSL 证书通常需要绑定 IP,不能在同一 IP 上绑定多个域名。IPv4 资源不可能支撑这个消耗。( SSL 有扩展可以部分解决这个问题,但是比较麻烦,而且要求浏览器、操作系统支持。Windows XP 就不支持这个扩展,考虑到 XP 的装机量,这个特性几乎没用。)
3、HTTPS 连接缓存不如 HTTP 高效,大流量网站如非必要也不会采用。流量成本太高。
4、HTTPS 连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本。如果全部采用 HTTPS,基于大部分计算资源闲置的假设的 VPS 的平均成本会上去。
5、HTTPS 协议握手阶段比较费时,对网站的相应速度有负面影响。如非必要,没有理由牺牲用户体验。
谷歌的态度
谷歌在HTTPS站点的收录问题上与对HTTP站点态度并无什么不同之处,甚至把“是否使用安全加密”(HTTPS)作为搜索排名算法中的一个参考因素,采用HTTPS加密技术的网站能得到更多的展示机会,排名相对同类网站的HTTP站点也更有优势。而且谷歌曾明确表示“希望所有的站长都能将使用 HTTPS协议,而非HTTP”更是表明了其对达到“HTTPS everywhere”这一目标的决心。
百度的态度
虽然百度曾表示“不会主动抓取https网页”,但对于“很多https网页无法被收录”也是“耿耿于怀”。去年9月份,百度曾就“https站点如何建设才能对百度友好”问题发布了一篇文章,给出了“提高https站点的百度友好度”的四项建议及具体操作。
可见百度不主动抓取HTTPS站点也只是暂时的。
golang技术交流群:316397059,vuejs技术交流群:458915921 囤币一族:621258209,有兴趣的可以加入
微信公众号: 心禅道(xinchandao)投资论道