1、解決DOS攻擊生產(chǎn)案例:根據(jù)web日志或者或者網(wǎng)絡(luò)連接數(shù),監(jiān)控當(dāng)某個(gè)IP?并發(fā)連接數(shù)或者短時(shí)內(nèi)PV達(dá)到100,即調(diào)用防火墻命令封掉對(duì)應(yīng)的IP,監(jiān)控頻?率每隔5分鐘。防火墻命令為:iptables?-A?INPUT?-s?IP?-j?REJECT
第一步編寫deny_dos.sh腳本
[root@centos8 ~]#cat deny_dos.sh
LINK=100
while true;do
ss -nt | awk -F"[[:space:]]+|:" '/^ESTAB/{print $(NF-2)}'|sort |uniq -
c|while read count ip;do
if [ $count -gt $LINK ];then
? iptables -A INPUT -s $ip -j REJECT
fi
done
done
第二步將deny_dos.sh腳本納入計(jì)劃任務(wù)中實(shí)現(xiàn)每5分鐘掃描一次
[root@centos8 ~]#chmod +x /root/deny_dos.sh
[root@centos8 ~]#crontab -e
[root@centos8 ~]#crontab -l
*/10 * * * * ? /root/deny_dos.sh
2、描述密鑰交換的過程? ?
一、RSA密鑰交換過程(沒有前向安全性,攻擊者可以把前面交互的內(nèi)容保存著,一旦拿到私鑰,就可以得到主密鑰):
1、客戶端準(zhǔn)備一個(gè)Client Random隨機(jī)數(shù),并將此隨機(jī)數(shù)和協(xié)議版本號(hào)以及支持的加密方式一起發(fā)給服務(wù)端。
2、服務(wù)端收到Client Random后,將服務(wù)端CA證書和服務(wù)端準(zhǔn)備的Sever Random隨機(jī)數(shù)一起發(fā)給客戶端。
3、客戶端校驗(yàn)服務(wù)端證書后并通過解密證書得到服務(wù)端的公鑰,同時(shí)客戶端再生成一個(gè)新的46位的隱私參數(shù)SecPara,并用服務(wù)端公鑰對(duì)這個(gè)隱私參數(shù)進(jìn)行加密后,發(fā)給服務(wù)端,此時(shí)客戶端已存有Client Random,Server Random,SecPara。
4、服務(wù)端對(duì)數(shù)據(jù)解密后,獲得SecPara。此時(shí)服務(wù)端也存有了Client Random,Server Random,SecPara。
5、客戶端和服務(wù)端根據(jù)之前約定好的加密方法,利用這三個(gè)參數(shù)生成一個(gè)新的對(duì)稱密鑰,此密鑰即為主密鑰。
6、雙方驗(yàn)證完主密鑰的有效性后,后續(xù)的數(shù)據(jù)交互即用此密鑰進(jìn)行對(duì)稱加密。
二、ECDHE密鑰交換過程(利用DH原理,避免了預(yù)備主密鑰的泄露,即使私鑰泄露,攻擊者也無法得到主密鑰):
1、客戶端準(zhǔn)備一個(gè)Client Random隨機(jī)數(shù),并將此隨機(jī)數(shù)和協(xié)議版本號(hào)以及支持的加密方式一起發(fā)給服務(wù)端。
2、服務(wù)端收到Client Random后,將服務(wù)端CA證書和服務(wù)端準(zhǔn)備的Sever Random隨機(jī)數(shù)、利用DH算法原理算出來的服務(wù)端DH參數(shù)一起發(fā)給客戶端。
3、客戶端校驗(yàn)服務(wù)端證書后并通過解密證書得到服務(wù)端的公鑰,并根據(jù)DH算法原理得到客戶端DH參數(shù),將此參數(shù)利用服務(wù)端公鑰加密后傳給服務(wù)端,然后利用DH算法原理和服務(wù)端的DH參數(shù)得到預(yù)備主密鑰
4、服務(wù)端得到客戶端DH參數(shù)后,利用DH算法原理和客戶端DH參數(shù)得到預(yù)備主密鑰,按照DH原理,服務(wù)端算出的預(yù)備主密鑰和客戶端算出的預(yù)備主密鑰是一致的,這樣避免了預(yù)備主密鑰的泄露。
5、再根據(jù)原先約定好的加密方式,利用Client Random,Server Random,預(yù)備主密鑰三個(gè)參數(shù)生成一個(gè)新的密鑰即為主密鑰
6、雙方驗(yàn)證完主密鑰的有效性后,后續(xù)的數(shù)據(jù)交互即用此密鑰進(jìn)行對(duì)稱加密。