為什麼在 Apache 中預設啟用“選項包括索引”?
我很好奇為什麼
Options Includes Indexes
通常在 Apache 配置中預設啟用。任何人都知道這是為什麼,因為出於安全原因,它通常不受歡迎?
傳統?
因為一直都是這樣?
因為 Apache 項目不想破壞現有站點?
因為您真的應該在啟動伺服器之前檢查您的配置?
上述所有的。
關於相關指令的一些說明
伺服器端包含 (
Includes
) 通常不受歡迎,尤其是現在有更好的方法來生成動態內容。如果您的伺服器上的任何內容都沒有使用它們,那麼您就沒有真正的安全風險暴露。最好的做法是關閉它們*,以防有人設法破壞您的機器*並上傳一個使用它們來做令人討厭的事情的頁面。
Includes
Apache 附帶的裸指令在這方面特別糟糕,因為它允許您(作為 Apache 使用者)執行程序作為 SSI 指令的一部分。如果你必須啟用伺服器端包含,你應該評估你是否需要執行程序的能力,如果不需要,你應該使用IncludesNOEXEC
代替裸Includes
指令。自動索引生成(
Indexes
) 是一個資訊洩露漏洞:如果沒有索引文件,伺服器將愉快地列出目錄中的所有內容(包括..
讓您瀏覽備份樹的連結)。由於目錄瀏覽連結的存在,配置不當的伺服器也有可能讓使用者瀏覽他們的方式離開 Web 根目錄並閱讀敏感內容,例如
/etc/passwd
.如果您的伺服器配置正確(沒有敏感資訊掛在
Indexes
Web 根目錄中,無法瀏覽您的 Web 根目錄),啟用並不會帶來太大的安全風險**,**而且它對於文件來說可能是一件好事伺服器(您不必手動維護索引),但如果您不需要生成自動索引,則關閉它可能是個好主意。如果您的 Web 伺服器配置不當,請不要依賴此作為“通過默默無聞的安全性”來保護您:有人仍然可以
http://example.com/../../../../../../../../etc/passwd
在配置選擇不當的系統上為自己做事。