网站是通过独特的一个端口来进行加密传输,防止传输中的内容被窃取,一般用HTTPS协议做网站的,一般是大型网站,以及支付网站,用户数据比较重要的一些网站,证书要单独购买,HTTPS超文本传输安全协议是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
1、首先攻击者会对目标网站以及服务器进行中间人攻击,从而让流量走自己的电脑(这与的原理根本就是一样的)。
2、此时客户端便会与攻击者的服务器进行 https 加密通信,网站源服务器也会与 攻击者进行证书加密通信。
3、虽然用户此时进行的是https协议通信,但是所有的数据传输对于攻击者来说都是明文的,跟ARP中间人攻击是一个道理,伪造IP来进行攻击,这个是伪造了证书。
https网站被攻击的步骤
当https网站被攻击时,我们来看一下攻击者是如何攻击的吧,分8个步骤,我来一一列举,大家看一下:
1、第一步最重要的是要先建立TCP的三次握手连接,连接建立之后由客户端向浏览器发起连接的协议请求。
2、连接请求成功之后,client客户端会发送自己所有支持的 ciphersuit ( 包括:对称加密算法、非对称加密算法、单向加密算法、伪随机数算法 )给目标服务器进行加密算法的协商,服务器会自动选择他们俩都支持的最安全的ciphersuit 协议进行加密安全通信。
3、然后服务器会发送自己的https证书到客户端(证书用于验证服务器的身份,同时也包含了服务器以及网站的各种相关信息)。Sine安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
4、客户端在接收到服务器的证书之后,会验证该https证书是否是由本地根证书中所信任的颁发机构颁发的证书。证书里面会有证书颁发机构的私钥签名,只有正确的私钥才能被客户端保存的公钥解密,这就保证了证书的安全性;证书中还会存在服务器的公钥,只有拥有私钥的服务器才能解密公钥加密的内容,这就保证了后续网站之间传输过程的安全性。
5、验证了证书的合法性之后,客户端会使用刚才协商的伪随机数算法生成对称密钥,然后将对称密钥通过服务器的公钥进行加密之后,再发送给服务器。
6、服务器接收到公钥加密的内容之后,会用自己的私钥进行解密,从而获取对称密钥,此时通信双方都得到了对称密钥就可以进行加密通信了。
7、通信时客户端会先将数据用对称密钥加密,然后又进行hash计算,然后用 服务器的公钥将得到的 hash 值进行加密,将该 hash 值和加密之后的密文发送给 server 端,发送数据过程类似hash。
8、服务器接收到客户端传来的数据包之后,会先用自己的私钥解密密文得到 hash1 ,然后用与没有加密的 hash 进行比较,相同则代表传输的数据没有被篡改,然后再用之前协商的单向加密算法解密 hash ,用对称密钥解密密文得到 data server 发送数据过程类似:hash。
那么网站被攻击该如何防护呢?
1、首先要配置最安全的 https。
2、再一个就是网站用到的所有密码不仅要靠 https协议来加密进行传输,在前端也要使用加密控件对密码进行加密,这样就算被降级攻击也拿不到明文的密码,破解也需要很长时间。
3、服务器端防御:配置路由规则,绑定 IP/MAC 以防被 ARP 欺骗。谨慎打开浏览器提醒证书错误的网站,但是笔者曾遇到过某部门网站居然都会出现证书报错,不得已还是要打开。
4、使用安全加速SCDN:通过域名解析到CDN的别名隐藏真实源IP显示的都是CDN高防节点IP,在高防的同时兼顾安全防黑,缓存加速功能,如H5 ,基于web的APP,websocket、http、https协议等都是适用的,可以达到非常好的防护效果