网站如何使用HTTPS如何防止网站被劫持?
相信大家对于HTTP与HTTPS协议都或多或少听说过,HTTP协议在Web中的应用是十分广泛的,只不过最近几年HTTPS慢慢火热起来了,大到BAT这类企业的网站默认都是HTTPS协议,小到一些个人博客网站也启用了HTTPS来尝鲜。
我们都听人家说过,HTTPS比HTTP要安全、防劫持,那为什么HTTPS就能做到这点呢,而HTTP就不行呢?
其实在HTTP协议中,所有的数据都是明文传输的,试想一下,如果黑客拦截到了请求,那所有的数据都可以直接看到,很不安全。HTTPS虽不能称之为绝对的安全,但是一般黑客想劫持也很难,因为HTTPS在HTTP的基础上再加了一个SSL层,数据是加密传输的。
常见的劫持手段有以下几种,我来来详细看看HTTPS是如何规避的。
1、DNS劫持 / 中间人劫持
有这样一个场景:我们访问 www.abc.com 时,要先过DNS查找出此域名对应的IP地址。假设DNS被人劫持了,将 abc.com 这个域名本该绑定的IP(1.2.3.4)换成了黑客的服务器IP(5.6.7.8)。那我们访问abc.com 时其实是和黑客的服务器进行通讯的,黑客可以在服务器里做一些操作,比如说伪造一个网站,或者将用户请求再传到 www.abc.com 真实的服务器中,以此来获取用户的敏感信息。
上面这种场景一旦存在,就构成了中间人攻击。黑客通过劫持了DNS,将用户的域名绑定到了一个非源站的IP上,以此达到劫持的目的。
这在HTTP协议下就直接被劫持了,但在HTTPS协议下就不行。因为黑客的服务器要提供一个CA证书,这样才能保证客户端(即访客)和服务器间建立SSL连接,而这个CA证书是由国际第三方机构颁发的,无法伪造!如果黑客服务器做了自签名证书,那访客在连接到黑客服务器时,浏览器也会提示你网站证书不可靠,如下图示:
就算继续访问,内容在传输过程中是无法被解密的。
请注意:大家千万不要安装一些不受信任的证书!如果安装了不受信任的证书,那此证书颁发方就能解析你的HTTPS请求,很危险。
开启了HTTPS后,就建议把HTTP协议给停了,或者强制重定向到HTTPS协议。
2、内容数据及流量劫持
前面说到了,HTTPS在HTTP的基础上加了SSL层,数据在传输过程中是加密的,加密方式采取的是非对称加密,安全系数很高。所以在数据劫持上不太可能。
在以前我们还经常看到这种现象,浏览器里打开一个网页,然后右下角弹出一个运营商推广的广告,十分恶心,这就是流量劫持。如果用HTTPS协议则不会出现这种广告植入的情况了,这也是由于HTTPS策略决定的,比如说:
HTTPS协议的网站中无法引用HTTP协议的资源;
SSL协议提供数据加密与完整性校验,确保了数据的机密性和完整性。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!HTTPS,是HTTP over SSL的意思,SSL协议是Netscape用于解决传输层安全问题的网络协议,其核心是基于公钥密码学理论实现了对服务器身份认证、数据的私密性保护以及对数据完整性的校验等功能。
网站服务器和客户端使用协商出的会话密钥对交互的数据进行加密/解密操作,对于HTTP协议来说,就是将HTTP请求和应答经过加密之后再发送到网络上。
由此可见,因为SSL协议提供了对服务器的身份认证,所以DNS劫持导致连接错误服务器的情况将会被发现进而终止连接,最终导致DNS挟持攻击无法实现。此外SSL协议还提供数据的加密和完整性校验,这就解决了关键信息被嗅探以及数据内容被修改的可能。