2010年10月2日

增強apache安全的方法

請注意這些設定並不一定符合您的環境,請斟酌使用哦!

1.更新所有關於security的patch
若patch沒上,做在多的設定也是枉然~~

2.隱藏主機資訊

apache預設會提供許多主機資訊,你可以透過下方的參數關閉

ServerSignature off
ServerTokens Prod

3.不與其他服務共用帳號
有些Linux發行版本會使用nobody作為apache預設的帳號及群組,若共用的服務遭受攻擊,apache也可能連帶受影響,反之亦然

User apache
Group apache

4.避免apache存取網站根目錄以外的檔案
<Directory /&gt
  Order Deny,Allow
  Deny from all
  Options None
  AllowOverride None
</Directory>
<Directory /DocumentRoot>
  Order Allow,Deny
  Allow from all
</Directory>
  
5.關閉目錄瀏覽功能
設定Options為None或-Indexes
<Directory />
  Options -Indexes
</Directory>
  
6.關閉includes功能
設定Options為None或-Includes
<Directory />
  Options -Includes
</Directory>
  
7.關閉CGI
若沒用到CGI功能,利用Options關閉
<Directory />
  Options -ExecCGI
</Directory>
  
8.不要允許符號連結
利用Options關閉此功能
<Directory />
  Options -FollowSymLinks
</Directory>
  
9.停用.htaccess檔
假如一定要用.htaccess,要確保不能被下載或改檔名
<Files ~ "^\.ht">
  Order allow,deny
  Deny from all
  Satisfy All
</Files>

或者直接禁止
<Directory />
  AllowOverride None
</Directory>>
10.使用mod_security模組
相關資訊可以參考 ModSecurity

11.關閉沒有必要的模組

通常Linux隨附的apache,預設都會載入一堆很少用到的模組,請關掉它
例如:
mod_imap, mod_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex

12.確保只有root可以存取apache的設定檔及執行檔

chown -R root:root /usr/sbin/httpd
chmod -R o-rwx /usr/sbin/httpd

13.降低Timeout的值,降低DoS攻擊的影響

Timeout 45

14.限制large requests
LimiteRequestBody指令預設是無限制,若你允許小於1M的檔案上傳,你可以利用此指令限制服務請求,若你不允許檔案上傳,你甚至可以設定更小的值

LimitRequestBody 1048576

另外還有LimitRequestFields, LimitRequestFieldSize, LimitRequestLine等參數,你可以依照本身的需求調校

15.限制存取IP
若你有些網站,只希望某些網段可以存取時,可利用Order管控

Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24

16.apache chroot
apache chroot有以下幾種方法
a. mod_security (推薦)
b. mod_chroot
c. 自己手動建制環境

17.經常檢查Log
雖然Log顯示的是已經發生的紀錄,但透過Log可以得知使用者在做什麼,哪邊該加強

18. 設定 X-Frame-Options
在Apache設定檔加上 X-Frame-Options 以確保本身內容不會遭惡意嵌入道其他網站、避免 clickjacking 攻擊
Header always append X-Frame-Options SAMEORIGIN
19. 設置  HttpOnly
限制 cookie 只能經由 HTTP(S) 協定來存取,降低 XSS 攻擊的機會
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure


參考文獻:
Apache Security Tips
20 ways to Secure your Apache Configuration
https://developer.mozilla.org/zh-TW/docs/HTTP/X-Frame-Options

沒有留言:

張貼留言