完全刪除已掃瞄的不需要的程式的說明。
作者:田毅(formyz)。
由多個 Web 專案共享的 NFS 伺服器。 這些目錄包括 PHP 程式、HTML 頁面以及使用者上傳的文件和附件。 因為有些Web框架很古老,所以有些事情比如沒有對上傳的檔案進行嚴格的安全檢查,即使這個NFS伺服器位於受保護的內部網路上,仍然有大量的惡意檔案被別有用心的人上傳。 程式設計師被強烈要求做乙個程式(discuz)更新,得到的答覆是更新太難了,無法以程式設計方式處理。 從系統的管理層面來看,臨時措施就是簡單地安裝shadu軟體,掃瞄共享目錄,刪除有害檔案(不是根本原因)。
共享儲存 NFS 部署在 CentOS 7 上9.在儲存空間上,儲存空間為44t,使用空間為45T(如下圖所示),由於管理相對鬆懈,有大量垃圾資訊沒有被清理歸檔。
根據過往的經驗和使用習慣,決定將 NFS 服務託管在 CentOS 7 上9.部署開源、知名的安全軟體CL**AM,其官方宣傳“Clam**是檢測木馬、病毒、惡意軟體和其他惡意威脅的開源防病毒引擎”——clam**是用於檢測木馬、DU、惡意軟體和其他惡意威脅的開源反虛擬引擎。 不知道官網底部的logo是什麼時候被網路裝置製造商思科換掉的,但即便如此,CLAM**目前也是開源的,免費的,可以不受限制地使用。 在 CentOS 7 上9、部署安裝clam**至少有3種方式:RPM二進位包、二進位原始碼、包管理工具“yum”,如下圖所示。
在 CentOS 7 上9. 部署安裝clam**最簡單方便的方式是“yum install”,嘗試在系統命令行下執行“yum install clam**”執行過程並輸出。
遺憾的是,clam** 未包含在儲存庫中,並且無法在系統上正確安裝。 嘗試使用命令“yum install epel-release”新增“epel-release”附加元件儲存庫。 然後繼續執行 “yum list clam**”,從輸出中可以看到,附加的倉庫列表已經包含了包 “clam**”,如下圖所示。
執行yum install clam**命令,安裝正式安裝。 除了主軟體clam**之外,還有其他幾個依賴一起安裝,如下圖所示。
與使用原始碼包安裝相比,在安裝過程中無需根據錯誤輸出逐個安裝所需的依賴,效率大大提高。
首次安裝部署的 CLAM ** 的 Bingdu 庫已經過時且滯後,需要從系統命令行更新此 Bingdu 資料庫,以減少掃瞄和識別的遺漏。 更新 bingdu 庫的命令是 “freshclam”,沒有任何引數和選項,執行過程和輸出如下圖所示。
bingdu 庫已經是最新的,強烈建議在“螢幕”上進行掃瞄,以防止在正式執行掃瞄之前因 SSH 遠端終端斷開連線而中斷掃瞄。 如果“screen”命令指示該命令不存在,請使用 yum install screen 進行安裝。 正確執行命令“screen”後,系統立即返回shell提示符,並輸入以下命令對疑似有問題的共享目錄進行完整掃瞄,並將輸出記錄到日誌檔案“var log clamscan”中。log”。
經過漫長的等待,我花了很多天才完成這次掃瞄。 檢查掃瞄日誌檔案中是否存在惡意檔案,並使用以下命令:
關鍵字“found”的記錄有 500 多條,並且分發路徑不規則,因此無法通過刪除目錄來處理這些離散的惡意檔案。 如果按照絕對路徑手動逐一刪除,效率低下,容易出錯; 如果以這種形式分發的惡意檔案上千個,基本上不可能手動一一刪除。
命令“clamscan”本身帶有“--remove”選項,可以直接刪除掃瞄的惡意檔案,但如果沒有相關人員的確認,這可能會引起爭議。 因此,這些有問題的惡意檔案需要提交給相關人員進行確認,只有在沒有異議的情況下才能移動或刪除。
從 clam** 掃瞄的日誌檔案開始,使用該工具提取惡意檔案的完整路徑,並使用以下說明。
與原始日誌相比,冒號“:”及其後的所有欄位均已刪除。 在此命令之後,新增乙個管道並傳遞帶有“xargs”的引數,以清理所有被掃瞄的惡意檔案,無論它分布在什麼路徑上,完整的命令如下。
執行完成後,隨機找到幾個掃瞄到的惡意檔案的完整路徑,該檔案應該不存在(如下圖所示),說明指令碼是正確的,這正是我們期望的結果。