Malware no site: como detetar e resolver
O malware em sites é mais comum do que se pensa. Um site WordPress comprometido pode injectar links para sites de spam, redirecionar visitantes para páginas maliciosas, enviar spam pelo servidor de e-mail, minerar criptomoedas usando os recursos dos visitantes, ou roubar dados de formulários e pagamentos. E o mais preocupante: muitas vezes o proprietário do site não sabe que está infectado.
Sinais de infeção
Google mostra aviso: “Este site pode ter sido comprometido” nos resultados de pesquisa, ou página de aviso vermelha ao aceder ao site. O Google Search Console envia notificação de problemas de segurança.
Redirecionamentos: visitantes são redirecionados para outros sites, especialmente em mobile ou quando vêm do Google. Pode não ser visível quando acede diretamente.
Conteúdo estranho: páginas, posts ou utilizadores que não criou. Links para sites de farmácia, casino ou conteúdo adulto no código-fonte da página.
Performance degradada: site subitamente mais lento: o malware consome recursos do servidor.
E-mails bloqueados: o IP do servidor foi bloqueado por reputação porque o malware está a enviar spam. Os e-mails legítimos da empresa são rejeitados.
Como verificar
Sucuri SiteCheck: análise gratuita online em sitecheck.sucuri.net. Deteta malware conhecido, bloqueios de reputação e erros de segurança.
Wordfence: instale o plugin e execute uma análise completo. Identifica ficheiros alterados, código malicioso, backdoors e vulnerabilidades conhecidas.
Imunify360: se o servidor tem Imunify360 (disponível connosco), verifique no cPanel → Segurança → Imunify360 para ver ficheiros detetados.
Google Search Console: Segurança e Ações Manuais mostra se o Google detectou problemas.
Como limpar
Opção 1: Restaurar backup: se tem um backup limpo (anterior à infeção), restaure-o. É o método mais rápido e fiável. Depois, atualize tudo (WordPress, temas, plugins) e mude todas as palavras-passe.
Opção 2: Limpeza manual: use o Wordfence para identificar ficheiros infectados. Substitua os ficheiros core do WordPress por versões limpas (wp core verify-checksums com WP-CLI). Reinstale temas e plugins de fontes oficiais. Verifique e limpe a base de dados (tabela wp_options, posts com conteúdo injectado). Remova utilizadores desconhecidos. Gere novas chaves de segurança no wp-config.php.
Prevenir reinfecção
Atualize WordPress, temas e plugins imediatamente e sempre. Use palavras-passe fortes e 2FA. Elimine temas e plugins não utilizados. Não instale plugins ou temas de fontes não oficiais (nulled). Mantenha backups regulares. Use Wordfence com análise automática ativo.
A limpeza precisa de resolver a entrada
Apagar um ficheiro detetado não basta se a falha ou a credencial comprometida continuar ativa. Preserve os registos disponíveis, identifique a extensão do problema e compare ficheiros com versões conhecidas e legítimas.
Escolha uma cópia anterior ao incidente, confirme que está limpa e corrija a causa antes de reabrir o serviço. Reveja utilizadores, tarefas agendadas e acessos ao alojamento. Se existirem dados pessoais afetados, avalie também as obrigações aplicáveis à ocorrência; uma reposição técnica não resolve todas as consequências.
Como verificar a proteção sem criar uma falsa sensação de segurança
Uma instalação protegida combina medidas no servidor com medidas na aplicação. Atualize os componentes mantidos pelos respetivos fabricantes, elimine extensões que já não utiliza, aplique permissões adequadas e proteja as contas de administração. Uma firewall pode bloquear determinadas tentativas, mas não corrige vulnerabilidades de um plugin desatualizado.
Registe os eventos relevantes e confirme a existência de backups recuperáveis antes de intervenções de maior risco. Se houver suspeita de comprometimento, preservar registos e identificar o ponto de entrada é tão importante como repor os ficheiros. Limpar apenas a página afetada pode deixar contas fraudulentas ou tarefas maliciosas ativas. A resposta deve distinguir contenção, análise, recuperação e prevenção de reincidência.
Como agir nas primeiras horas depois de um alerta
Identifique o sistema afetado, limite acessos desnecessários e preserve registos. Não elimine ficheiros ou reinstale tudo sem compreender o alcance do incidente. Se suspeita que houve exposição de passwords, substitua-as a partir de um dispositivo de confiança e reveja os administradores existentes.
Depois da contenção, analise a origem e teste a recuperação. Restaurar um backup contaminado pode reproduzir a falha. Distinga factos confirmados de hipóteses para que a resposta não seja orientada por suposições.
Camadas de proteção com funções diferentes
SSL, firewall, proteção contra malware e backups têm objetivos distintos. O HTTPS cifra a comunicação, mas não elimina vulnerabilidades de plugins. Uma cópia de segurança apoia a recuperação, mas não substitui prevenção. A firewall pode bloquear padrões de ataque sem impedir que uma password roubada seja utilizada.
Reveja periodicamente versões, utilizadores e permissões. A empresa deve saber o que é responsabilidade do alojamento e o que pertence à manutenção da aplicação. Esta distinção facilita a resposta quando surge um incidente.
Recuperar o site e resolver a origem
Preserve evidência, identifique a entrada e confirme que a recuperação não elimina pedidos recentes.
Podemos avaliar o alojamento do projeto. Veja os nossos planos de alojamento WordPress antes de decidir. Fale connosco se precisa de ajuda a escolher.
Se já é nosso cliente, envie o contexto através de um pedido de suporte na nossa área de cliente.