Imunify360 — resposta a incidentes e falsos positivos
Servidor cPanel/WHM + CloudLinux. A reação correta diante de "Imunify está bloqueando" é entender O QUE acionou o bloqueio antes de desativar qualquer coisa. Quase nunca a solução é desligar a proteção; é colocar na whitelist o legítimo e documentar a exceção.
Regras de segurança
- Confirmar o host (
hostname -f) antes de agir. - Não desativar módulos de segurança globais para resolver o caso de um cliente. Resolver com a exceção mais restrita possível (IP, arquivo, usuário).
- Limpeza de malware, restauração e desativação de proteções: CONFIRMAR antes.
- Toda exceção (whitelist, regra desativada) é documentada com motivo e data.
0. Estado do agente
imunify360-agent version
systemctl status imunify360 # service imunify360 status no CL6
imunify360-agent doctor # diagnóstico interno do agente
tail -100 /var/log/imunify360/console.log
1. Ler o incidente (o que bloqueou o cliente?)
O detalhe está na aba Incidents da interface; o campo Sensor indica a origem. Bloqueios do Active Response e PAM aparecem como OSSEC. Antes de tocar em regras, identificar: foi WAF (ModSecurity), força bruta (OSSEC/PAM), graylist ou malware?
# O IP do cliente está em alguma lista?
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 legítimo bloqueado → whitelist
ip-list é o comando vigente; whitelist/blacklist ainda funcionam como alias
em muitas versões, mas estão obsoletos.
# Adicionar/remover (forma prática que ainda opera):
imunify360-agent whitelist ip add 1.2.3.4 --comment "IP escritório cliente X - 2026-06"
imunify360-agent whitelist ip delete 1.2.3.4
imunify360-agent blacklist ip add 9.9.9.9 --comment "scanner abusivo"
# Consultar listas (forma vigente):
imunify360-agent ip-list local list --purpose white
3. Falso positivo do WAF / ModSecurity
Primeiro localizar a regra que disparou (campo do incidente). Se o IP for legítimo, colocá-lo na whitelist (seção 2) geralmente basta. Para ajustar limites ou regras:
Config principal : /etc/sysconfig/imunify360/imunify360.config
Limiar PAM (BFM) : /etc/pam_imunify/i360.ini
Não desativar um conjunto completo de regras por um caso pontual; colocar o IP na whitelist ou criar a exceção mínima. Qualquer alteração nestes arquivos: CONFIRMAR e fazer backup antes.
4. Malware em uma conta
# Escanear uma conta (excluir maildir acelera e evita ruído):
imunify360-agent malware on-demand start --path=/home/USUARIO --ignore-mask=/home*/*/mail
# Escanear todas:
imunify360-agent malware on-demand start --path=/home*/*/ --ignore-mask=/home*/*/mail
# Listar arquivos maliciosos (limite padrão 50):
imunify360-agent malware malicious list --limit 100
Limpeza (CONFIRMAR antes): revisar a lista de maliciosos e limpar pela ação do Imunify (UI/cleanup) ou, se a conta estiver muito comprometida, restaurar a partir de um backup limpo anterior à infecção. Verificar a sintaxe do cleanup vigente no servidor antes de aplicá-la cegamente. Após limpar: alterar senhas, atualizar CMS/plugins e reescanear.
5. Arquivo legítimo marcado como malicioso → falso positivo
imunify360-agent submit false-positive --reason "tema próprio, código interno" /home/USUARIO/public_html/arquivo.php
# Caso inverso (algo malicioso que passou como limpo):
imunify360-agent submit false-negative /caminho/completo/ate/o/arquivo
Para que o scanner ignore um arquivo/pasta de forma estável, usa-se a whitelist do
scanner (JSON com path/reason/md5/recursive). Documentar o motivo.
6. "Está pedindo captcha / não consigo entrar"
Geralmente é graylist (o IP do cliente ficou em cinza por comportamento suspeito) ou Active Response. Confirmar com a seção 1 e, se o IP for do cliente, colocar na whitelist. O captcha invisível e os timeouts do OSSEC (padrão 600s) são gerenciados pela configuração.
Quando NÃO desligar as proteções
- Se a dúvida é "desligo o WAF para funcionar" → quase sempre é whitelist de IP ou exceção de arquivo, não desligar o módulo.
- Desativar o HardenedPHP ou desinstalar o Imunify pode quebrar atualizações do Apache/PHP: nunca como atalho de suporte.
Ações que mudam o estado (limpar, restaurar, editar config, desativar módulos) são propostas e executadas somente com OK explícito do operador.