2022-10-02 分類: 網(wǎng)站建設(shè)
前幾天一個(gè)朋友的網(wǎng)站突然打不開了,懷疑被DDoS攻擊叫我?guī)兔匆幌拢?jīng)過診斷發(fā)現(xiàn),可能是有人使用作弊手段刷廣告,導(dǎo)致流量暴增,服務(wù)器機(jī)房的人以為被DDoS攻擊了趕緊黑洞了服務(wù)器,導(dǎo)致網(wǎng)站打不開了。那小編是如何判斷服務(wù)器是否被DDoS惡意攻擊呢?
診斷
遇到懷疑攻擊情況,首先要看看服務(wù)器上面的情況,首先top一下,看看服務(wù)器負(fù)載,如果負(fù)載不高,那么基本可以判斷不是cc類型的攻擊,再輸入命令
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
查看下網(wǎng)絡(luò)連接的情況,會(huì)得到下面這些結(jié)果:
TCP/IP協(xié)議使用三次握手來建立連接,過程如下:
1、第一次握手,客戶端發(fā)送數(shù)據(jù)包syn到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待回復(fù)
2、第二次握手,服務(wù)器發(fā)送數(shù)據(jù)報(bào)syn/ack,給客戶機(jī),并進(jìn)入SYN_RECV狀態(tài),等待回復(fù)
3、第三次握手,客戶端發(fā)送數(shù)據(jù)包ACK給客戶機(jī),發(fā)送完成后,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),鏈接建立完成
如果ESTABLISHED非常地高,那么可能是有人在惡意攻擊,進(jìn)一步判斷,可以把下面命令保存為腳本執(zhí)行一下:
for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 > 50) {print $2}}'`
do
echo $i
echo $i >> /tmp/evilip
done
如果輸出了多個(gè)結(jié)果,那么可能表示有人在企圖進(jìn)行DDOS攻擊,想用TCP連接來拖死你的服務(wù)器,輸出的ip就是發(fā)出請(qǐng)求的服務(wù)器地址,并且保存在了/tmp/evilip里面。如果沒有結(jié)果,可以調(diào)整一下閾值,把50改成40試一試,對(duì)策我們后面再說,這里只講判斷。
如果SYN_RECV非常高,那么表示受到了SYN洪水攻擊。
如果上面的值看不出什么異常的話,我們來抓包分析下,可能并非基于TCP的攻擊。抓包命令:
tcpdump -w tmp.pcap port not 22
抓包感覺差不多了就ctrl+c結(jié)束,結(jié)果在保存在當(dāng)前目錄下的tmp.pcap文件中,我們可以使用命令
tcpdump -r tmp.pcap -nnA
來查看,也可以拖回本地用wireshark打開分析等,個(gè)人喜好了。如果出現(xiàn)大量的ICMP包或者大量的UDP包,那么可能就是針對(duì)性的ICMP洪水以及UDP洪水了。
TCP連接攻擊
TCP連接攻擊算是比較古老的了,防御起來也相對(duì)比較簡(jiǎn)單,主要是利用大量的TCP連接來消耗系統(tǒng)的網(wǎng)絡(luò)資源,通常同一個(gè)IP會(huì)建立數(shù)量比較大的TCP連接,并且一直保持。應(yīng)對(duì)方法也比較簡(jiǎn)單,可以將以下命令保存為腳本,定時(shí)ban掉那些傀儡機(jī)ip
for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 > 50) {print $2}}'`
do
echo $i
echo $i >> /tmp/banip
/sbin/iptables -A INPUT -p tcp -j DROP -s $i
done
banip文件里面記錄了所有被ban的ip地址信息,方面進(jìn)行反滲透以及證據(jù)保存等等。為了更好地加固系統(tǒng),我們可以使用iptables來限制一下,單個(gè)ip的大連接數(shù)。
iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT
限制每個(gè)ip的連接數(shù)為10。如果是大些業(yè)務(wù)系統(tǒng)的話,需要注意,上面的做法可能導(dǎo)致一些共用IP的用戶訪問中斷。需要謹(jǐn)慎。
SYN洪水攻擊
SYN洪水是利用TCP/IP協(xié)議的設(shè)計(jì)缺陷來進(jìn)行攻擊的,采用一些策略以及配置可以適當(dāng)?shù)慕档凸舻挠绊?,但并不能完全消除?/p>
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_syn_retries = 0
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
tcp_syncookies設(shè)置為1表示啟用syncookie,可以大大降低SYN攻擊的影響,但是會(huì)帶來新的安全缺陷。 tcp_syn_retries 表示syn重試次數(shù),重傳次數(shù)設(shè)置為0,只要收不到客戶端的響應(yīng),立即丟棄該連接,默認(rèn)設(shè)置為5次。 tcp_max_syn_backlog表示syn等待隊(duì)列,改小這個(gè)值,使得SYN等待隊(duì)列變短,減少對(duì)系統(tǒng)以及網(wǎng)絡(luò)資源的占用。
當(dāng)攻擊者的資源非常的多,上面這些方法限制可能就沒有什么防護(hù)效果了,面對(duì)大流量DDoS攻擊還是要考慮采用多機(jī)負(fù)載或者選擇墨者安全高防來應(yīng)對(duì)了,一般來說多機(jī)負(fù)載的成本可能更高,所以大部分人還是選擇高防硬防產(chǎn)品來防御。
原文地址:https://blog.csdn.net/weixin_28886649/article/details/119402982
新聞標(biāo)題:ddos攻擊服務(wù)器會(huì)顯示什么?怎么判斷服務(wù)器是否被DDoS惡意攻擊?
標(biāo)題路徑:http://www.rwnh.cn/news37/200387.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站制作、電子商務(wù)、微信公眾號(hào)、網(wǎng)站策劃、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容