1、解決DOS攻擊生產(chǎn)案例:根據(jù)web日志或者或者網(wǎng)絡(luò)連接數(shù),監(jiān)控當(dāng)某個IP?并發(fā)連接數(shù)或者短時內(nèi)PV達(dá)到100,即調(diào)用防火墻命令封掉對應(yīng)的IP,監(jiān)控頻?率每隔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、描述密鑰交換的過程
前提
? ? 非對稱加密
? ? 公私鑰能相互解開,但是對于被嵌套的公私鑰,相當(dāng)于嵌套的鎖,一定要將外層的鎖解開之后才能解開內(nèi)層的鎖
? ? 有一個公證人,即證書中心,CA
過程
? ? 服務(wù)器產(chǎn)生公私鑰
? ? 將公私鑰發(fā)送給CA
? ? CA生成客戶端瀏覽器公私鑰
? ? CA使用客戶端瀏覽器的私鑰對共服務(wù)器的公鑰進(jìn)行加密,得到證書,返回給服務(wù)器
? ? CA將證書發(fā)給客戶端
? ? 服務(wù)器發(fā)送公鑰與證書給客戶端
? ? 客戶端利用公鑰對證書解密,對比服務(wù)端公鑰,確認(rèn)來源無誤
? ? 客戶端生成隨機(jī)密碼,保存在本地,然后使用服務(wù)端公鑰加密
? ? 將加密的密碼返回給服務(wù)端
? ? 服務(wù)端使用私鑰解密得到客戶端密碼
? ? 此時完成了密碼交換工作
? ? 此后進(jìn)行的所有數(shù)據(jù)交換都會事先使用這個密碼進(jìn)行對稱加密,如DES,3DES。
? ? 總結(jié):對密鑰進(jìn)行非對稱加密,后使用密鑰進(jìn)行對稱加密
3、https的通信過程
https的特點(diǎn)
1. https有 握手階段 和 請求階段
2. 握手階段 使用 非對稱加密算法
請求階段 使用 對稱加密算法
3. 保證數(shù)據(jù)的完整性使用數(shù)字簽名
4. 握手階段有兩組非對稱加密,數(shù)字證書本身有一組公私鑰,用于將服務(wù)器公鑰發(fā)送到客戶端。
服務(wù)器也有一組公私鑰,用于將客戶端的隨機(jī)密碼發(fā)送到服務(wù)器。
https基本過程
1. 客戶端請求服務(wù)器,服務(wù)器返回數(shù)字證書(里面包括,服務(wù)器公鑰,網(wǎng)站地址,證書頒發(fā)機(jī)構(gòu)),數(shù)字證書本身使用證書私鑰加密
2. 解密證書,驗(yàn)證證書數(shù)字簽名,通過操作系統(tǒng)和瀏覽器內(nèi)置的CA證書信息。驗(yàn)證通過后,客戶端生成一個隨機(jī)密碼,用接收到的服務(wù)器公鑰將其加密,發(fā)送到服務(wù)器
3. 用服務(wù)器私鑰解密,得到隨機(jī)密碼
4. 握手結(jié)束,之后的通信全部使用隨機(jī)密碼進(jìn)行對稱加密通信
https的缺點(diǎn)
1. 握手階段增加了服務(wù)器和客戶端的開銷,延長了通信時間
2. 通信階段使用對稱加密也會增加服務(wù)器和客戶端的負(fù)擔(dān)