Centos

NGINX 正在讀取具有 Apache 權限的文件,是不是錯了?

  • January 11, 2017

我有一台伺服器 - S1 - 使用 Apache 作為其網路伺服器,還有另一台伺服器 -S2 - 執行 NGINX 作為其網路伺服器。S2 掛載在 S1 中,S1 正在使用 NFS 將文件上傳到 S2。

因此,NGINX 伺服器 S2 中新添加的文件具有 Apache 的所有者和組。我在提供文件方面沒有問題,一切正常,但是我使用 NGINX 讀取 Apache 文件是否存在安全問題?有錯嗎?如果是的話,我有什麼選擇?


**更新 1:**在配置文件中為 NGINX 設置的使用者是 nginx,而不是 apache。

對於 NFS 伺服器上的文件的每次訪問(讀/寫),客戶端將使用者的使用者 ID 和組 ID 共享給 NFS 伺服器。只有當 NFS 伺服器確認使用者 id 和組 id 確實可以訪問該文件時,它才允許請求通過。

對於您的問題:

因此,NGINX 伺服器 S2 中新添加的文件具有 Apache 的所有者和組。我在提供文件方面沒有問題,一切正常,但是我使用 NGINX 讀取 Apache 文件是否存在安全問題?有錯嗎?如果是的話,我有什麼選擇?

首先,NGINX 是如何訪問 Apache 創建的文件的*?*在這裡,我假設 S1 中的 Apache 程序正在創建文件。並且創建的文件是世界可讀的(?)。如果是,這可能是一個安全問題,具體取決於您的上下文。通常,Apache 程序創建的文件是世界可讀的,除非啟動文件創建的腳本還具有顯式更改權限的程式碼。你可能想看看它。

可能存在S1 上的 Apacheuser id和S2 上的 NGINX 的和。或者,如果不是這種情況,那麼包含這些文件的目錄是世界可讀的(另一個安全問題),因此除了 Apache(在 S1 上)之外,任何人都可以訪問這些目錄。group id``user id``group id``read and executable bits turned on

如果 NGINX 和 Apache 使用特權埠執行,您可能需要非常小心。您執行的 NGINX/Apache 版本的任何已辨識的權限提升或 root 漏洞利用漏洞都可能允許黑客訪問您的伺服器。如果 NGINX/Apache 中的一個持有非常敏感的數據,則您提供了一種通過另一台伺服器訪問該數據的方法。

雖然外界可能不知道,NGINX 程序與 Apache 共享相同的文件夾,但任何對 S1 或 S2 具有本地 shell 訪問權限的人最終都可以利用漏洞來訪問其他伺服器。

如果除了跨伺服器/程序共享文件之外別無選擇,您可能需要查看以下內容: - 文件讀取和寫入權限 - 文件夾訪問權限

如果共享文件是源文件,建議它們是版本控制儲存庫(如 GIT)的一部分,並且在兩個位置都檢出最新程式碼(這最終意味著您要維護兩個副本)。

如果您的案例已知,則可以從周圍的其他人那裡獲得更好的替代方案。

引用自:https://unix.stackexchange.com/questions/335549