2018年6月14日 星期四

Apache 阻擋 Slow HTTP Denial of Service Attack

最近又在進行客戶系統的弱點掃描,這次被掃到一個Medium Risk

Slow HTTP Denial of Service Attack

真是怪,每用一套不同的弱掃工具,就會掃到一些弱點

關於這個Slow DOS 攻擊弱點,經上網查了一下,可以直接從Apache 啟用mod_reqtimeout模組來排除此問題

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

可至 http.conf 啟用 mod_reqtimeout 把以下這行 # 去除

LoadModule reqtimeout_module modules/mod_reqtimeout.so

並再加上以下設定

<ifmodule mod_reqtimeout.c="">
  RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</ifmodule>


再重啟後重測,就可以過關了

當然還有其它方法排除,有興趣者就自已再去google 吧