Community编程与开发github.com

imunify-response

用于处理cPanel/WHM + CloudLinux服务器上的Imunify360安全事件或误报。触发器包括:'Imunify阻止了客户'、'ModSecurity/WAF误报'、'无法访问WordPress/要求输入验证码'、'检测到账户恶意软件'、'合法IP被阻止'、'希望将IP加入白名单'、'合法文件被标记为恶意'、'暴力破解攻击'。首先进行诊断;在禁用保护或清理文件前需经操作员确认。

imunify-response 是什么?

本技能为Imunify360服务器管理员提供了一套完整的事件响应流程,涵盖误报处理、白名单管理、恶意软件清理和WAF规则调整。它强调在采取任何破坏性操作(如禁用安全模块)之前,必须首先通过诊断步骤理解阻止的原因,并优先使用最小范围的例外(如IP白名单或文件例外)来解决问题。技能支持cPanel/WHM + CloudLinux环境,核心操作包括使用`imunify360-agent`命令行工具检查IP状态、提交误报/漏报、执行按需扫描,以及调整PAM和WAF阈值。所有涉及状态更改的操作(清理、恢复、配置修改)都必须先向操作员提出建议并获得明确确认后方可执行。

兼容平台~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)进行清理;如果账户受损严重,则从感染前的干净备份中恢复。在盲目执行前,请确认服务器上 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.

相关技能