1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
cat /var/log/httpd/access_log | egrep -o "^([0-9]{1,3}.){3}.[0-9]{1,3}" | sort -n | uniq -c > /var/log/links.log
limit=100
while read line;do
count=`awk '{print $1}' /var/log/links.log`
IP=`awk '{print $2}' /var/log/links.log`
[ $count -ge $limit ] && iptables -A INPUT -s $IP -j REJECT
done < /var/log/httpd/access_log
crontab -e
*/5 * * * * /bin/bash /root/dos.sh
2、描述密钥交换(IKE)的过程
甲乙两方进行密钥交换:
甲乙生成各自的非对称密钥对,甲使用乙方公钥对对称密钥进行加密,传输给乙
乙收到后,乙用自己私钥进行解密,得到对称密钥
DH算法:
甲乙两方在不安全的通信环境下进行密钥交换,实际并无真正密钥交换,通过数学算法计算、协商出一个共享密钥。
SSH公钥交换:
- client发起请求(人为确认对方指纹信息)
- server返回server公钥和会话ID
- 客户端生成密钥对,使用公钥XOR会话ID,得到RES结果,使用server公钥加密RES
- 服务器得到RES使用私钥解密,RES XOR 会话ID得到client端公钥
3、https的通信过程
1、client发起https连接请求
2、server端回复请求,并发送server的数字证书
数字证书包含:
1、公钥
2、颁发机构
3、有效期
4、CRL端点(吊销列表的url)
5、标识符、序号、等等……
3、client得到服务器数字证书,进行证书验证,
1、若证书验证不通过弹出告警
2、证书验证通过后,使用server公钥加密随机数
发送给server
4、server得到client 密文,server私钥解密后得到随机数,后续报文通过随机数作为对称密钥的密钥对报文进行加密。
5、client 本地使用随机数+对称密钥算法进行解密
4、使用awk以冒号分隔获取/ettc/passwd文件第一列
awk -F: '{print $1}' /etc/passwd