緣起
最近接到一個任務,是要把對外網站的一些安全漏洞補起來,而其中我拿到兩個 issue 要解:
- disable website directory listing
- mitigate Slow HTTP Dos Attack
拜請 Google 大神之後大致上看起來應該是不太難
主要參考了這兩篇:
實作第一個問題
基本上在 Apache 的環境下面就是兩個做法最普遍
在 .htaccess 裡面加上
1
Options -Indexes
在 virtualhost 資訊裡拿掉 Indexes
1 | # before |
然後重啟 Apache 就搞定了
實作第二個問題
在上面的文章裡面提供了三種方法
- mod_reqtimeout
- mod_qos
- mod_security
這三種我都試了一輪
1 最簡單
在 virtualhost 裡面直接加上去就行了1
2
3<IfModule mod_reqtimeout.c>
RequestReadTimeout header=20-40,MinRate=500 body=20-40,MinRate=500
</IfModule>
2 mod_qos 在 Apache 2.4 已經不支援了,所以不用玩了
3 的部分功能最多,做起來也最麻煩
1 | sudo apt-get install libapache2-mod-security2 |
(如果你在這邊沒有遇到其他問題的話,事情其實也不難搞定,但是我在這邊遇到一連串問題搞了我非常多時間,解決的過程因為文獻被我搞丟了,所以請大家自求多福了XD)
弄好之後一樣把下面加進去 virtualhost 設定檔裡面重啟 Apache 就搞定
1 | <IfModule mod_security2.c> |
備註
最後附上一個測試 slow http dos attack 的工具
SlowHTTPTest