HTTPS网站被攻击的原理与网站防护部署

           

                        HTTPS网站是通过独特的一个端口来进行加密传输,防止传输中的内容被窃取,


一般用HTTPS协议做网站的,一般是大型网站,以及支付网站,用户数据比较重要的一些网站,

HTTPS证书要单独购买,什么是HTTPS呢?超文本传输安全协议( 
HTTPS )是一种通过计算

机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行
通信,但利用 SSL/TLS 来加密数据包。

HTTPS 开发的主要目的,是提供对网站服
务器的身份认证,保护交换数据的隐私与完整性。
 
 
网站被攻击原理如下图所示:

1、首先攻击者会对目标网站以及服务器进行中间人攻击,从而让流量走自己的电脑(这与

burpsuit 的原理根本就是一样的)。Sine安全公司是一家专注于:服务器安全、
网站安网站安

全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。

 
 
2、此时客户端便会与攻击者的服务器进行 https 加密通信,网站源服务器也会与 攻击者进行

https证书加密通信。

 
 
3、虽然用户此时进行的是https协议通信,但是所有的数据传输对于攻击者来说都是明文的,

跟ARP中间人攻击是一个道理,伪造IP来进行攻击,这个是伪造了证书

 
 
当https网站被攻击时,我们来看一下攻击者是如何攻击的吧,分8个步骤,我来一一列举,大家

看一下

 
 
一、第一步最重要的是要先建立TCP的三次握手连接,连接建立之后由客户端向浏览器发起https

连接的协议请求。
 
 
二、连接请求成功之后,client客户端会发送自己所有支持的 ciphersuit ( 包括:对称加密算法、

非对称加密算法、单向加密算法、伪随机数算法 )给目标服
务器进行加密算法的协商,服务器

会自动选择他们俩都支持的最安全的ciphersuit 
协议进行加密安全通信。
 
 
三、然后服务器会发送自己的https证书到客户端(证书用于验证服务器的身份,同时也包含了

服务器以及网站的各种相关信息)。Sine安全公司是一家专注于:服务器安全、网站安全、网站

安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。

 
 
四、客户端在接收到服务器的证书之后,会验证该https证书是否是由本地根证书中所信任的颁发

机构颁发的证书。证书里面会有证书颁发机构的私钥签名,只有正
确的私钥才能被客户端保存的

公钥解密,这就保证了证书的安全性;证书中还会存
在服务器的公钥,只有拥有私钥的服务器才

能解密公钥加密的内容,这就保证了后
续网站之间传输过程的安全性。
 
 
五、验证了证书的合法性之后,客户端会使用刚才协商的伪随机数算法生成对称密钥,然后将对

称密钥通过服务器的公钥进行加密之后,再发送给服务器。

 
 
六、服务器接收到公钥加密的内容之后,会用自己的私钥进行解密,从而获取对称密钥,此时通

信双方都得到了对称密钥就可以进行加密通信了。

 
 
七、通信时客户端会先将数据用对称密钥加密,然后又进行hash计算,然后用 服务器的公钥将得

到的 hash 值进行加密,将该 hash 值和加密之后的密文发送给 
server 端,发送数据过程类似hash

( private_encrypt ( data ) ) + 
 
public_encrypt ( hash ) --> server。
 
 
八、服务器接收到客户端传来的数据包之后,会先用自己的私钥解密密文得到 hash1 ,然后用

hash1与没有加密的 hash 进行比较,相同则代表传输的数据没
有被篡改,然后再用之前协商的

单向加密算法解密 hash ,用对称密钥解密密文得
到 data server 发送数据过程类似:hash

( private_encrypt

( data ) ) + 
 
private_encrypt ( hash ) --> client。
 
 
那么网站被攻击该如何防护呢?
 
 
首先要配置最安全的 https。
 
再一个就是网站用到的所有密码不仅要靠 https协议来加密进行传输,在前端也要使用加密控件对

密码进行加密,这样就算被降级攻击也拿不到明文的密码,破解也
需要很长时间。
 
服务器端防御:
 
配置路由规则,绑定 IP/MAC 以防被 ARP 欺骗。谨慎打开浏览器提醒证书错误的网站,但是笔

者曾遇到过某部门网站居然都会出现证书报错,不得已还是要打开。
 
分享: