Apache-2.2

什麼時候不值得把 Apache 關進 chroot 監獄?

  • May 25, 2011

我並不是要質疑在大多數情況下將 apache 置於 chroot-jail 中的完善安全預防措施,但在我的情況下我有疑問。

我們有一個託管單個應用程序的虛擬伺服器 - 一個網路服務。本指南說我應該禁用對我來說似乎不太安全的 SELinux?一切都是為了在我們的應用程序受到破壞後保護執行的 Centos 安裝。

顯然這有點主觀,但在資源有限的小規模部署中,我們應該關注更好的方法嗎?

Chroot 提供了一點安全性來為攻擊者提供減速帶。如果您在 apache/CGI 中存在漏洞,攻擊者必須逃離 chroot 監獄。自動化攻擊不太可能嘗試這樣做,但如果存在已知的核心漏洞,並且該漏洞的要求可以在 chroot 環境中獲得,那麼您將被淹沒。

SELinux 提供了更大的安全性,但實現的痛苦不容小覷。對於簡單的情況,可能會為您準備好 SELinux 策略,但如果您正在做奇怪/自定義的東西,您將需要自己擴展它們。如果您載入了 selinux 開發 RPM,這並不難。以非強制模式開始,完全執行您的系統,然後執行:

audit2allow -a -l -R -m foo -o foo.te

這將幫助您制定自定義策略。

與 SELinux 類似的步驟是 GRSecurity。它不那麼標準,但可能比 SELinux 更安全一些,並且可能更容易使用,儘管網際網路上能幫助你的人更少。

另一種方法是在 VM 中執行 Web 伺服器。這為您提供了更多的安全性,但眾所周知,攻擊能夠逃脫 VM 環境。但是,這些很可能是非常堅定的攻擊者,而不是您的普通腳本小子。

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