Imunify360 — 安全事件回應與誤判處理
cPanel/WHM + CloudLinux 伺服器。針對「Imunify 封鎖了我」的正確反應是 先了解觸發封鎖的原因,而不是直接關閉任何功能。幾乎從不應該停用防護; 正確做法是將合法的項目加入白名單,並記錄例外原因。
安全規則
- 執行任何操作前,先確認主機名稱(
hostname -f)。 - 不要為了解決單一客戶案例而關閉全域安全模組。 應使用範圍最小的例外來解決問題(IP、檔案、使用者)。
- 惡意軟體清理、還原與關閉防護:必須先獲得確認。
- 所有例外(白名單、已停用規則)都必須記錄原因與日期。
0. 檢查代理程式狀態
imunify360-agent version
systemctl status imunify360 # 在 CL6 上為 service imunify360 status
imunify360-agent doctor # 代理程式內部診斷
tail -100 /var/log/imunify360/console.log
1. 了解安全事件(客戶因何被封鎖?)
事件詳細資訊位於 UI 的 Incidents 標籤頁;Sensor 欄位顯示封鎖來源。 Active Response 和 PAM 的封鎖會顯示為 OSSEC。在修改規則之前, 先確認:是 WAF(ModSecurity)、暴力破解(OSSEC/PAM)、灰名單,還是惡意軟體?
# 檢查客戶 IP 是否在任何清單中?
imunify360-agent ip-list local list --purpose white --by-ip 1.2.3.4
imunify360-agent ip-list local list --purpose black --by-ip 1.2.3.4
2. 合法 IP 被封鎖 → 加入白名單
ip-list 是現行指令;whitelist/blacklist 在多數版本中仍可作為別名使用,
但已棄用。
# 新增/移除(實用且仍可運作的語法):
imunify360-agent whitelist ip add 1.2.3.4 --comment "客戶 X 辦公 IP - 2026-06"
imunify360-agent whitelist ip delete 1.2.3.4
imunify360-agent blacklist ip add 9.9.9.9 --comment "濫用掃描器"
# 查詢清單(現行語法):
imunify360-agent ip-list local list --purpose white
3. WAF / ModSecurity 誤判
首先找到觸發事件的規則(請查看事件中的欄位)。如果 IP 是合法的, 將其加入白名單(第 2 節)通常就足夠了。若要調整門檻或規則:
主要設定檔 : /etc/sysconfig/imunify360/imunify360.config
PAM (BFM) 門檻 : /etc/pam_imunify/i360.ini
不要為了解決單一案例而停用整個規則集;應將 IP 加入白名單或建立最小範圍的例外。 對這些檔案進行任何修改:必須先確認並備份。
4. 帳戶中的惡意軟體
# 掃描單一帳戶(排除 maildir 可加速並減少雜訊):
imunify360-agent malware on-demand start --path=/home/USUARIO --ignore-mask=/home*/*/mail
# 掃描所有帳戶:
imunify360-agent malware on-demand start --path=/home*/*/ --ignore-mask=/home*/*/mail
# 列出惡意檔案(預設限制 50 個):
imunify360-agent malware malicious list --limit 100
清理(必須先確認):檢視惡意檔案清單,然後透過 Imunify 的操作(UI/cleanup)進行清理, 或者如果該帳戶已被嚴重入侵,則從感染前的乾淨備份中還原。 在不明情況下套用清理指令前,請先確認伺服器上現行有效的清理語法。 清理完成後:變更密碼、更新 CMS/外掛,並重新掃描。
5. 合法檔案被標記為惡意 → 誤判
imunify360-agent submit false-positive --reason "自有主題、內部程式碼" /home/USUARIO/public_html/archivo.php
# 反向情況(惡意檔案被判定為乾淨):
imunify360-agent submit false-negative /完整路徑/到/檔案
若要讓掃描器穩定忽略某個檔案/資料夾,請使用掃描器的白名單(JSON 格式,包含 path/reason/md5/recursive)。
請記錄原因。
6. 「要求輸入驗證碼 / 無法登入」
這通常是灰名單(客戶 IP 因可疑行為而處於灰名單狀態)或 Active Response 所致。 使用第 1 節確認,如果該 IP 是客戶的,則將其加入白名單。 不可見驗證碼和 OSSEC 逾時(預設 600 秒)可透過設定檔管理。
何時不應關閉防護
- 如果懷疑「關閉 WAF 讓它能運作」→ 幾乎永遠是將 IP 加入白名單或檔案例外,而不是關閉模組。
- 停用 HardenedPHP 或解除安裝 Imunify 可能會破壞 Apache/PHP 的更新:絕不應將其作為捷徑。
所有會變更狀態的動作(清理、還原、編輯設定、停用模組)都必須先提出建議, 並在獲得操作員明確確認後才執行。