1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
PV:页面访问量,即PageView,用户每次对网站的访问均被记录,用户对同一页面的多次访问,访问量累计。
[17:38:52 root@CentOS8-cloud Script.sh][#vim dos_attack.sh
1 #!/bin/bash
...
8 PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
9 export PATH
10 LINK=100
11 while true; do
12 ss -nt | awk '/^E/{print $5}' |awk -F: '{print $1}'|sort | uniq -c |while read COUNT IP; do
13 if [ $COUNT -gt $LINK ] ;then
14 iptables -A INPUT -s $IP -j REJECT
15
16 fi
17 done
18 done
19
20
21
22 #-F"[[:space:]]+|:" 指定分隔符为(空格且空格个数大于1和":")
23 #NF(取列) 为awk 的内置变量;NF-2倒数第2列
24 #ss -nt | awk '/^E/{print $5}' |awk -F: '{print $1}' = ss -nt | awk -F"[[:space:]]+|:" '/^ESTAB/{print $(NF-2)}'
[17:52:32 root@CentOS8-cloud Script.sh][#bash -n dos_attack.sh
[17:52:37 root@CentOS8-cloud Script.sh][#chmod +x dos_attack.sh
[17:53:20 root@CentOS8-cloud Script.sh]#crontab -e
[17:54:15 root@CentOS8-cloud Script.sh]#crontab -l
*/5 * * * * /data/Script.sh/dos_attack.sh #每5分钟执行一次
2、描述密钥交换的过程
1、秘钥交换IKE(Internet Key Exchange):
公钥机密:用目标的公钥加密对称密钥
DH(Deffie-Hellman): 生成对话(会话)密钥
2、DH 介绍
(1)这个密钥交换方法,由惠特菲尔德·迪菲(Bailey Whitfield Diffie)和马丁·赫尔曼(Martin
Edward Hellman)在1976年发表。
(2)它是一种安全协议,让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥,这个密钥一般作为“对称加密”的密钥而被双方在后续数据传输中使用。
(3)DH数学原理是base离散对数问题。做类似事情的还有非对称加密类算法,如:RSA。
(4)其应用非常广泛,在SSH、VPN、Https...都有应用,勘称现代密码基石
3、DH实现过程(A与B进行通信):
A: g,p 协商生成公开的质数
B: g,p
A:生成隐私数据:a (a<p),计算得出 g^a%p,发送给B
B:生成隐私数据:b,(b<p),计算得出 g^b%p,发送给A
A:计算得出 [(g^b%p)^a]%p = g^ab%p,生成为密钥
B:计算得出 [(g^a%p)^b]%p = g^ab%p,生成为密钥
4、DH的特点:
(1)泄密风险:私密数据a,b在生成K后将被丢弃,因此不存在a,b过长时间存在导致增加泄密风险。
(2)中间人攻击:由于DH在传输p,g时并无身份验证,所以有机会被实施中间人攻击,替换双方传输时的数据。
3、https的通信过程
1. 简写:
客户端C(Client)、服务器端S(Server)、公钥P(Public)、私钥S(Secret)、随机值(X)
2.前提:
服务器端(S):采用HTTPS协议生成一套数字证书(证书的本质:公钥(P)+私钥(S)),这个数字证书可以是受信任的公司颁发,或者自制。
3.补充:
证书:P、S、有效期、哪个机构颁发、颁发的对象是谁等等信息。
对称加密:使用同一个秘钥。
非对称加密:公钥和私钥。
HTTPS通信过程:
1、C端向S端发起HTTPS请求(通常是输入网址)。
2、S端做出响应,并且发送证书的相关信息(尤其是P)给C端
3、C端验证S端发来的证书相关信息,如果证书不可靠或者有风险提示,则C端可以继续访问或者断开连接;如果证书可靠,且继续访问,那么就生成一个X。然后用证书中P对该X进行非对称加密 ,并将加密后的数据发送给S端。
4、S端收到C端非对称加密后的数据,并用S端的S(私钥)进行解密,得到C端发来的X。S端将数据X,利用对称加密,再发送给C端。
5、C端用之前生成的X解密服务段传过来的数据,于是获取了解密后的内容
4、使用awk以冒号分隔获取/etc/passwd文件第一列
[10:53:57 root@CentOS8-cloud ~][#awk -F: '{print $1}' /etc/passwd
root
bin
daemon
adm
...