拒絕服務(wù)淹沒攻擊是針對的八大攻擊之一,也是危害性比較大的攻擊方式。簡單的說,拒絕服務(wù)淹沒攻擊是由惡意的(或者被綁架的用戶)用戶、進(jìn)程和系統(tǒng)發(fā)起的,目的是通過淹沒網(wǎng)路連接來阻止合法用戶的正常訪問?,F(xiàn)在沒有任何一款產(chǎn)品可以從根本上解決拒絕服務(wù)淹沒攻擊,而只能過從一定程度上緩解這種攻擊的不利癥狀。在這里筆者要向大家介紹一下,針對整個拒絕服務(wù)淹沒攻擊,F(xiàn)orefront產(chǎn)品主要提供了哪些應(yīng)對措施。
一、拒絕服務(wù)淹沒攻擊的常見方式
其實(shí)拒絕服務(wù)淹沒攻擊是一個統(tǒng)稱。具體實(shí)現(xiàn)這種攻擊的方法有很多。如通過傳播、SYN攻擊、TCP淹沒攻擊、HTTP拒絕服務(wù)攻擊等等,都可以實(shí)現(xiàn)拒絕服務(wù)淹沒攻擊的目的。最要命的是,不同的攻擊方式,其應(yīng)對措施也是不同的。
筆者有時候會將這種攻擊比喻成“感冒”。1萬個人感冒,其癥狀可能都是類似的。如發(fā)熱、鼻涕、頭暈等等。但是引起感冒的確千差萬別。為此現(xiàn)在沒有一種特效藥能夠用來應(yīng)對所有的感冒病毒。也就是說,現(xiàn)在市面上的感冒藥品,主要是用來緩解其感冒的癥狀,而并不是真正意義上殺死病毒。而這個拒絕服務(wù)淹沒攻擊跟感冒病毒一樣,實(shí)現(xiàn)方式有很多種,其最終的癥狀可能只有一個:淹沒網(wǎng)絡(luò)連接來阻止合法用戶的正常訪問。
那么Forefront可以用來識別并防止哪些類型的淹沒攻擊呢?到目前為止,主要的淹沒攻擊的方式Forefront都可以識別。包括以上舉例的常見攻擊方式,還包括非主流的攻擊方式,如非TCP分布式拒絕服務(wù)攻擊、UDP淹沒攻擊等等,F(xiàn)orefrotn都可以很好的識別并有效的減緩其攻擊的癥狀(注意并不能夠百分之百的消除,而是99%的減緩)。
二、Forefront產(chǎn)品針對拒絕服務(wù)攻擊的工作原理
一般來說,F(xiàn)orefront產(chǎn)品針對拒絕服務(wù)淹沒攻擊主要是通過以下三個步驟來完成的。
第一步:識別惡意通訊的連接。Forefront產(chǎn)品會根據(jù)一定的規(guī)則對網(wǎng)絡(luò)中的連接進(jìn)行偵測。當(dāng)發(fā)現(xiàn)有可疑的連接時,系統(tǒng)就會記錄在案,并將其視為“嫌疑犯”,對其后續(xù)的內(nèi)容進(jìn)行跟蹤,直到消除其嫌疑為止。
第二步:超過連接限制時觸發(fā)警報并阻止惡意通訊的連接限制。當(dāng)超過正常的連接,并且已經(jīng)影響到其他用戶的合法訪問的時候,系統(tǒng)就會發(fā)出警報。并且根據(jù)網(wǎng)絡(luò)安全人員的設(shè)置,會自動阻止惡意的連接限制。防止其繼續(xù)發(fā)起拒絕服務(wù)淹沒攻擊,給其他人員的正常訪問帶來不利影響。
第三步:紀(jì)錄淹沒緩解的事件。在系統(tǒng)事件日志中,還會對攻擊過程中,淹沒緩解的事件進(jìn)行記錄。在后續(xù)故障排查過程中,這些事件信息非常的關(guān)鍵。有了這些事件信息的話,系統(tǒng)管理員可以在比較短的時間之內(nèi),找到內(nèi)部參與攻擊的IP地址。這主要是因?yàn)樵谶@個攻擊中,內(nèi)部的不少主機(jī)可能在不知不覺當(dāng)中成為了別人的“肉雞”,成為了幫兇。及時的清除這些幫兇,對于避免下一步的攻擊會很有幫助。
三、通過連接限制來防止拒絕服務(wù)攻擊
對于Forefront來說,其主要的控制手段就是“連接限制”。這歸根結(jié)底是一種“配額機(jī)制”。這個機(jī)制會對處理的TCP和非TCP通訊強(qiáng)制應(yīng)用連接限制。具體的連接限制有如下幾種。
1、用于限制在一秒鐘內(nèi)可以為單個服務(wù)器發(fā)布或者訪問規(guī)則創(chuàng)建的UDP以及其他原始IP連接總數(shù)的連接限制。這主要用來針對UDP淹沒攻擊。
2、用戶確定允許在一分鐘之內(nèi)從IP地址例外列表中不包括單個IP地址建立多少個TCP連接請求和HTTP連接的請求連接限制。與此類似,還有一個用于確定接受從IO地址例外列表中不包括單個IP地址建立多少個并發(fā)傳輸層協(xié)議的連接限制。這主要用來應(yīng)對非UDP方式的淹沒式攻擊。另外值得提醒的一點(diǎn)是,以上這兩個限制時間的單位是不同的。第一個連接限制是指在一秒鐘之內(nèi)可以連接的總數(shù)。而下面這個則是在一分鐘之內(nèi)可以連接的數(shù)量。在配制的時候,一定需要注意這兩個單位的不同。否則的話,會鬧笑話的。
在具體應(yīng)用這個連接限制來避免淹沒拒絕服務(wù)攻擊的時候,還需要注意以下事項(xiàng)。
注意事項(xiàng)一:如果企業(yè)部屬了一個,此時往往需要設(shè)置限制來保障Web服務(wù)器的安全。此時在配置連接限制的過程中,需要注意在特定網(wǎng)絡(luò)的Web代理屬性中制定連接設(shè)置時(最多可用的連接數(shù)),系統(tǒng)同時將限制在任何特定時間內(nèi)在端口80上網(wǎng)絡(luò)所允許的并發(fā)傳出Web連接數(shù)。
注意事項(xiàng)二:Web偵聽器與連接限制的沖突。有時候?yàn)榱朔治鼍W(wǎng)絡(luò)協(xié)議、優(yōu)化網(wǎng)絡(luò)性能的需要,可能要在一段時間內(nèi)使用Web偵聽器。不過此時Web偵聽器的工作可能會與連接限制相沖突。為了避免工作中的沖突,往往需要一些額外的配置。如需要在Web偵聽器上制定連接限制,同時將限制使用特定的Web偵聽器發(fā)布的網(wǎng)路哦所允許的連接數(shù)。另外,還需要在每個Web偵聽器的屬性中以及可以從中發(fā)送傳出Web請求的每個網(wǎng)絡(luò)的Web代理屬性中,針對Web代理篩選器所處理的通訊配置連接限制。顯然將他們兩個工作在同一環(huán)境中,需要許多額外的配置。為此筆者并不建議將他們部署在同一個應(yīng)用環(huán)境中。筆者推薦的做法是,如果Web偵聽器不怎么用的話,那么可以采取比較折中的方式。如在需要使用Web偵聽器來收集數(shù)據(jù)的時候,先將連接限制的功能取消掉。等到數(shù)據(jù)收集完畢之后,再進(jìn)行啟用。從實(shí)際操作來看,這可能更加的合理。畢竟在短短的時間間隔之內(nèi),發(fā)生拒絕服務(wù)攻擊的概率還是比較小的。
注意事項(xiàng)三:UDP連接限制的局限性。在使用UDP連接限制的時候,一定要注意,這個連接限制只適用于會話,而不適用于連接。也就是說,到達(dá)IP地址的UDP連接限制時,如果嘗試從該IP地址創(chuàng)建其他UDP會話的時候,則會關(guān)閉從相應(yīng)IP地址創(chuàng)建的最早的UDP會話并創(chuàng)建新的會話。再強(qiáng)調(diào)一遍,UDP連接限制對于連接無效(千萬不要給這個名字欺騙了),對于會話有效。
注意事項(xiàng)四:當(dāng)連接超過系統(tǒng)設(shè)置的連接限制時,系統(tǒng)將采取的措施。了解這個內(nèi)容,對于故障排錯具有一定的幫助。通常來說,當(dāng)達(dá)到允許為單個規(guī)則創(chuàng)建的連接數(shù)的限制的時候,系統(tǒng)將不再為沒有關(guān)聯(lián)連接的通訊創(chuàng)建任何新的連接。也就是說,此時數(shù)據(jù)包就有可能被丟棄。并且系統(tǒng)會生成警報信息?!俺^規(guī)則的連接限制”等信息可以在事件日志中找到。當(dāng)前單位(如一秒或者一分)過后,系統(tǒng)將重置計(jì)數(shù)器,并且系統(tǒng)可以在下一單位內(nèi)創(chuàng)建新的連接,直到再次達(dá)到上限為止。不過需要注意的是,這個連接數(shù)往往還受到防火墻策略可以允許的連接嘗試進(jìn)行計(jì)數(shù)的限制(如果防火墻上設(shè)置了這個參數(shù))。換一句話說,F(xiàn)orefront可以針對每一個源IP地址維護(hù)不同的計(jì)數(shù)器,分別用于連接限制和用于對防火墻策略拒絕的連接嘗試進(jìn)行計(jì)數(shù)。這也告訴我們,F(xiàn)orefront的連接限制功能往往可以跟防火墻安全策略共存。在一般情況下,兩者不會發(fā)生沖突。