CPU no maximo, processos estranhos em /tmp, chaves SSH que voce nao adicionou. Se voce esta lendo isto, provavelmente seu servidor ja foi comprometido. Este guia mostra como confirmar, limpar e prevenir que aconteca de novo.
Escanear servidor agoraA maioria dos hackers nao deixa uma mensagem de resgate. Eles preferem que voce nao saiba que eles estao la — minerando criptomoedas, enviando spam ou usando seu servidor como ponto de lancamento para outros ataques. Aqui estao os sinais mais comuns.
Se a CPU esta em 100% sem motivo aparente, provavelmente ha um cryptominer rodando. Processos como xmrig, kdevtmpfsi ou nomes aleatorios em /tmp sao os culpados mais comuns.
Processos rodando a partir de /tmp, /dev/shm ou com nomes que parecem aleatorios sao quase sempre maliciosos. Nenhum software legitimo instala binarios nesses diretorios.
Hackers adicionam suas chaves publicas em ~/.ssh/authorized_keys para manter acesso persistente, mesmo depois que voce troca a senha. Verifique todos os usuarios.
Crontabs sao o metodo favorito de persistencia. Atacantes adicionam tarefas que baixam e executam malware periodicamente, garantindo que o processo reinicie mesmo depois de ser encerrado.
Conexoes de saida para IPs desconhecidos, especialmente em portas altas ou para pools de mineracao (Stratum protocol na porta 3333/4444), indicam comprometimento ativo.
Arquivos PHP novos ou modificados recentemente em diretorios de upload do WordPress ou em raizes de sites web sao um sinal classico de web shell. Procure por arquivos com nomes genericos como x.php, shell.php ou nomes aleatorios.
Se voce identificou um ou mais sinais acima, siga estes passos na ordem. Nao reinicie o servidor antes de investigar — voce pode destruir evidencias importantes.
Antes de qualquer outra coisa, identifique o que esta rodando agora. Procure processos com alto consumo de CPU, nomes estranhos ou rodando a partir de diretorios temporarios. Verifique conexoes de rede ativas para identificar comunicacao com servidores de comando e controle (C2).
$ top -c -b -n1 | head -30
$ ps auxf | grep -E "/tmp|/dev/shm|kdevtmpfsi|xmrig"
$ ss -tupn | grep ESTAB
$ lsof -i -P | grep ESTABLISHED
Atacantes sempre criam formas de manter acesso. Verifique crontabs de todos os usuarios, chaves SSH autorizadas, servicos do systemd e tarefas em /etc/cron.d/. Qualquer entrada que voce nao reconheca deve ser investigada.
$ for u in $(cut -d: -f1 /etc/passwd); do echo "==$u=="; crontab -u $u -l 2>/dev/null; done
$ find /root /home -name authorized_keys -exec cat {} \;
$ systemctl list-units --type=service --state=running | grep -v systemd
$ ls -la /etc/cron.d/ /etc/cron.daily/
Web shells PHP sao o tipo mais comum de malware em servidores web. Procure arquivos recentemente modificados, arquivos com funcoes perigosas como eval(), base64_decode() ou system(), e arquivos em diretorios de upload que nao deveriam conter codigo executavel.
$ find /var/www -name "*.php" -newer /etc/hostname -ls
$ grep -rn "eval(base64_decode" /var/www --include="*.php" | head -20
$ grep -rn "system(\$_" /var/www --include="*.php" | head -20
$ find /var/www -name "*.php" -path "*/uploads/*" -ls
Compare binarios do sistema com os pacotes originais para detectar rootkits que substituem ferramentas como ps, ls ou netstat. Em sistemas Debian/Ubuntu use dpkg -V. Em RHEL/CentOS use rpm -Va. Qualquer binario modificado e um indicador serio de rootkit.
$ dpkg -V 2>/dev/null || rpm -Va 2>/dev/null | head -30
$ cat /etc/ld.so.preload 2>/dev/null
$ find /tmp /dev/shm -type f -executable -ls
$ stat /usr/bin/ps /usr/bin/ls /usr/bin/ss
Mate processos maliciosos, remova arquivos de malware, limpe crontabs e chaves SSH comprometidas. Troque todas as senhas. Atualize todos os pacotes. Considere reinstalar o servidor a partir de um backup limpo se o comprometimento for extenso.
$ kill -9 $(pgrep -f "xmrig|kdevtmpfsi|cryptonight")
$ rm -f /tmp/.X11-unix/.cache /dev/shm/.malware
$ apt update && apt upgrade -y # ou yum update -y
$ curl -fsSL https://defensia.cloud/install.sh | sudo bash
Os passos manuais acima funcionam, mas levam tempo e precisam ser repetidos regularmente. O Defensia automatiza toda a deteccao e prevencao com um unico comando de instalacao.
Escaneamento automatico com 64.000+ assinaturas hash e 684 padroes dinamicos. Detecta PHP backdoors, cryptominers, reverse shells, web shells e rootkits. Quarentena automatica em /var/lib/defensia/quarantine/.
Watcher que monitora diretorios de upload a cada 30 segundos. Qualquer arquivo novo e escaneado imediatamente. Voce recebe alertas via Slack, email ou Discord antes que o dano se espalhe.
Identifica cryptominers, reverse shells e scripts suspeitos em /tmp automaticamente. Mostra no dashboard exatamente o que esta rodando e de onde veio.
Compara binarios do sistema com os pacotes originais usando dpkg -V ou rpm -Va. Detecta rootkits que substituem ferramentas como ps, ls ou netstat. Verifica /etc/ld.so.preload.
Encontra arquivos .env com permissoes incorretas, diretorios .git expostos ao publico, chaves SSH com permissoes abertas e credenciais de cloud (AWS, GCP) acessiveis.
Pontuacao de 0 a 100 com nota de A a F. Mostra exatamente onde seu servidor esta vulneravel e o que precisa ser corrigido. Atualizada continuamente.
Um comando. Menos de 30 segundos. Gratuito para 1 servidor. Funciona em Ubuntu, Debian, Rocky Linux, AlmaLinux, CentOS e Fedora.
Depois de limpar o servidor, o proximo passo e garantir que isso nao se repita. Aqui estao as acoes mais importantes para proteger seu servidor a longo prazo.
A deteccao manual e reativa — voce so descobre o problema quando ja e tarde. O Defensia monitora SSH, web, malware e vulnerabilidades 24/7 com alertas automaticos.
Software desatualizado e a causa principal de comprometimentos. Configure atualizacoes automaticas com unattended-upgrades (Ubuntu/Debian) ou dnf-automatic (RHEL/Rocky).
Desabilite login por senha no SSH. Use apenas autenticacao por chave publica. Isso elimina completamente ataques de brute force de senha.
Em caso de comprometimento grave, a forma mais segura de recuperar e restaurar a partir de um backup limpo. Teste seus backups regularmente — backup que nao e testado nao e backup.
Diretorios de upload nunca devem permitir execucao de PHP. Arquivos .env devem ter permissao 600. Diretorios .git nunca devem ser acessiveis via web.
De acordo com dados do CERT.br e telemetria do Defensia, estes sao os tipos de malware mais encontrados em servidores Linux hospedados no Brasil e na America Latina.
| Tipo | Descricao | Defensia |
|---|---|---|
| Cryptominers | XMRig, kdevtmpfsi e variantes. Consomem 100% da CPU para minerar Monero. Persistem via crontab. | ✓ |
| PHP Web Shells | c99, r57, WSO, FilesMan. Permitem controle total do servidor via navegador. Comuns em WordPress desatualizado. | ✓ |
| Backdoors ofuscados | Codigo PHP com eval(base64_decode(...)) ou gzinflate(). Dificeis de detectar manualmente. | ✓ |
| Spam bots | Scripts que usam seu servidor para enviar milhoes de emails de spam. Causam blacklisting do IP. | ✓ |
| Reverse shells | Conexoes de saida para servidores C2. Permitem acesso interativo remoto sem necessidade de SSH. | ✓ |
| Rootkits | Substituem binarios do sistema (ps, ls, netstat) para esconder processos maliciosos. Os mais perigosos e dificeis de detectar. | ✓ |
Os sinais mais comuns sao: CPU constantemente no maximo sem motivo, processos desconhecidos rodando a partir de /tmp ou /dev/shm, chaves SSH que voce nao adicionou, crontabs com comandos estranhos, e conexoes de rede para IPs desconhecidos. O Defensia monitora todos esses indicadores automaticamente e alerta voce em tempo real.
Nao adequadamente. O ClamAV foi projetado principalmente para malware de desktop (Windows). Ele nao detecta a maioria dos web shells PHP, backdoors ofuscados ou cryptominers especificos de Linux. O Defensia usa 64.000+ assinaturas hash e 684 padroes dinamicos especificos para malware de servidores web.
Se o comprometimento for limitado a web shells ou cryptominers, geralmente e possivel limpar e proteger. Se houver indicios de rootkit (binarios do sistema modificados, /etc/ld.so.preload alterado), a recomendacao e reinstalar a partir de um backup limpo. O Defensia ajuda a identificar a extensao do comprometimento.
Quando o Defensia encontra malware, ele move o arquivo para /var/lib/defensia/quarantine/ com permissoes restritas. O arquivo nao pode ser executado, mas voce pode examina-lo pelo dashboard antes de decidir se quer apaga-lo permanentemente.
Sim. O Defensia funciona em qualquer servidor Linux com systemd, iptables e acesso root. Isso inclui VPS e dedicados da Locaweb, HostGator Brasil, KingHost, UOL Host, Vultr Sao Paulo e DigitalOcean. A instalacao leva menos de 30 segundos.
Detecte malware, bloqueie atacantes e monitore tudo em tempo real. Um comando. Gratuito.
Sem cartao de credito necessario.