最近更新文章
2017/11/24
Ruckus推出新系列交換器 業界最高效能
2017/11/24
網路安全不僅是投資
2017/11/24
國防級資安技術加持 端點異常無所遁形
2017/11/23
AI辨識超越人力極限 惡意行為即時偵測分析
2017/11/22
齊全功能搶佔協作市場 整合平台點亮生產力
2017/11/22
對行動裝置做雲端鑑識 解析雲服務存取足跡
2017/11/21
IBM攜手星展銀推全新AI虛擬助理,更包含企金服務
2017/11/21
偵測、鑑識、回應兼備 端點安全更上層樓
2017/11/21
四個開源大數據工具 打造超高速輿情監控系統
2017/11/20
VMware協助台灣託管服務商轉型並交付新型服務
2017/11/20
打造私有雲協作平台 重新定義工作型態
2017/11/20
虛擬桌面VMware再出招 新版Horizon 7.2大提升
2017/11/19
Pure Storage 推出全新SAP自動化拷貝工具(CAT)
2017/11/17
打造智慧工廠 IPC大廠分享實戰經驗
2017/11/17
跨雲時代的轉型秘訣
2017/11/17
行為鑑識搭配防毒引擎 提升端點偵測效率
2017/11/16
威聯通科技引領雲端風潮 整合高速運算啟動AI應用
2017/11/16
Juniper Networks協助國立暨南國際大學擴充校園核心網路
2017/11/16
EDR跨足次世代防毒 挺進端點保護平台市場
2017/11/15
台灣駭客隊伍數破新高,全球駭客12月來台爭冠
2017/11/15
趨勢科技獲 2017 NSS Labs 評測,入侵偵測率的完美成績
2017/11/15
紅帽與阿里雲攜手 運用開放原始碼技術帶來更高靈活性
將此篇文章跟 Facebook 上的朋友分享將此篇文章跟 Plurk 上的朋友分享將此篇文章跟 Twitter 上的朋友分享列印轉寄
2017/2/17

活用Apache外掛防禦模組 彌補HTTP通訊協定漏洞

防止慢速型DoS拖垮網站 對症下藥阻Slowris攻擊

吳惠麟
近來Slowris頻頻利用HTTP通訊協定的漏洞進行攻擊,讓網站伺服器因為DoS侵擾而整個停擺。其中一個因應之道是善用開源碼的資源,為Apache伺服器加上防禦模組,好讓危害降低到最低。






拒絕服務(Deny of Service,DoS)攻擊經常是網站伺服器所面臨的最大資安威脅之一。一般來說,攻擊者常利用大量的傀儡主機同時向受害者主機發出大量的封包攻擊,來迫使受害者主機無力應付而終止服務。但此類攻擊往往需要大量的主機共同合作才可能攻擊成功,也因此有越來越多的攻擊者也開始利用系統的漏洞,甚至是通訊協定的漏洞進行攻擊,利用此類的攻擊手法,攻擊者不再需要千軍萬馬,在某些情況下甚至只需要一台主機即可能攻擊成功。

因此,本文中將介紹一個利用HTTP通訊協定漏洞名稱為Slowris的攻擊手法,並且以Apache網站伺服器為例進行實作,說明如何利用開源碼的資源,為Apache伺服器加上防禦模組來降低Slowris的危害,本次實作所需的模組如表1所示。

表1 實作所需模組


剖析Slowris攻擊手法

在說明Slowris攻擊手法之前,先行定義要求(Request)和回覆(Response)兩個名詞。

要求(Request)

使用者發出要求(例如利用瀏覽器瀏覽網頁),要求網站伺服器服務,在此階段,使用者端會先行發出要求標頭(Request Header)資訊告知網站伺服器相關特殊的資訊(例如所使用的瀏覽器資訊等等),接著再發送實際的要求內容(Request Body)資料通知網站伺服器。

回覆(Response)

網站伺服器在處理完使用者的要求後,即會將資訊回覆給使用者,同樣地,網站伺服器會先回傳回覆標頭(Response Header)告知使用者相關特殊的資訊(例如網站伺服器的名稱),最後再發送回覆內容(Response Body)給使用者。

如圖1所示,即為使用者發出要求標頭通知網站伺服器。此時可以思考一個問題,要求標頭的資訊通常會有好幾行,網站伺服器如何判別個別行的結尾?接著衍生另外一個問題,使用者須傳送要求標頭及要求內容至網站伺服器上,網站伺服器又該如何判別要求標頭資訊的結尾?


圖1 使用者發出要求標頭通知網站伺服器。


其實,在HTTP的通訊協定上已經定義了以換行符號(\r\n)來當作行資訊的結尾,另外並定義以\r\n\r\n(連續兩個換行符號)做為要求標頭的結束,而Slowris攻擊就是利用其中的漏洞。

惡意攻擊者利用傳送要求標頭至網站伺服器時,故意不傳送或緩慢地傳送兩個換行符號(\r\n\r\n)至網站伺服器上。而造成網站伺服器被迫要長時間保持此連線,也因此造成連線數(以Apache為例,其連線數預設為256個)滿載,因而無法服務其他正常的連線。

認識mod_reqtimeout

mod_reqtimeout是Apache伺服器預設的模組之一,主要的功能在於限定要求(Request)封包傳遞的速率,避免要求連線因傳遞速率過慢而長時間占住網站伺服器的連線。可利用下列指令檢查網站伺服器是否有mod_reqtimeout模組:




如果有回覆reqtimeout_module等字樣,就表示有支援該模組。

由於Slowris應用的技巧在於利用傳送要求標頭(Request Header)時間過久,藉此來占住網站伺服器的連線數,以致於網站伺服器無法服務正常的連線,以達到拒絕服務(DoS)的效果,因此mod_reqtimeout模組即是利用限定傳送要求標頭及要求內容時間的方式,來降低Slowris攻擊的危害。

mod_reqtimeout模組設定相當簡單,僅需設定要求標頭及要求內容(Request Body)的傳輸速率即可,mod_reqtimeout模組提供的組態如下所述:




設定要求標頭必須在時限內完成傳輸,但若有設定MinRate資訊,代表如果要求標頭的傳輸速率高於此設定數值,即可不受限於所設定的時限。




這篇文章讓你覺得滿意不滿意
送出
相關文章
阻敵於境外的雲端安全
共享經濟引爆App營收 DDoS恐成業者最大罩門
SOC業者集結實戰人才 補強本土資安缺口
友訊代理Arbor Networks獲選為Frost & Sullivan 2017年亞太區Anti-DDoS防護年度最佳供應商
Arbor Networks榮獲Frost & Sullivan評選為2017年亞太區Anti-DDoS防護年度最佳供應商
留言
顯示暱稱:
留言內容:
送出