第七周作业
1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
#!/bin/bash
NUM=100
while true; do
ss -nt |grep -e ^[^State] | awk -F"[ :]+" '{print $4}' | sort | uniq -c | while read COUNT IP; do
if [[ $COUNT -gt $NUM ]]; then
iptables -A INPUT -s $IP -j REJECT
fi
done
done
2、描述密钥交换的过程
- 客户端先连上服务端
- 服务端生成一个随机数 s 作为自己的私钥,然后根据算法参数计算出公钥 S(算法参数通常是固定的)
- 服务端使用某种签名算法把“算法参数(模数p,基数g)和服务端公钥S”作为一个整体进行签名
- 服务端把“算法参数(模数p,基数g)、服务端公钥S、签名”发送给客户端
- 客户端生成一个随机数 c 作为自己的私钥,然后根据算法参数计算出公钥 C
- 客户端把 C 发送给服务端
- 客户端和服务端(根据上述 DH 算法)各自计算出 k 作为会话密钥
3、https的通信过程
HTTPS通信主要包括几个节点,发起请求、验证身份、协商秘钥、加密会话,具体流程如下(此例子只有客户端对服务端的单向验证):
1、客户端向服务端发起建立HTTPS请求。
2、服务器向客户端发送数字证书。
3、客户端验证数字证书,证书验证通过后客户端生成会话密钥(双向验证则此处客户端也会向服务器发送证书)。
4、服务器生成会话密钥(双向验证此处服务端也会对客户端的证书验证)。
5、客户端与服务端开始进行加密会话。
4、使用awk以冒号分隔获取/ettc/passwd文件第一列
awk -F: '{print $1}' /etc/passwd