1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。
1.使用awk编写脚本,监控日志文件
[root@centos8-06 ~]#cat awk_dos.awk
#!/bin/awk -f
{ip[$1]++}END{for(i in ip){if(ip[i]>=100){system("iptables -A INPUT -s "i" -j REJECT")}}}
[root@centos8-06 ~]chmod +x awk_dos.awk
2.创建计划任务,使其每5分钟执行一次
[root@centos8-06 ~]crontab -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin
*/5 * * * * root /root/awk_dos.awk /var/log/httpd/access_log
2、密钥交换的过程
客户端发起链接请求 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥) 客户端生成密钥对 客户端用自己的公钥异或会话ID,计算出一个值Res(随机值),并用服务端的公钥加密 客户端发送加密后的Res值到服务端,服务端用私钥解密,得到Res 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥) 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
3、https的通信过程
客服端发起HTTPS请求,在浏览器中输入一个https地址,然后连接到服务端443端口 服务端的配置,必须有一套数字证书,证书其实就是一对公钥和私钥 服务器将证书发送给客户端,证书里就是公钥,并包含颁发机构,过期时间等信息 客服端解析验证服务端证书,由客服端TLS来验证公钥是否有效,如果发现异常,则会弹出警告框,提示证书有问题。如果没有问题,就生成一个随机值,然后用证书中的公钥对该随机值进行非对称加密。 客户端将加密信息发送到服务端 服务端使用私钥解密信息,得到客服端的随机值 服务端加密信息并发送给客户端,即服务端利用随机值将数据进行对称加密,在发送给客户端 客户端收到并解密,客户端用之前生成的随机值解密服务端发送过来的数据,获得解密后的内容