就目前的網(wǎng)絡(luò)環(huán)境而言,網(wǎng)絡(luò)攻擊時(shí)有發(fā)生,怎么判斷是否被DDoS惡意攻擊呢?很多時(shí)候我們都會被這種惡意攻擊所影響,但我們因?yàn)闆]能及時(shí)發(fā)現(xiàn)并解決而造成更大的損失。如何檢測ddos攻擊這就至關(guān)重要,今天就跟著快快網(wǎng)絡(luò)小編一起來學(xué)習(xí)下吧。
怎么判斷是否被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ò)連接的情況,會得到下面這些結(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ā)出請求的服務(wù)器地址,并且保存在了/tmp/evilip里面。如果沒有結(jié)果,可以調(diào)整一下閾值,把50改成40試一試,對策我們后面再說,這里只講判斷。如果SYN_RECV非常高,那么表示受到了SYN洪水攻擊。
SYN洪水是利用TCP/IP協(xié)議的設(shè)計(jì)缺陷來進(jìn)行攻擊的,采用一些策略以及配置可以適當(dāng)?shù)慕档凸舻挠绊懀⒉荒芡耆?/p>
tcp_syncookies設(shè)置為1表示啟用syncookie,可以大大降低SYN攻擊的影響,但是會帶來新的安全缺陷。
tcp_syn_retries 表示syn重試次數(shù),重傳次數(shù)設(shè)置為0,只要收不到客戶端的響應(yīng),立即丟棄該連接,默認(rèn)設(shè)置為5次。
tcp_max_syn_backlog表示syn等待隊(duì)列,改小這個(gè)值,使得SYN等待隊(duì)列變短,減少對系統(tǒng)以及網(wǎng)絡(luò)資源的占用。
TCP連接攻擊算是比較古老的了,防御起來也相對比較簡單,主要是利用大量的TCP連接來消耗系統(tǒng)的網(wǎng)絡(luò)資源,通常同一個(gè)IP會建立數(shù)量比較大的TCP連接,并且一直保持。應(yīng)對方法也比較簡單,可以將以下命令保存為腳本,定時(shí)ban掉那些傀儡機(jī)ip。
banip文件里面記錄了所有被ban的ip地址信息,方面進(jìn)行反滲透以及證據(jù)保存等等。為了更好地加固系統(tǒng),我們可以使用iptables來限制一下,單個(gè)ip的最大連接數(shù)。
當(dāng)攻擊者的資源非常的多,上面這些方法限制可能就沒有什么防護(hù)效果了,面對大流量DDoS攻擊還是要考慮采用多機(jī)負(fù)載或者選擇墨者安全高防來應(yīng)對了,一般來說多機(jī)負(fù)載的成本可能更高,所以大部分人還是選擇墨者高防硬防產(chǎn)品來防御。
如何查看服務(wù)器是否被ddos攻擊?
ddos攻擊指借助于客戶/服務(wù)器技術(shù),將多個(gè)計(jì)算機(jī)聯(lián)合起來作為攻擊平臺,對一個(gè)或多個(gè)目標(biāo)發(fā)動(dòng)攻擊,從而成倍地提高拒絕服務(wù)攻擊的威力。ddos的攻擊方式有很多種,最基本的dos攻擊就是利用合理的服務(wù)請求來占用過多的服務(wù)資源,從而使合法用戶無法得到服務(wù)的響應(yīng)。
第一,寬帶被占用,寬帶占用資源,一般是ddos攻擊中最重要的一個(gè)手段。畢竟對于中小型企業(yè)來講,能夠享受到的寬帶資源還是很有限的。Ddos攻擊之后,寬帶資源被占據(jù),正常的流量很難滿足服務(wù)器運(yùn)行需求。如果你的服務(wù)器寬帶占用比率為百分之九十的話,很有可能是遭受到ddos攻擊了。
第二,連接不到服務(wù)器,一旦網(wǎng)站被ddos攻擊之時(shí),是會造成電腦死機(jī)或者是藍(lán)屏的。這就代表著你使用的電腦服務(wù)器連接不成功。服務(wù)器連接不成功或者是連接出現(xiàn)錯(cuò)誤的話,服務(wù)器能不能出現(xiàn)故障等問題,在進(jìn)行服務(wù)器連接的同時(shí),做好相關(guān)防御。
第三,內(nèi)存被大量占用,如何查看服務(wù)器是否被ddos攻擊,這一點(diǎn)是最重要的。Ddos攻擊本身就是在惡意導(dǎo)致資源被占用。攻擊者們利用攻擊軟件,針對服務(wù)器發(fā)送大量的垃圾請求。最后導(dǎo)致服務(wù)器被大量的所占用。因?yàn)檎>W(wǎng)站進(jìn)程,不能得到有效的處理,而且還會出現(xiàn)緩慢打開情況。就會出現(xiàn)服務(wù)器內(nèi)存被大量的占據(jù)。
如何檢測ddos攻擊
要檢測DDoS攻擊程序的存在,可以有2種方法:
1、通常,我們可以使用文件系統(tǒng)掃描工具來確定在服務(wù)器文件系統(tǒng)上是否存在已知的DDoS攻擊程序。
同病毒軟件一樣,每當(dāng)有新的DDoS發(fā)明出來,當(dāng)前的DDoS工具就將過時(shí),或者它對現(xiàn)存的DDoS進(jìn)行修改而避開檢查。所以,要選擇最近更新的掃描工具才能檢測到最新的DDoS攻擊程序。FBI提供了一個(gè)工具叫做"find_ddos",用于檢測一些已知的拒絕服務(wù)工具,包括trinoo進(jìn)程、trinoo主人、加強(qiáng)的tfn進(jìn)程、tfn客戶程序、tfn2k客戶程序和tfn-rush客戶程序。
請注意,F(xiàn)BI的這個(gè)工具并不能保證捕獲所有的DDoS工具。如果侵入者安裝了一個(gè)根文件包,那么find_ddos程序就有可能無法處理它。
2、還可使用手工方法對起源于本地網(wǎng)絡(luò)中的DDoS活動(dòng)進(jìn)行雙重檢查。
在Web服務(wù)器與Internet或者上游ISP連接之間的防火墻上建立一個(gè)濾波器,以尋找spoofed (哄騙)信息包,也就是那些不是從你自己的網(wǎng)絡(luò)上生成的信息包。這就是所謂的出口過濾。如果在你的網(wǎng)絡(luò)上正在生成spoofed信息包,那么這很可能是一個(gè)DDoS程序生成的。
怎么判斷是否被DDoS惡意攻擊成為現(xiàn)在的必修課,很多時(shí)候被攻擊是因?yàn)閻盒愿偁帉?dǎo)致的,直接造成服務(wù)器癱瘓損失巨大。所以我們要在攻擊發(fā)生之前就要做好防備,檢測ddos攻擊,以免造成更大的損失。