第七周
1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
- 脚本
LINK=100
ss -nt | awk -F "[[:space:]]+|:" '/^ESTAB/{print$(NF-4)}'|sort|uniq -c | while read count ip;do
if [ $count -gt $LINK ];then
iptables -A INPUT -s $ip -j REJECT
fi
done
- 脚本每分钟执行一次
crontab -l
*/5 * * * * /root/deny_ip.sh
2、描述密钥交换的过程
- 密钥交换: IKE
公钥机密:用目标的公钥加密对称密钥
DH(Deffie-Hellman): 生成对话(会话)密钥
- 实现过程
A:协商生成公开的整数 g , p
B:g , p
A: 生成隐私数据: a(a<p) ,计算得出g^a%p, 发送给B
B: 生成隐私数据: b(b<p) ,计算得出g^b%p, 发送给A
A: 计算得出[(gb%p)a]%p=g^ab%p,生成密钥
B: 计算得出[(ga%p)b]%p=g^ab%p,生成密钥
3、https的通信过程
- 首先,用户在浏览器地址栏键入URL,向远程服务端发起HTTPS请求;
- 浏览器发起与对应URL的服务端的443端口的3次握手过程,建立TCP连接,并将请求数据传送至服务端;
- 服务端接收到请求数据后,将自己申请到的或自己颁发的证书传送给客户端;
- 客户端解析并验证服务端的证书是否合法有效,如发现异常,则会弹出警告,提示证书存在问题。如未发生异常,就会生成一个随机值,然后用证书中的公钥对该随机值进行非对称加密;
- 客户端将非对称加密后的随机值传送至服务端,服务端接收到该加密信息后,用对应的私钥进行解密,从而获得这个随机值(该随机值,用作客户、服务端后续通信时加密解密的对称密钥);
- 服务端响应客户端的请求,通过自身预定义的业务逻辑,提取相关数据,并将数据通过随机值进行对称加密,再发送给客户端;
- 客户端接收到对称加密了的请求的相应数据后,使用随机值对其进行解密,然后交给应用层显示该数据内容。
4、使用awk以冒号分隔获取/ettc/passwd文件第一列
[root@lib data]#awk -F: '{print $1 }' /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown