Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Apache 伺服器安全防護完整指南

編輯:關於伺服器

Apache 作為全球市佔率最高的 Web 伺服器,廣泛運行於 Unix/Linux 平台。隨著 Web 服務成為企業核心業務,安全威脅也隨之增加,攻擊重心轉向 Web 層面。本文系統梳理 Apache 面臨的主要安全風險,並提供十項具體防護建議,助您打造相對安全的 Apache 環境。

一、Apache 面臨的主要安全風險

1. HTTP 拒絕服務攻擊 (DoS/DDoS)

  • 資料包洪水攻擊:利用 ICMP 或 UDP 封包癱瘓頻寬或系統資源。
  • 磁碟攻擊:偽造寫入請求耗盡磁碟空間導致系統崩潰。
  • 路由不可達:竄改路由表導致網路中斷,隱蔽性強。
  • 分散式拒絕服務 (DDoS):利用殭屍網路發動大規模攻擊,極難防禦。

2. 緩衝區溢出

攻擊者利用 CGI 程式靜態記憶體分配缺陷,發送超長請求導致緩衝區溢出,進而執行惡意指令。

3. 非法獲取 Root 權限

若 Apache 以 root 身分運行,系統或守護進程漏洞可能被利用提權,導致伺服器完全失陷。

二、打造安全 Apache 的十項建議

1. 勤打補丁,保持最新版本

定期關注 Apache 官網 變更日誌,及時套用安全更新,修補緩衝區溢出等已知漏洞。

2. 隱藏與偽裝 Apache 版本資訊

修改 httpd.conf:

ServerSignature Off
ServerTokens Prod

進階偽裝:修改原始碼 ap_release.h 與 os/unix/os.h,將伺服器標識偽裝為 Microsoft-IIS/5.0 (Win32),重新編譯安裝。

3. 建立安全的目錄結構

四大核心目錄應相互獨立,無父子邏輯關係:

  • ServerRoot:僅 root 可存取
  • DocumentRoot:Web 內容管理員與 apache 用戶/群組可存取
  • ScriptAlias:僅 CGI 開發人員與 apache 用戶可存取
  • CustomLog/ErrorLog:僅 root 可存取

範例結構:

/etc/http          (ServerRoot)
/etc/logs          (Logs)
/var/www/cgi-bin   (ScriptAlias)
/var/www/html      (DocumentRoot)

4. 使用專屬用戶與群組運行 Apache

遵循最小權限原則,建立專用帳號(如 httpd/webteam),避免使用 nobody/nogroup。設定範例:

groupadd webteam
usermod -G webteam test
chown -R httpd.webteam /www/html
chmod -R 2570 /www/htdocs
chown -R root.root /etc/logs
chmod -R 700 /etc/logs

5. Web 目錄存取策略

  • 禁止目錄索引:Options -Indexes FollowSymLinks
  • 禁止預設存取,僅開放指定目錄:Order deny,allow / Allow from all
  • 禁止 .htaccess 覆蓋:AllowOverride None

6. Apache 存取控制 (access.conf)

基於 IP/網段限制存取:

order deny,allow
deny from all
allow from 192.168.1.0/255.255.255.0

7. 密碼保護 (.htaccess)

使用 .htaccess 實現目錄級認證,較程式碼驗證更安全。大量用戶場景建議啟用資料庫驗證模組(編譯時開啟)。

8. 以 chroot 限制 Apache 運行環境(「監獄」機制)

透過 chroot 將 Apache 限制在特定目錄樹(如 /usr/local/httpd)下,即使被入侵也無法存取系統其他區域。建議使用 jail 工具簡化部署(官網:jmcresearch.com)。

9. 防禦 DoS 攻擊:mod_evasive

安裝 mod_evasive 模組,快速識別並拒絕同一 IP 對同一 URL 的重複請求。下載:SecurityFocus Tools。

10. 降低 CGI 與 SSI 風險

  • 使用 suEXEC 或 CGIWrap 以特定用戶身分執行 CGI,限制損害範圍。
  • SSI 禁用 exec 指令:Options IncludesNOEXEC。

11. 部署 SSL 加密傳輸

啟用 SSL/TLS 加密敏感頁面傳輸,保護用戶憑證與交易資料,電子商務與 Webmail 必備。


總結:安全是持續過程而非一次性配置。結合補丁管理、最小權限、資訊隱藏、目錄隔離、存取控制、入侵偵測與加密傳輸,可顯著提升 Apache 伺服器的安全態勢。

Copyright © Windows教程網 All Rights Reserved