Skip to content

Tudo para WordPress, desenvolvimento web — e não só

🔍 Como verificar um site WordPress em busca de vírus e código malicioso

🔍 Como verificar um site WordPress em busca de vírus e código malicioso

Abre o painel de administração numa manhã e vê um redirecionamento para um site de phishing. Ou a Google marca toda a sua listagem de pesquisa a vermelho: «Este site pode ter sido pirateado». Ou a sua empresa de alojamento envia um e-mail sobre carga excessiva porque um script de alguém está a enviar spam a partir do seu servidor.

O código malicioso no WordPress raramente se anuncia em voz alta. Durante meses, recolhe silenciosamente palavras-passe, injeta links ocultos e mina criptomoedas nos processadores dos visitantes. De acordo com a investigação de segurança do WordPress, 96% das vulnerabilidades no ecossistema WordPress provêm de plugins e temas, e o tempo médio entre a descoberta da vulnerabilidade e a exploração ativa caiu para 48 horas. Sem uma verificação regular, será o último a saber de um problema, depois de os motores de busca terem banido o seu domínio e o seu alojamento ter suspendido a sua conta.

A boa notícia: qualquer administrador pode verificar um site em busca de vírus e código suspeito sem conhecimentos profundos de cibersegurança. Tudo o que precisa é do plugin certo e de 15 minutos. Abaixo estão três ferramentas principais que tratam desta tarefa, além de um plano passo a passo se uma infeção já estiver confirmada.

💡 Visão geral rápida:

  • Instale o scanner Sucuri para verificações rápidas da integridade dos ficheiros e monitorização de alterações; compara o estado atual dos ficheiros principais e plugins com o repositório oficial.
  • Execute o Wordfence para uma verificação profunda: backdoors, URLs maliciosos, assinaturas de infeção conhecidas e uma firewall integrada ao nível da aplicação.
  • Utilize o Anti-Malware Security (GOTMLS) para uma verificação abrangente de todas as pastas e ficheiros, incluindo .htaccess e diretórios ocultos, com verificação manual dos resultados.
  • Se forem detetados vírus: altere as palavras-passe → crie uma cópia de segurança → execute uma limpeza profissional ou siga a lista de verificação na secção final.

Sinais de que o seu site WordPress precisa de uma verificação

A melhor altura para a sua primeira verificação é agora. A maioria dos proprietários de sites adia a instalação de um scanner «para mais tarde» enquanto o código malicioso faz o seu trabalho. A verificação semanal é uma higiene básica, como as cópias de segurança ou as atualizações.

No entanto, certos indicadores exigem uma verificação completa imediata:

  • A Google Search Console envia avisos sobre conteúdo malicioso ou páginas de phishing que não publicou.
  • Um pico súbito na carga do servidor sem crescimento de tráfego: um script de terceiros está a minerar criptomoedas ou a enviar spam.
  • Administradores desconhecidos na secção Utilizadores, especialmente com permissões que não concedeu.
  • Redirecionamentos espontâneos para sites de terceiros, particularmente para visitantes provenientes de motores de busca.
  • Ficheiros suspeitos na raiz do site ou na pasta /wp-content/uploads/ com extensões não padronizadas, como .php entre imagens.
  • Ficheiros principais modificados em que não mexeu: o próprio WordPress irá notificá-lo sobre isto quando tentar uma atualização.

Mesmo que nenhum destes sinais apareça, a verificação semanal deteta ameaças na fase de infiltração, antes de prejudicarem a sua reputação e posições nos motores de busca.

1. Sucuri Security: auditoria de integridade e monitorização de alterações

Painel do plugin Sucuri Security com resultados de verificação do WordPress

O Sucuri é uma das ferramentas mais conceituadas no ecossistema de segurança do WordPress. A versão gratuita do plugin cobre três tarefas principais: monitorização da integridade dos ficheiros (comparando hashes com o padrão do repositório), deteção de código suspeito e bloqueio rigoroso de vários vetores de ataque através do reforço da segurança.

O plugin verifica os ficheiros principais, temas e plugins em busca de discrepâncias com as versões oficiais. Se um ficheiro tiver sido modificado, vê a linha específica e pode decidir se é uma edição legítima ou uma injeção. O Sucuri também verifica a existência de iframes ocultos, links maliciosos no conteúdo e atividade anómala nos registos de acesso.

Vantagens:

  • Verificação gratuita de integridade e monitorização de alterações sem limitações.
  • Os planos pagos incluem uma firewall de DNS que bloqueia ataques antes de chegarem ao seu servidor; isto é mais eficaz do que as firewalls ao nível da aplicação.
  • Os planos pagos incluem a limpeza manual do site por especialistas da Sucuri sem custos adicionais, o que é fundamental para empresas.

Desvantagens:

Sucuri no WordPress.org | Site oficial da Sucuri

2. Wordfence: análise profunda e firewall ao nível da aplicação

Página de verificação do Wordfence com progresso da análise de ficheiros do WordPress

O Wordfence está instalado em mais de 4 milhões de sites e figura entre os cinco plugins do WordPress mais descarregados de sempre. A sua principal vantagem é a combinação de um scanner profundo e de um firewall de endpoint num único plugin gratuito.

O scanner do Wordfence verifica os ficheiros principais, temas e plugins em relação ao repositório oficial, procura assinaturas de malware conhecidas, backdoors (eval, base64_decode) e URLs suspeitas no conteúdo e nos comentários. Após a conclusão da análise, recebe um relatório com resultados agrupados: críticos, avisos e informativos.

O firewall opera ao nível da aplicação: analisa os pedidos recebidos antes de o WordPress os processar, bloqueando ataques de força bruta, análise de vulnerabilidades e tentativas de exploração direcionadas a falhas conhecidas de plugins. A versão premium adiciona assinaturas de ameaças em tempo real (as regras são atualizadas instantaneamente, em vez de terem um atraso de 30 dias).

Vantagens:

  • A análise profunda e o firewall são gratuitos; uma raridade no mercado.
  • Reparação automática de ficheiros principais e de plugins modificados: substituição com um clique pelo original do repositório.
  • Relatórios detalhados com recomendações para cada item.

Desvantagens:

  • A versão gratuita recebe as assinaturas do firewall com um atraso de 30 dias; os utilizadores pagos veem as novas regras instantaneamente.
  • Um firewall ao nível da aplicação é executado dentro do WordPress: se o servidor estiver comprometido ao nível do alojamento, o Wordfence não ajudará.

Wordfence no WordPress.org | Site do Wordfence

3. Anti-Malware Security (GOTMLS): análise abrangente ficheiro a ficheiro

Interface do plugin Anti-Malware Security com definições de verificação completa do site

O Anti-Malware Security da GOTMLS é um scanner menos conhecido, mas extremamente minucioso. Não se limita aos diretórios padrão do WordPress: o plugin verifica todos os ficheiros e pastas na sua instalação, incluindo .htaccess, diretórios ocultos e ficheiros de configuração do servidor.

O algoritmo procura padrões de infeção conhecidos, scripts maliciosos, código ofuscado, injeções ocultas de eval e anomalias na estrutura dos ficheiros. O autor atualiza ativamente a base de dados de definições: novas assinaturas surgem à medida que novas ameaças são descobertas no terreno.

A principal consideração é a alta sensibilidade. O plugin gera frequentemente falsos positivos, especialmente em temas personalizados e plugins com uma arquitetura não padronizada. Cada ocorrência exige uma comparação manual com o original, o que requer um certo nível de conhecimento técnico e tempo.

Vantagens:

  • Analisa todos os diretórios do servidor, não apenas o WordPress.
  • Definições de malware ativamente atualizadas; a base de dados é mantida e expandida semanalmente.
  • Inclui uma opção de firewall ao nível da aplicação na versão gratuita.

Desvantagens:

  • Muitos falsos positivos: a verificação manual dos resultados é inevitável.
  • A interface é espartana; os relatórios são menos detalhados do que os do Wordfence ou da Sucuri.
  • Exige que o administrador compreenda a estrutura de ficheiros do WordPress.

Anti-Malware Security no WordPress.org

O que fazer se o scanner encontrar vírus: plano de limpeza passo a passo

Processo de limpeza de um site WordPress pirateado através do painel de controlo de segurança

O scanner mostra resultados críticos. Não entre em pânico. Uma ação metódica e de cabeça fria restaurará o seu site mais rapidamente do que apagar ficheiros ao acaso.

Passo 1: Altere todas as palavras-passe. Atualize imediatamente as contas de administrador do WordPress, o acesso ao painel de alojamento, as credenciais FTP/SFTP e a palavra-passe da base de dados. Se o atacante obteve acesso através de uma palavra-passe comprometida, este passo termina a sessão dele.

Passo 2: Crie uma cópia de segurança completa. Copie os ficheiros via FTP e a base de dados via phpMyAdmin, mesmo que estejam infetados. Se algo correr mal durante a limpeza, terá um ponto de restauro. Crie a cópia de segurança antes de qualquer outra ação.

Passo 3: Isole o site. Ative o modo de manutenção através de um plugin ou do ficheiro .maintenance. Se o seu alojamento o permitir, restrinja temporariamente o acesso ao site por IP, permitindo apenas o seu. Isto impede a propagação da infeção aos visitantes.

Passo 4: Execute uma limpeza profissional. Este não é o momento para cortar custos. Serviços como o Sucuri (nos planos pagos) e o Wordfence Care incluem limpeza manual por especialistas: eles encontram e removem todos os vestígios do ataque, incluindo backdoors ocultas que um olho não treinado não detetaria. Custo: desde 199 dólares por ano (Sucuri) até 490 dólares por ano (Wordfence Care), comparável a um ou dois dias de inatividade do negócio.

Passo 5: Limpeza DIY (se tiver confiança nas suas competências). Restaure o núcleo do WordPress a partir de uma distribuição nova, substitua todos os plugins e temas pelas versões originais do repositório, verifique manualmente a pasta /wp-content/uploads/ à procura de ficheiros PHP e remova tudo o que não deveria estar lá. Após a limpeza, execute outra verificação: o site deve estar limpo.

Passo 6: Reforce as suas defesas. Configure autenticação de dois fatores para todos os administradores, limite as tentativas de login, desative o XML-RPC se não precisar dele e configure atualizações automáticas para os ficheiros do núcleo e plugins. Uma firewall ao nível do DNS (Sucuri ou Cloudflare) fornece uma camada adicional de defesa à frente do seu servidor.

⁉️🤔 Perguntas frequentes

Os plugins gratuitos são suficientes para proteção ou é necessário um premium?

As versões gratuitas do Wordfence e do Sucuri Scanner lidam bem com a deteção de ameaças; encontram a maioria das infeções. Mas a remoção automática, a firewall em tempo real e a limpeza manual por especialistas só estão disponíveis nos planos pagos. Se o seu site gera receita, o premium paga-se a si próprio com o primeiro ataque evitado.

Com que frequência devo executar verificações?

Semanalmente é o mínimo de higiene para qualquer site WordPress. Se instala novos plugins ativamente ou aceita conteúdo gerado por utilizadores, é melhor configurar uma verificação automática diária no Wordfence ou no Sucuri. Ambos os plugins podem enviar relatórios por email.

Posso usar dois scanners em simultâneo?

Tecnicamente sim, mas na prática as firewalls de dois plugins podem entrar em conflito, e a dupla verificação cria uma carga desnecessária no servidor. A configuração ideal: um plugin principal com firewall (Wordfence) mais uma verificação cruzada periódica com um segundo scanner (Sucuri Free ou GOTMLS) uma vez por mês para uma segunda opinião.

O que devo fazer se o código malicioso reaparecer após a limpeza?

A reinfeção após a limpeza indica uma backdoor remanescente. Verifique o wp-config.php à procura de constantes desconhecidas, a pasta /wp-content/mu-plugins à procura de plugins obrigatórios ocultos e os cron jobs via WP-CLI (wp cron event list). Reponha todas as chaves de API e salts no wp-config.php. Se o problema persistir após estes passos, chame os especialistas da Sucuri ou do Wordfence: caçar uma backdoor sofisticada por conta própria pode levar dias.

Um plugin de segurança afeta a velocidade do site?

Uma firewall ao nível do DNS (Sucuri, Cloudflare) acelera realmente o seu site através de caching e CDN, porque os pedidos não chegam ao seu servidor. Uma firewall ao nível da aplicação (Wordfence) adiciona 50 a 150 ms ao processamento do pedido em páginas não armazenadas em cache. A verificação programada sobrecarrega o servidor apenas enquanto está a ser executada (normalmente à noite), sem impacto nos visitantes.

Deve verificar o seu site manualmente ou confiar num plugin?

Verificar manualmente cada ficheiro PHP à procura de backdoors é possível, mas inútil: o código malicioso moderno disfarça-se de construções legítimas, usa ofuscação em várias fases e esconde-se em strings base64 dentro de ficheiros multimédia. Um plugin de scanner com uma base de dados de assinaturas ativa faz este trabalho em segundos e não falha padrões conhecidos.

Na prática, o conjunto ideal para a maioria dos sites é este: Wordfence como scanner e firewall principal (verificação profunda, notificações instantâneas, reparação automática gratuita de ficheiros do núcleo), mais Sucuri Free para verificação cruzada da integridade uma vez por mês. Se o orçamento permitir, a Plataforma Sucuri a 199 dólares/ano elimina todas as preocupações: firewall de DNS, monitorização, remoção de malware e CDN num só pacote.

Execute a sua primeira verificação hoje. Mesmo que o site esteja limpo, estabelecerá uma linha de base, um ponto de referência para todas as verificações futuras. E se o scanner encontrar um problema, saberá disso antes do Google.