20種讓你的Apache更安全的設定(翻譯)

來源:互聯網
上載者:User
原文來自: http://www.petefreitag.com/item/505.cfm
一. 確定你安裝了最新的安全補丁.先把本文del.icio.us了,然後再回來看其他的。
二. 隱藏Apache的版本號碼,以及其他一些資訊apache的預設設定公開了apache的版本號碼,作業系統,甚至還有已經安裝了的apache組件。駭客們會利用這些資訊更方便的去攻擊你。並且,這些資訊告訴了所有人:你的apache並沒有經過配置
你可以在httpd.conf檔案中,加上或者修改兩條代碼,隱藏資訊。
ServerSignature Off
ServerTokens Prod
ServerSignature apache產生的一些頁面底部,比如404頁面,檔案清單頁面等等。
ServerTokens指向被用來設定Server的http頭迴響。設定為Prod可以讓HTTP頭迴響顯示成這樣….
Server: Apache
如果是個超級偏執狂,你可以修改原始碼或者使用mod_security,來顯示比Apache更多的東西.
確定apache是運行在它之下的使用者和組之下。很多apache安裝之後他們是運行在nobody之下的。所以,每個運行在nobody之下的apache,將會被同組的郵件服務其攻擊。chown apache.apache /var/…
User apache
Group apache
確認根目錄的東西是關閉的我們不惜王apache有修改根目錄的全縣。 所以,建議你所有的網站都放在一個目錄下面(我們稱為/web,你可以象這樣設定:

Order Deny,Allow
Deny from all
Options None
AllowOverride None
Order Allow,Deny
Allow from all

QUOTE:
由於我們設定了Options None 和AllowOverride None,這將關閉options許可權和覆蓋許可權,你現在必須為每個檔案夾加上explicitly,為他們恢複Option和Override許可權。

關閉檔案夾瀏覽你可以在httpd.conf的Directory標籤中間加上一個Options指令
。 設定Options為None或者-Indexes
Options -Indexes
關閉伺服器的side includes也要添加一條Optoions指令到Directory 標籤中, 使Options 為 None或者-Includes
Options -Includes
關掉CGI如果你不用CGI,那就在Directory標籤中加上一條Options指令關掉他。 使Options為None或者-ExecCGI
Options -ExecCGI
不要讓apache進入象徵性links中(我理解的是#)也是在directory中修改Options 為 -FollowSymLinks
Options -FollowSymLinks
關閉多選項關閉所有選項
Options none
關閉幾個選項
Options -ExecCGI -FollowSymLinks -Indexes
關閉對 .htaccess 檔案的支援。也在Directory標籤中,但是AllowOverride指令
AllowOverride none
如果你需要Overrides,需要確認他們不能被下載。改變他們的檔案名稱,而不是原來的.htaccess, 比如可以改為.httpdoveride, 或者屏蔽所有的.ht開頭的檔案。
AccessFileName .httpdoverride
Order allow,deny
Deny from all
Satisfy All

運行 mod_securitymod_security 是一個非常好用的Apache組件.
通過mod_security你可以達到以下效果:

簡單的過濾
Regex過濾
URL 編碼驗證
Unicode編碼驗證
核查
Null值攻擊預防
上傳大小限制
伺服器身份掩藏
內建Chroot支援
更多…
關掉一些不需要的組件去module documentation 看一下你到底需要哪些組件. 好多時候你會發現,你並不需要….
一行一行去尋找你的httpd.conf裡是否包含LoadModule, 可以用#放在行首去關閉組件。 如果象搜尋組件,可以運行:
grep LoadModule httpd.conf
這裡有些組件常常開啟的,但是不需要。
mod_imap,mod_include,mod_info,mod_userdir,mod_status,mod0cgi,mod-autoindex.
去人只有root有閱讀apache設定檔和bin檔案的許可權。chown -R root:root /usr/local/apache
chmod -R o-rwx /usr/local/apache
減少Timeout值預設設定timeout指令是300秒。 你可以減小他,以預防一些潛在攻擊。
Timeout 45
減小最大請求apache有很多指令來減小請求數,一個很好的指令是LimitRequestBody指令。 這條指令預設設定是無線。 如果你想設定上傳檔案不能超過1MB, 你可以這樣寫:
LimitRequestBody 1048567
如果不允許問檔案上傳。你可以設得更小。
其他得指令,可以看看LimitRequestFields,LimitrequestFieldSize , LimitRequestLine. 這些指令都是預設設定。但是你必須去最佳化他們,成為你需要的。 可以看看這個文檔
限制XML body區的大小如果你運行了mod_dav,你會希望限制XML 請求的body大小。 LimitXMLRequestBody指令只有在Apache2中有。 並且他的預設值是1個millon位元組大小,大約1M, 很多教材上說這裡設定為0比較好,這就意味著多大的檔案都可以上傳,如果你需要上傳大檔案的話。 但是如果你簡單的改變一下控制。 你可以大概的設定成10MB
LimitXMLRequestBody 10485760
限制並發apache有些設定可以限制並發請求。MaxClients就是伺服器能承受的最大使用者值。
其他的指令比如MaxSpareServers,MaxRequestsPerChild, Apache2上的 ThreadsPerChild,ServerLimit,和MaxSpareThreads 和你的系統硬體設定的配合都是很重要的。
IP限制位址區段如果你有一些資源只能給特定的網段使用…176。16.0.0–176.16.0.16
Order Deny,Allow
deny from all
Allow from 176.16.0.0/16
或者也可以限定單一IP
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
調整KeepAlive 設定MaxKeepAliveRequests –> 100 — (你需要的數)
KeepAliveTimeout –> 15 –(你需要的數)
在Chroot環境運行apache(沒翻譯. )chroot allows you to run a program in its own isolated jail. This prevents a break in on one service from being able to effect anything else on the server.
It can be fairly tricky to set this up using chroot due to library dependencies. I mentioned above that the mod_security module has built in chroot support. It makes the process as simple as adding a mod_security directive to your configuration:
SecChrootDir /chroot/apache
There are however some caveats however, so check out the docs for more info


 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.