1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
[root@centos8 scripts]#cat check.sh
#!/bin/bash
PV=100
awk '{IP[$1]++}END{for(i in IP){print IP[i],i}}' /data/scripts/access.log | while read count IP;do
if [ "$count" -ge $PV ];then
/usr/sbin/iptables -A INPUT -s $IP -j REJECT
echo "$IP $count" >> /data/ddosattack
fi
done
[root@centos8 ~]#chmod u+x /data/scripts/check.sh
[root@centos8 ~]#crontab -l
*/5 * * * * /root/check.sh
2、描述密钥交换的过程
前提
非对称加密
公私钥能相互解开,但是对于被嵌套的公私钥,相当于嵌套的锁,一定要将外层的锁解开之后才能解开内层的锁
有一个公证人,即证书中心,CA
过程
服务器产生公私钥
将公私钥发送给CA
CA生成客户端浏览器公私钥
CA使用客户端浏览器的私钥对共服务器的公钥进行加密,得到证书,返回给服务器
CA将证书发给客户端
服务器发送公钥与证书给客户端
客户端利用公钥对证书解密,对比服务端公钥,确认来源无误
客户端生成随机密码,保存在本地,然后使用服务端公钥加密
将加密的密码返回给服务端
服务端使用私钥解密得到客户端密码
此时完成了密码交换工作
此后进行的所有数据交换都会事先使用这个密码进行对称加密,如DES,3DES。
总结:对密钥进行非对称加密,后使用密钥进行对称加密
3、https的通信过程
https的特点
1. https有 握手阶段 和 请求阶段
2. 握手阶段 使用 非对称加密算法
请求阶段 使用 对称加密算法
3. 保证数据的完整性使用数字签名
4. 握手阶段有两组非对称加密,数字证书本身有一组公私钥,用于将服务器公钥发送到客户端。
服务器也有一组公私钥,用于将客户端的随机密码发送到服务器。
https基本过程
1. 客户端请求服务器,服务器返回数字证书(里面包括,服务器公钥,网站地址,证书颁发机构),数字证书本身使用证书私钥加密
2. 解密证书,验证证书数字签名,通过操作系统和浏览器内置的CA证书信息。验证通过后,客户端生成一个随机密码,用接收到的服务器公钥将其加密,发送到服务器
3. 用服务器私钥解密,得到随机密码
4. 握手结束,之后的通信全部使用随机密码进行对称加密通信
https的缺点
1. 握手阶段增加了服务器和客户端的开销,延长了通信时间
2. 通信阶段使用对称加密也会增加服务器和客户端的负担