上週,Linux 核心中出現了一個非常嚴重的漏洞,即所謂的「髒牛」(Dirty COW)。我們專門的 Linux 核心團隊立即解決了這些問題,並能夠在 24 小時內在我們的大多數伺服器上修復該問題。更重要的是,我們設法在不重新啟動伺服器的情況下完成此操作,並且避免了此類核心更新活動通常導致的停機。要了解有關該漏洞以及我們如何解決該漏洞的更多信息,請閱讀下文。
《骯髒的牛》講的是什麼呢?
Dirty COW 漏洞允許攻擊者獲得伺服器的 root 存取權限並控制整個系統。這個安全漏洞是由研究人員 Phil Oester 發現的,白俄羅斯電話號碼數據 他發現 Linux 核心的記憶體子系統處理私有唯讀記憶體映射的寫入時複製 (COW) 損壞的方式存在競爭條件。攻擊者可以使用它來獲得對其他唯讀映射的寫入存取權限,並透過這種方式控制整個系統。有關更多技術信息,您可以查看官方漏洞頁面和專門針對該漏洞的網站。
這個問題有多普遍?
該問題很可能影響數十萬甚至數百萬台基於 Linux 的電腦。如果您沒有運行最新版本的 Linux 內核,您應該擔心。事實上,即使您運行的是最新的內核,您仍然應該擔心,因為在撰寫本文時,並非所有供應商都已經修補了各自的內核。如果您想嘗試破解您自己的系統,您可以訪問此 Github 頁面並使用其上提供的 PoC。根據報告,以下 Linux 發行版版本容易受到攻擊(請注意,這不是完整列表,而是最受歡迎的 Linux 發行版的列表):
標準問題解決方案是什麼?
保護運行 Linux 的電腦最簡單的方法是將 Linux 發行版更新到最新版本。但請記住,此操作需要重新啟動。您可以使用以下命令來更新 Debian/Ubuntu 和 RHEL 系統:
CentOS核心仍然沒有官方更新。目前,修補 CentOS 伺服器的唯一方法是按照此連結中的說明進行操作。
重新啟動 Linux 電腦後,請透過執行以下命令確保它們運行新核心:
SiteGround 做了什麼來解決這個問題?
在相當長的一段時間裡,我們使用我們自己的客製化內核。這意味著當出現此類問題時,初學者了解 50 天移動平均線 我們不依賴作業系統開發人員發布的更新。相反,我們可以立即發揮創意,並制定自己的解決方案。在這種特殊情況下,我們的 DevOps 團隊利用了上游核心開發人員和GRSecurity的與此問題相關的核心安全專家提供的多個更新。我們及時調整了它們並創建了適用於我們特定核心的補丁。
正如我們所提到的
升級核心意味著您必須重新啟動伺服器。不用說,Dirty COW Linux 核心漏洞 像 SiteGround 這樣的託管公司不能簡單地重新啟動數千台伺服器並導致數十萬個網站停機。
這就是為什麼我們決定在不重新啟動伺服器的情況下修補核心。我們使用了一個名為kpatch的工具,資料庫到數據 允許我們修補正在運行的內核,而無需重新啟動或重新啟動任何進程。使用此類工具的問題在於,總是有可能出現問題並且伺服器可能會崩潰。我們有不同的伺服器以不同的方式配置,運行不同的核心。
所有共享、雲端和專用 SiteGround 伺服器均已修補。