當 Apache 或 nginx 服務靜態檔時,即使有符號連結指向一個其他系統使用者所有的檔(例如與其它訂閱相對應的),也會跟蹤這些符號連結。這樣,可存取某個訂閱的攻擊者就能夠讀取其它訂閱的檔,包括含有 WordPress 和其它 CMS 系統的密碼和設定的檔。

緩解漏洞

檔案系統許可權

若您正使用 WP Toolkit,緩解 WordPress 實例漏洞的最簡單的方式就是使用 Toolkit:

  1. 轉到 WP Toolkit。
  2. 選擇所有的 WordPress 實例然後點按 檢查安全性
  3. 核查“檔和目錄的許可權” 是否標記為“確定”。
  4. 若沒有,請點按 保護安全

如果您未使用 WP Toolkit或若您需要保護 WordPress 之外的某 CMS 系統的安全,則需要運行以下命令拒絕“其它”組的所有權限來手動更正您想要保護的所有檔上的許可權:

chmod o-rwx <file_name>

備註: 沒有適合任何 web 應用程式或 CMS 一體適用的安全保護檔列表。必須更改其許可權以保護 Web 應用程式安全的確切檔取決於所涉及的應用程式。

Apache 配置

此緩解漏洞的方式適用於將 Apache 用作其 web 伺服器的訂閱(若在 主機與 DNS > Apache 與 nginx 設定 中啟用了 “代理模式”,則為使用 Apache 的訂閱)。

備註: 在Plesk Obsidian 18.0.30及更高版本中,會默認應用此解決方案。對於早期的Plesk版本,請按照下面的說明來緩解漏洞。

若要緩解漏洞,請如下操作:

  1. 轉到 服務方案 > 您的方案 > “Web 伺服器”選項卡(或您的訂閱 > 網站與域名 > 主機與 DNS > Apache 與 nginx 設定)。
  2. 選擇“限制跟蹤符號連結的功能” 核取方塊。

對某個服務方案執行此操作可以緩解基於該服務方案的所有訂閱的漏洞(也就是說,能夠存取某個訂閱的攻擊者將無法再執行對其它訂閱的攻擊)。對某個訂閱執行此操作只能緩解該訂閱的漏洞。

備註: 使用導向至自己檔的符號連結的網站若未在 .htaccess 檔中使用 “FollowSymLinks” 選項,將繼續保持工作運行,因為會默認啟用 “SymLinksIfOwnerMatch” 選項。如果此類網站在 .htaccess 檔中使用 “FollowSymLinks” 選項,將停止工作運行。

警示: 應用此方案仍將使您易受到與 Apache 的 “SymLinksIfOwnerMatch” 選項相關的 “time-of-check to time-of-use” 競賽狀況的影響。若要同時緩解漏洞,您可以`將此補丁應用到 Apache <https://lists.apache.org/api/email.lua?attachment=true&id=y8305w4xs6fvb4ctbkh5cgxfos228k7y&file=62f9c5fc1229325d02d2aa7a2e0b720d941121266dcb0378450bb1f80d016061>`__ (該補丁尚未經 Plesk 測試,需自行承擔風險)或使用此文章中進一步闡述的一個基於內核的符號連結保護選項。

Nginx 配置

此緩解漏洞的方式適用於將 nginx 用於直接服務靜態檔的訂閱(若在 主機與 DNS > Apache 與 nginx 設定 中關閉了“代理模式” 或者開啟了“代理模式”且啟用了“直接由 nginx 服務靜態檔” 選項,則為使用 nginx 的訂閱)。

若要緩解漏洞,請如下操作:

  1. 轉到 服務方案 > 您的方案 > “Web 伺服器”(或您的訂閱 > 網站與域名 > 主機與 DNS > Apache 與 nginx 設定)。
  2. 選擇“限制跟蹤符號連結的功能” 核取方塊。

對某個服務方案執行此操作可以緩解基於該服務方案的所有訂閱的漏洞(也就是說,能夠存取某個訂閱的攻擊者將無法再執行對其它訂閱的攻擊)。對某個訂閱執行此操作只能緩解該訂閱的漏洞。

備註: 此選項不適用於運行 2.6.39 或更早版本的 Linux 內核版本的電腦。若要緩解此類機器上的漏洞,我們建議要麼將作業系統升級到最新穩定版本或採用下面列出的一個基於內核的符號連結保護機制。

mod_hostinglimits for CloudLinux 中的 SecureLinks

在運行 CloudLinux 的電腦上,您可以通過啟用作為 Apache HostingLimits 模組的一部分的符號連結所有者匹配保護機制來緩解漏洞。請參閱 CloudLinux 文檔瞭解更多資訊

用於 CentOS 7 的 KernelCare 符號連結保護補丁集(免費可用)

在運行 CentOS 7 的電腦上,您可以通過安裝 CloudLinux 的免費符號連結保護補丁集來緩解漏洞。請參閱 CloudLinux 文檔瞭解更多資訊

Grsecurity(Linux 內核的一組補丁,著重安全提升,需要付費訂閱)

若以上緩解漏洞的選項都不適用於您目前的情況,您可以安裝 grsecurity 一組 Linux 內核的安全強化補丁,然後配置GRKERNSEC_SYMLINKOWN 功能。注意使用 grsecurity 不免費而是需要購買年訂閱。