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
cat hostscan.sh
#!/bin/bash
ss -nt|awk -F"[[:space:]]+|:" '/^ESTAB/{count[$(NF-2)]++}END{for(i in count){if(count[i]>=100) {system(iptables -A INPUT -s i -j REJECT)}}}'
crontab -l
*/5 * * * * ./hostscan.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ì)稱加密默刚。
3、https的通信過程
1渣触、客戶端發(fā)起https連接請(qǐng)求羡棵,連接到服務(wù)器的443端口
2、服務(wù)端準(zhǔn)備好ca證書(用于給客戶端確認(rèn)所用)嗅钻,并將證書傳送給客戶端
3皂冰、客戶端收到服務(wù)端的ca證書后,核查證書的有效性养篓,如頒發(fā)機(jī)構(gòu)和有效時(shí)間等等秃流,如果異常就會(huì)彈出告警窗。
4柳弄、確認(rèn)證書無誤后舶胀,客戶端會(huì)產(chǎn)生一個(gè)隨機(jī)值,然后利用證書里的服務(wù)端公鑰對(duì)隨機(jī)值進(jìn)行加密后碧注,將其發(fā)送給服務(wù)端嚣伐。
5、服務(wù)端用私鑰解密后萍丐,獲得客戶端發(fā)來的隨機(jī)值轩端,至此客戶端和服務(wù)端都具有了這個(gè)隨機(jī)值。
6逝变、此后客戶端服務(wù)端交互數(shù)據(jù)就利用這個(gè)隨機(jī)值作為對(duì)稱加密的密鑰進(jìn)行加密解密了基茵。
7、客戶端利用隨機(jī)值作為密鑰對(duì)數(shù)據(jù)進(jìn)行對(duì)稱加密壳影,然后將加密后的數(shù)據(jù)發(fā)送給服務(wù)端
8拱层、服務(wù)端收到后利用隨機(jī)值進(jìn)行解密,獲得數(shù)據(jù)宴咧。