Apache-2.2

為什麼在 Apache 中預設啟用“選項包括索引”?

  • August 16, 2012

我很好奇為什麼Options Includes Indexes通常在 Apache 配置中預設啟用。

任何人都知道這是為什麼,因為出於安全原因,它通常不受歡迎?

傳統?

因為一直都是這樣?

因為 Apache 項目不想破壞現有站點?

因為您真的應該在啟動伺服器之前檢查您的配置?

上述所有的。


關於相關指令的一些說明

伺服器端包含 ( Includes) 通常不受歡迎,尤其是現在有更好的方法來生成動態內容。如果您的伺服器上的任何內容都沒有使用它們,那麼您就沒有真正的安全風險暴露。最好的做法是關閉它們*,以防有人設法破壞您的機器*並上傳一個使用它們來做令人討厭的事情的頁面。

IncludesApache 附帶的裸指令在這方面特別糟糕,因為它允許您(作為 Apache 使用者)執行程序作為 SSI 指令的一部分。如果你必須啟用伺服器端包含,你應該評估你是否需要執行程序的能力,如果不需要,你應該使用IncludesNOEXEC代替裸Includes指令。


自動索引生成( Indexes) 是一個資訊洩露漏洞:如果沒有索引文件,伺服器將愉快地列出目錄中的所有內容(包括..讓您瀏覽備份樹的連結)。

由於目錄瀏覽連結的存在,配置不當的伺服器也有可能讓使用者瀏覽他們的方式離開 Web 根目錄並閱讀敏感內容,例如/etc/passwd.

如果您的伺服器配置正確(沒有敏感資訊掛在IndexesWeb 根目錄中,無法瀏覽您的 Web 根目錄),啟用並不會帶來太大的安全風險**,**而且它對於文件來說可能是一件好事伺服器(您不必手動維護索引),但如果您不需要生成自動索引,則關閉它可能是個好主意。

如果您的 Web 伺服器配置不當,請不要依賴此作為“通過默默無聞的安全性”來保護您:有人仍然可以http://example.com/../../../../../../../../etc/passwd在配置選擇不當的系統上為自己做事。

引用自:https://serverfault.com/questions/418308