ddos攻擊服務器會顯示什么?怎么判斷服務器是否被DDoS惡意攻擊?

2022-10-02    分類: 網(wǎng)站建設

前幾天一個朋友的網(wǎng)站突然打不開了,懷疑被DDoS攻擊叫我?guī)兔匆幌拢?jīng)過診斷發(fā)現(xiàn),可能是有人使用作弊手段刷廣告,導致流量暴增,服務器機房的人以為被DDoS攻擊了趕緊黑洞了服務器,導致網(wǎng)站打不開了。那小編是如何判斷服務器是否被DDoS惡意攻擊呢?

ddos攻擊服務器會顯示什么?怎么判斷服務器是否被DDoS惡意攻擊?

診斷

遇到懷疑攻擊情況,首先要看看服務器上面的情況,首先top一下,看看服務器負載,如果負載不高,那么基本可以判斷不是cc類型的攻擊,再輸入命令

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查看下網(wǎng)絡連接的情況,會得到下面這些結(jié)果:

ddos攻擊服務器會顯示什么?怎么判斷服務器是否被DDoS惡意攻擊?

TCP/IP協(xié)議使用三次握手來建立連接,過程如下:

1、第一次握手,客戶端發(fā)送數(shù)據(jù)包syn到服務器,并進入SYN_SEND狀態(tài),等待回復

2、第二次握手,服務器發(fā)送數(shù)據(jù)報syn/ack,給客戶機,并進入SYN_RECV狀態(tài),等待回復

3、第三次握手,客戶端發(fā)送數(shù)據(jù)包ACK給客戶機,發(fā)送完成后,客戶端和服務器進入ESTABLISHED狀態(tài),鏈接建立完成

如果ESTABLISHED非常地高,那么可能是有人在惡意攻擊,進一步判斷,可以把下面命令保存為腳本執(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

如果輸出了多個結(jié)果,那么可能表示有人在企圖進行DDOS攻擊,想用TCP連接來拖死你的服務器,輸出的ip就是發(fā)出請求的服務器地址,并且保存在了/tmp/evilip里面。如果沒有結(jié)果,可以調(diào)整一下閾值,把50改成40試一試,對策我們后面再說,這里只講判斷。

 

如果SYN_RECV非常高,那么表示受到了SYN洪水攻擊。

如果上面的值看不出什么異常的話,我們來抓包分析下,可能并非基于TCP的攻擊。抓包命令:

tcpdump -w tmp.pcap port not 22

抓包感覺差不多了就ctrl+c結(jié)束,結(jié)果在保存在當前目錄下的tmp.pcap文件中,我們可以使用命令

tcpdump -r tmp.pcap -nnA

來查看,也可以拖回本地用wireshark打開分析等,個人喜好了。如果出現(xiàn)大量的ICMP包或者大量的UDP包,那么可能就是針對性的ICMP洪水以及UDP洪水了。

ddos攻擊服務器會顯示什么?怎么判斷服務器是否被DDoS惡意攻擊?

TCP連接攻擊

TCP連接攻擊算是比較古老的了,防御起來也相對比較簡單,主要是利用大量的TCP連接來消耗系統(tǒng)的網(wǎng)絡資源,通常同一個IP會建立數(shù)量比較大的TCP連接,并且一直保持。應對方法也比較簡單,可以將以下命令保存為腳本,定時ban掉那些傀儡機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ù)保存等等。為了更好地加固系統(tǒng),我們可以使用iptables來限制一下,單個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

限制每個ip的連接數(shù)為10。如果是大些業(yè)務系統(tǒng)的話,需要注意,上面的做法可能導致一些共用IP的用戶訪問中斷。需要謹慎。

ddos攻擊服務器會顯示什么?怎么判斷服務器是否被DDoS惡意攻擊?

SYN洪水攻擊

SYN洪水是利用TCP/IP協(xié)議的設計缺陷來進行攻擊的,采用一些策略以及配置可以適當?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設置為1表示啟用syncookie,可以大大降低SYN攻擊的影響,但是會帶來新的安全缺陷。 tcp_syn_retries 表示syn重試次數(shù),重傳次數(shù)設置為0,只要收不到客戶端的響應,立即丟棄該連接,默認設置為5次。 tcp_max_syn_backlog表示syn等待隊列,改小這個值,使得SYN等待隊列變短,減少對系統(tǒng)以及網(wǎng)絡資源的占用。

 

當攻擊者的資源非常的多,上面這些方法限制可能就沒有什么防護效果了,面對大流量DDoS攻擊還是要考慮采用多機負載或者選擇墨者安全高防來應對了,一般來說多機負載的成本可能更高,所以大部分人還是選擇高防硬防產(chǎn)品來防御。

原文地址:https://blog.csdn.net/weixin_28886649/article/details/119402982

新聞標題:ddos攻擊服務器會顯示什么?怎么判斷服務器是否被DDoS惡意攻擊?
標題路徑:http://www.bm7419.com/news37/200387.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站制作電子商務、微信公眾號、網(wǎng)站策劃定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司