linux随笔7
1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
#!/bin/bash
/usr/sbin/ss -tn | awk -F " +|:" '/ESTAB/{ip[$(NF-2)]++}END{for(i in ip)if(ip[i]>10) print i}' > /data/ddosip.txt
while read IP;do
/usr/sbin/iptables -A INPUT -s $IP -j REJECT
echo "The $IP reject" >> /data/checkddos.txt
done < /data/ddosip.txt
计划任务
*/5 * * * * /root/checkddos.sh
2、描述密钥交换的过程
一、RSA密钥交换过程(没有前向安全性,攻击者可以把前面交互的内容保存着,一旦拿到私钥,就可以得到主密钥):
1、客户端准备一个Client Random随机数,并将此随机数和协议版本号以及支持的加密方式一起发给服务端。
2、服务端收到Client Random后,将服务端CA证书和服务端准备的Sever Random随机数一起发给客户端。
3、客户端校验服务端证书后并通过解密证书得到服务端的公钥,同时客户端再生成一个新的46位的隐私参数SecPara,并用服务端公钥对这个隐私参数进行加密后,发给服务端,此时客户端已存有Client Random,Server Random,SecPara。
4、服务端对数据解密后,获得SecPara。此时服务端也存有了Client Random,Server Random,SecPara。
5、客户端和服务端根据之前约定好的加密方法,利用这三个参数生成一个新的对称密钥,此密钥即为主密钥。
6、双方验证完主密钥的有效性后,后续的数据交互即用此密钥进行对称加密。
二、ECDHE密钥交换过程(利用DH原理,避免了预备主密钥的泄露,即使私钥泄露,攻击者也无法得到主密钥):
1、客户端准备一个Client Random随机数,并将此随机数和协议版本号以及支持的加密方式一起发给服务端。
2、服务端收到Client Random后,将服务端CA证书和服务端准备的Sever Random随机数、利用DH算法原理算出来的服务端DH参数一起发给客户端。
3、客户端校验服务端证书后并通过解密证书得到服务端的公钥,并根据DH算法原理得到客户端DH参数,将此参数利用服务端公钥加密后传给服务端,然后利用DH算法原理和服务端的DH参数得到预备主密钥
4、服务端得到客户端DH参数后,利用DH算法原理和客户端DH参数得到预备主密钥,按照DH原理,服务端算出的预备主密钥和客户端算出的预备主密钥是一致的,这样避免了预备主密钥的泄露。
5、再根据原先约定好的加密方式,利用Client Random,Server Random,预备主密钥三个参数生成一个新的密钥即为主密钥
6、双方验证完主密钥的有效性后,后续的数据交互即用此密钥进行对称加密。
3、https的通信过程
HTTPS通信主要包括几个节点,发起请求、验证身份、协商秘钥、加密会话,具体流程如下:
1、客户端向服务端发起建立HTTPS请求。
2、服务器向客户端发送数字证书。
3、客户端验证数字证书,证书验证通过后客户端生成会话密钥(双向验证则此处客户端也会向服务器发送证书)。
4、服务器生成会话密钥(双向验证此处服务端也会对客户端的证书验证)。
5、客户端与服务端开始进行加密会话。
4、使用awk以冒号分隔获取/etc/passwd文件第一列
awk -F: '{print $1}' /etc/passwd
浙公网安备 33010602011771号