慢連接攻擊原理- IT安全運維
2020-05-07 17:06 作者:艾銻無限 瀏覽量:
慢速攻擊原理:
在網絡
安全運維中http慢速攻擊是利用http合法機制,在建立連接后,盡量長時間保持連接,不釋放,達到對HTTP服務攻擊,攻擊者發送POST請求,自行構造報文向服務器提交數據,將報文長度設置一個很大的值,且在隨后每次發送中,每次只發送一個很小的報文,這樣導致服務器一直等待數據,連接始終一直被占用。如果攻擊者使用多線程或傀儡機子去做同樣操作,服務器WEB容器很快就被占滿TCP連接而不再接受新請求。
slowhttptest是一款對服務器進行慢攻擊的測試軟件,包含了幾種攻擊方式,像Slowloris、SlowHTTP POST、Slow Read attack等。總而言之,該工具的原理就是設法讓服務器等待,當服務器在保持連接等待時,就消耗了資源。
1、 最具代表性的是rsnake發明的Slowloris,又被稱為slow headers。
【攻擊原理】
HTTP協議規定,HTTP Request以\r\n\r\n(0d0a0d0a)結尾表示客戶端發送結束,服務端開始處理。那么,如果永遠不發送\r\n\r\n會如何?Slowloris就是利用這一點來做DDoS攻擊的。攻擊者在HTTP請求頭中將Connection設置為Keep-Alive,要求Web Server保持TCP連接不要斷開,隨后緩慢地每隔幾分鐘發送一個key-value格式的數據到服務端,如a:b\r\n,導致服務端認為HTTP頭部沒有接收完成而一直等待。如果攻擊者使用多線程或者傀儡機來做同樣的操作,服務器的Web容器很快就被攻擊者占滿了TCP連接而不再接受新的請求。
2、Slowloris的變種--Slow HTTP POST,也稱為Slow body。
【攻擊原理】
在POST提交方式中,允許在HTTP的頭中聲明content-length,也就是POST內容的長度。
在提交了頭以后,將后面的body部分卡住不發送,這時服務器在接受了POST長度以后,就會等待客戶端發送POST的內容,攻擊者保持連接并且以10S-100S一個字節的速度去發送,就達到了消耗資源的效果,因此不斷地增加這樣的鏈接,就會使得服務器的資源被消耗,最后可能宕機。
3、Slow Read attack
【攻擊原理】
采用調整TCP協議中的滑動窗口大小,來對服務器單次發送的數據大小進行控制,使得服務器需要對一個回應分成很多個包來發送。要使這種攻擊效果更加明顯,請求的資源要盡量大。
用Wireshark抓包可以看出,當請求a.wmv資源(大小有9M多)時,客戶端windowssize被刻意設置為1152字節。客戶端緩沖區在被來自服務器的數據填滿后,發出了[TCP ZeroWindow]告警,迫使服務端等待。
受到以上各種慢速攻擊后,服務器再無法訪問
適合網絡
安全運維掌握的解決辦法:
1.使用NGINX,因為其本身就對慢速攻擊有很好防護
2.tomcat可通過運行模式NIO和connectionTimeout值進行緩解
3.dos deflate軟件:https://www.cnblogs.com/cloudapps/p/4996050.html
另外,在tomcat中配置connectionTimeout參數也可以防止head攻擊下的拒絕服務,但是對于body和read情況下沒有能力解決。
艾銻無限科技專業:
IT外包、
企業外包、
北京IT外包、
桌面運維、弱電工程、
網站開發、wifi覆蓋方案,
網絡外包,網絡管理服務,網管外包,
綜合布線,服務器運維服務,
中小企業it外包服務,服務器維保公司,硬件運維,網站運維服務
以上文章由北京艾銻無限科技發展有限公司整理