Como instalar e usar o Maldet (Linux Malware Detect) 2.0: varredura, quarentena, alertas por e-mail, monitoramento em tempo real e exceções.
O Linux Malware Detect, conhecido pelo comando maldet, é um scanner gratuito (licença GPLv2) feito para o tipo de ameaça comum em hospedagem compartilhada: webshells em PHP, injeções em JavaScript, backdoors codificados em base64, robôs de IRC. Ele funciona sozinho ou usando o ClamAV como motor, o que deixa a varredura bem mais rápida.
Em abril de 2026 saiu a versão 2.0, com regras YARA, alertas por Slack, Telegram e Discord e nomes novos para várias opções. Se você seguia um tutorial antigo, veja a tabela de nomes mais abaixo.
Antes de começar
- Acesso root pelo SSH (veja como acessar o SSH como root).
- Opcional, mas recomendado: o ClamAV. Em servidor cPanel, instale pelo plugin ClamAV for cPanel em WHM » cPanel » Manage Plugins. Em outros servidores,
dnf install clamav(com o EPEL) ouapt install clamav.
Como instalar o Maldet
- Baixe a versão atual do site oficial do projeto:
cd /usr/local/src wget https://www.rfxn.com/downloads/maldetect-current.tar.gz tar -xzf maldetect-current.tar.gz cd maldetect-*/ - Rode o instalador:
Ele instala o programa em./install.sh/usr/local/maldetect, cria o comandomaldet, uma varredura diária em/etc/cron.daily/maldete o serviço de monitoramento. Numa atualização, a configuração e as exceções são mantidas, e a instalação anterior vai para/usr/local/maldetect.bkseguido de um número. - Atualize as assinaturas e confira a versão:
maldet -u maldet -v
Como configurar (conf.maldet)
A configuração fica em /usr/local/maldetect/conf.maldet. As opções mais usadas:
| Opção (versão 2) | Padrão | O que faz |
|---|---|---|
email_alert | 0 | Com 1, manda o relatório por e-mail ao fim de cada varredura. |
email_addr | [email protected] | Quem recebe os alertas. Troque pelo seu. |
quarantine_hits | 0 | Com 1, move automaticamente os arquivos detectados para a quarentena. |
quarantine_clean | 0 | Com 1, tenta remover o código malicioso injetado e devolver o arquivo limpo. |
quarantine_suspend_user | 0 | Com 1, suspende a conta cPanel (ou tira o shell) de quem tiver arquivo infectado. |
scan_clamscan | auto | Usa o ClamAV quando ele está instalado. |
cron_daily_scan | 1 | Varredura diária automática dos arquivos alterados. |
Uma configuração equilibrada para começar: alertas ligados, quarentena ligada, limpeza e suspensão desligadas até você conhecer os resultados no seu servidor.
maldet -co quarantine_hits=1,[email protected] -a /home.Nomes antigos e novos das opções
Na versão 2.0, quar_hits virou quarantine_hits, quar_clean virou quarantine_clean, quar_susp virou quarantine_suspend_user e clamav_scan virou scan_clamscan. Em servidores com a versão 1.6, os nomes antigos continuam valendo.
Comandos do dia a dia
| Comando | O que faz |
|---|---|
maldet -a /home/?/public_html | Varre os sites de todas as contas (o ? substitui o nome do usuário). |
maldet -a /home/usuario/public_html | Varre uma conta só. |
maldet -r /home/?/public_html 2 | Varre só os arquivos criados ou alterados nos últimos 2 dias. |
maldet -b -a /home | Roda a varredura em segundo plano. |
maldet -e list | Lista as varreduras feitas, com o ID de cada uma. |
maldet -e ID | Mostra o relatório de uma varredura. |
maldet -q ID | Põe em quarentena tudo o que a varredura encontrou. |
maldet -n ID | Tenta limpar os arquivos encontrados. |
maldet -s ARQUIVO | Restaura um arquivo da quarentena (falso positivo). |
maldet -u e maldet -d | Atualizam as assinaturas e o próprio Maldet. |
Monitoramento em tempo real
Além da varredura diária, o Maldet pode verificar cada arquivo no momento em que ele é criado ou alterado, usando o recurso inotify do kernel:
maldet -m users
Isso monitora as pastas public_html e public_ftp dos usuários. Para parar, maldet -k. Em servidores com muitas contas, o monitoramento usa memória e CPU de forma contínua; acompanhe o consumo nos primeiros dias.
Exceções: pastas e assinaturas ignoradas
/usr/local/maldetect/ignore_paths: caminhos que não devem ser varridos, um por linha (uma pasta de cache, por exemplo)./usr/local/maldetect/ignore_file_ext: extensões ignoradas./usr/local/maldetect/ignore_sigs: assinaturas que geram falso positivo no seu ambiente. Na versão 2.0, cada linha é uma expressão regular que casa por trecho; para casar um nome exato, use^nome\.da\.assinatura$.
Problemas comuns
A varredura demora horas
Instale o ClamAV: com scan_clamscan=auto o Maldet passa a usá-lo e fica muito mais rápido. Para o dia a dia, prefira maldet -r com os últimos dias em vez de varrer tudo.
Não recebo o e-mail de alerta
Confira email_alert="1" e o endereço em email_addr, e veja se o servidor consegue entregar e-mails para fora (log em /var/log/exim_mainlog no cPanel). A versão 2.0 tem um teste: maldet --test-alert scan email.
Arquivo de um plugin legítimo foi para a quarentena
Restaure com maldet -s e, se tiver certeza de que o arquivo é seguro, coloque a assinatura em ignore_sigs. Antes, confira o arquivo com a versão oficial do plugin.