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