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