Community程式設計與開發github.com

imunify-response

用於 CloudLinux 上 cPanel/WHM 伺服器發生 Imunify360 安全事件或誤判時。觸發詞:「Imunify 封鎖了客戶」、「ModSecurity/WAF 誤判」、「無法登入 WordPress / 要求輸入驗證碼」、「帳號中偵測到惡意軟體」、「合法 IP 被封鎖」、「我想將 IP 加入白名單」、「合法檔案被標記為惡意」、「暴力破解攻擊」。先進行診斷指南;關閉防護或清除檔案前需先獲得操作員確認。

imunify-response 是什麼?

這個技能旨在協助技術人員處理 Imunify360 安全事件,特別是在 cPanel/WHM + CloudLinux 環境中。它提供了一套完整的標準作業流程,用於診斷和解決因 WAF(ModSecurity)、暴力破解防護(OSSEC/PAM)、灰名單或惡意軟體掃描器引起的誤判。核心原則是理解封鎖的根本原因,而非直接關閉安全模組;透過將合法 IP、檔案或用戶加入白名單,以最小影響範圍解決問題。該技能支援透過 CLI 執行指令,例如查閱封鎖事件、管理 IP 黑白名單、提交誤判樣本以及啟動惡意軟體掃描。所有會變更伺服器狀態的動作(如清理惡意軟體、還原檔案、編輯設定)都必須先向操作員提出建議,獲得明確確認後才能執行,以確保安全維運。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/leoarayas/agent-skills/tree/main/imunify-response

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Imunify360 — 安全事件回應與誤判處理

cPanel/WHM + CloudLinux 伺服器。針對「Imunify 封鎖了我」的正確反應是 先了解觸發封鎖的原因,而不是直接關閉任何功能。幾乎從不應該停用防護; 正確做法是將合法的項目加入白名單,並記錄例外原因。

安全規則

  1. 執行任何操作前,先確認主機名稱(hostname -f)。
  2. 不要為了解決單一客戶案例而關閉全域安全模組。 應使用範圍最小的例外來解決問題(IP、檔案、使用者)。
  3. 惡意軟體清理、還原與關閉防護:必須先獲得確認。
  4. 所有例外(白名單、已停用規則)都必須記錄原因與日期。

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 的更新:絕不應將其作為捷徑。

所有會變更狀態的動作(清理、還原、編輯設定、停用模組)都必須先提出建議, 並在獲得操作員明確確認後才執行。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能