Em resumo: para remover o aviso do Google sobre site pirateado, tem primeiro de fechar a causa e remover todos os conteúdos nocivos. Só depois pede a revisão no Google Search Console. Quem pede cedo demais ou apaga apenas os vestígios visíveis arrisca uma rejeição, porque as backdoors e as páginas de spam escondidas costumam continuar a existir.
Que avisos o Google mostra e porquê
O Google avisa de duas formas sobre sites comprometidos. Nos resultados de pesquisa, pode surgir sob a sua entrada uma indicação de que o site possivelmente foi pirateado. Em achados mais graves, como software malicioso ou phishing, os navegadores mostram, através do Google Safe Browsing, uma página de aviso vermelha antes de o site chegar sequer a carregar.
A causa são quase sempre conteúdos que os atacantes introduziram: numerosas páginas de spam para medicamentos, jogo ou contrafações de marcas, redirecionamentos para sites alheios, código malicioso para os visitantes ou páginas de login falsificadas. Para a sua empresa, isto significa menos visitantes, clientes inseguros e, na loja, perdas diretas de vendas.
Os problemas que o Google encontrou constam do Google Search Console, em Segurança e ações manuais, no relatório Problemas de segurança. Aí são muitas vezes indicados URLs de exemplo, que dão uma primeira pista.
Primeiro limpar, depois pedir a revisão
A sequência é decisiva. O aviso do Google é um sintoma; enquanto a vulnerabilidade estiver aberta e existir uma backdoor, os conteúdos regressam, muitas vezes logo a seguir à eliminação.
Uma atualização do CMS, por si só, não fecha todas as vulnerabilidades. No PHP2Shell, a fragilidade está no próprio PHP, e um patch não remove software malicioso já introduzido. Verifique a versão do PHP, o nível de patch e os ficheiros antes de pedir a revisão ao Google.
Para a limpeza, convém colocar o site temporariamente em modo de manutenção ou retirá-lo da rede. Assim protege os visitantes enquanto trabalha e impede que o atacante acrescente mais conteúdos. O modo de manutenção deve devolver o código de estado 503, para que os motores de pesquisa reconheçam a interrupção como temporária.
Remover o aviso do Google sobre site pirateado: passo a passo
- Guardar provas: guardar registos, uma cópia dos ficheiros e da base de dados, antes de apagar o que quer que seja.
- Verificar o Search Console: ler o relatório de problemas de segurança, anotar os URLs de exemplo e procurar, em Definições, Utilizadores e autorizações, proprietários desconhecidos.
- Fechar a vulnerabilidade: atualizar o PHP, o CMS, os temas e as extensões, remover extensões não utilizadas, reiniciar os workers PHP após a atualização.
- Remover o código malicioso: substituir os ficheiros do núcleo do CMS por uma fonte limpa, procurar ficheiros PHP nos diretórios de uploads e de cache, verificar o
.htaccesse a configuração do servidor quanto a redirecionamentos alheios. - Limpar a base de dados: remover publicações de spam, scripts introduzidos em conteúdos e opções, bem como contas de administrador desconhecidas.
- Renovar os acessos: alterar as palavras-passe do CMS, do alojamento, da base de dados, do FTP e do SSH, gerar de novo as chaves de segurança do CMS.
- Controlar o resultado: testar os URLs de exemplo com a inspeção de URL e abrir o próprio site tal como o Google o vê.
- Pedir a revisão: no relatório de problemas de segurança, solicitar a revisão e descrever brevemente o que foi encontrado e corrigido.
Vestígios escondidos: páginas de spam, cloaking e proprietários alheios
Muitas intrusões são construídas de modo a que os operadores não as notem. Os conteúdos de spam aparecem apenas para o Googlebot ou para visitantes vindos da pesquisa. Os administradores com sessão iniciada veem o site normal. A inspeção de URL no Search Console mostra, em contrapartida, a obtenção do ponto de vista do Google.
Outro indício é uma pesquisa com site:odominio.pt em combinação com termos de spam típicos. Se aparecerem aí páginas que nunca criou, é um sinal claro. Verifique também os sitemaps submetidos: os atacantes criam por vezes sitemaps próprios, para que as suas páginas de spam sejam indexadas mais depressa.
No servidor, verificações simples, apenas de leitura, ajudam a procurar ficheiros alterados:
# Ficheiros PHP e HTML alterados nos últimos 14 dias
find /var/www/ihre-website -type f \( -name '*.php' -o -name '*.html' \) -mtime -14 | sort
# Ficheiros PHP em diretórios de uploads (normalmente não deveriam existir)
find /var/www/ihre-website -path '*uploads*' -name '*.php'
# Regras de redirecionamento em ficheiros .htaccess
grep -rn --include='.htaccess' -iE 'RewriteCond.*(HTTP_REFERER|HTTP_USER_AGENT)' /var/www/ihre-website
Regras que redirecionam de forma diferente consoante o referer ou o user agent são uma característica típica do cloaking. No WordPress, siga adicionalmente, de forma orientada, as indicações do guia Encontrar backdoors no WordPress.
O que acontece após o pedido
O Google verifica o site de novo e comunica o resultado no Search Console. Se o pedido for aceite, os avisos desaparecem. Se for rejeitado, o Google indica geralmente outros URLs de exemplo. Procure então de forma orientada os conteúdos que restam e só volte a pedir depois da limpeza.
Os URLs de spam que o Google já conhece devem, após a limpeza, devolver o estado 404 ou 410, para saírem do índice. Não os redirecione em bloco para a página inicial. Continue a observar o Search Console nas semanas seguintes, pois o reaparecimento de spam indica uma backdoor despercebida. Um acompanhamento completo é descrito pela nossa lista de verificação após uma intrusão.
Para que o aviso não se repita, algumas coisas devem ficar resolvidas de forma duradoura após a limpeza:
- As atualizações do PHP, do CMS, dos temas e das extensões são instaladas em tempo útil, e alguém é responsável por isso.
- As extensões não utilizadas, as instalações de teste antigas e as subpastas esquecidas estão removidas.
- Os acessos de administração são pessoais e protegidos com segundo fator.
- Uma monitorização de ficheiros comunica novos ficheiros PHP nos diretórios de uploads e de cache.
- As notificações por e-mail do Search Console chegam a um endereço lido regularmente.
Em caso de interrupções prolongadas ou de dados de clientes afetados, informe também os seus clientes, de forma objetiva, sobre o estado. Uma comunicação aberta e serena protege normalmente melhor a confiança do que o silêncio.
Como ajuda concretamente a PHP SOS?
- Guardamos primeiro os vestígios e esclarecemos por que vulnerabilidade o atacante entrou.
- Limpamos ficheiros, base de dados e configuração do servidor no âmbito da remoção de malware e fechamos a causa.
- Verificamos o site do ponto de vista do Google, removemos proprietários alheios do Search Console e preparamos consigo o pedido de revisão.
- Em caso de infestação aguda, a nossa ajuda de emergência para sites pirateados assume a contenção, até o incidente estar concluído e documentado.
Perguntas frequentes
Quanto tempo demora até o Google remover o aviso?
Não se pode prever de forma fiável. A revisão só começa quando a pede no Search Console e depende do tipo e da extensão do problema. O estado vê-o no relatório de problemas de segurança.
O que acontece se pedir a revisão cedo demais?
Se o Google continuar a encontrar conteúdos nocivos na verificação, o pedido é rejeitado e o aviso mantém-se. Rejeições repetidas podem atrasar a verificação seguinte. Por isso, só peça a revisão depois de uma limpeza completa.
Porque é que eu próprio não vejo as páginas de spam?
Muitas intrusões mostram o spam apenas aos motores de pesquisa ou a visitantes vindos do Google, e aos administradores com sessão iniciada a página normal. Esta técnica chama-se cloaking. Com a inspeção de URL no Search Console vê o que o Google realmente obtém.
Tenho de reconstruir os rankings depois da limpeza?
Após a remoção do aviso, a visibilidade recupera muitas vezes, mas não necessariamente para o estado anterior. Decisivo é que os URLs de spam desapareçam do índice e que os conteúdos verdadeiros continuem acessíveis sem alterações.