Segurança e SSL

Limpar e recuperar o WordPress depois de uma intrusão

Revisto a 5 min de leitura WordPress malware segurança

Localizar tudo o que um atacante adicionou ou modificou é difícil. Substituir o núcleo reduz o risco, mas não garante uma limpeza completa: também é preciso rever wp-content, wp-config.php, utilizadores, tarefas agendadas e a base de dados.

1. Preservar evidências e criar uma cópia atual

Coloque o site em manutenção e evite novas escritas. Antes de limpar, guarde uma cópia completa do estado comprometido, incluindo ficheiros, base de dados e registos, num armazenamento isolado. Calcule e conserve os respetivos checksums; esta cópia serve para investigar e não deve ser restaurada como se estivesse limpa.

Crie além disso um ponto de recuperação atual e verifique que pode ser restaurado numa localização temporária. Anote a versão do WordPress, plugins, temas, utilizadores e tarefas agendadas.

2. Comparar antes de substituir

A partir da raiz exata do WordPress execute:

wp core version
wp core verify-checksums --include-root

Reveja cada diferença. --include-root pode assinalar ficheiros personalizados legítimos na raiz; não os apague sem os identificar. Inspecione e conserve separadamente wp-config.php, .htaccess, verificações de motores de pesquisa e qualquer ficheiro próprio. Reveja todo o wp-content, incluindo plugins, temas, uploads, mu-plugins e caches.

3. Substituir o núcleo de forma recuperável

Descarregue do WordPress.org a mesma versão limpa que identificou e verifique a sua origem. Em vez de apagar, conserve wp-admin e wp-includes numa quarentena datada, fora de todos os diretórios públicos e sem possibilidade de execução web. Coloque as suas cópias limpas e substitua apenas os ficheiros do núcleo confirmados através de checksum. Mudar-lhes o nome dentro do site não os isola.

Não substitua nem dê como bons automaticamente wp-content ou wp-config.php: contêm personalizações e também podem conter a persistência do ataque. Reinstale plugins e temas a partir de fontes oficiais ou de cópias conhecidas, e reveja os ficheiros personalizados antes de os recuperar.

Execute de novo:

wp core verify-checksums --include-root

Verifique o site público, o wp-admin, os registos de PHP, os utilizadores administradores, as tarefas cron, as opções ativas e o conteúdo da base de dados antes de reabrir.

4. Revogar acessos

Altere as palavras-passe dos administradores do WordPress, regenere as salts para fechar as suas sessões e revogue as chaves ou tokens expostos. Altere sempre a palavra-passe da base de dados usada pelo WordPress e atualize o wp-config.php, porque uma intrusão com leitura de ficheiros pode tê-la exposto. Altere também as credenciais do cPanel, SFTP/SSH e email quando estiverem implicadas na via de entrada, tiverem sido reutilizadas ou o atacante as possa ter lido. Atualize o núcleo, os plugins e os temas para versões suportadas e corrija a via de entrada antes de retirar a manutenção.

Reversão

Se a substituição avariar o site, mantenha o acesso fechado, reponha os diretórios a partir da quarentena e restaure a base de dados ou os ficheiros a partir do ponto de recuperação verificado. Não volte a publicar o estado comprometido: a reversão serve para continuar a recuperação num ambiente fechado enquanto prepara uma nova limpeza controlada.

Limites dos checksums e do WP-CLI

Uma comparação do núcleo não revê toda a base de dados nem garante que plugins, temas ou ficheiros alheios ao núcleo sejam seguros. Confirme a versão e o idioma exatos para interpretar diferenças legítimas. Conserve também ficheiros ocultos, mu-plugins e configurações que possam carregar código antes da aplicação.

Evite executar comandos que carreguem a instalação comprometida até trabalhar num ambiente contido. Não assuma que omitir os plugins normais evita carregar qualquer persistência. Anote cada substituição e conserve uma cópia da evidência fora do site público.

Se preferir que sejamos nós a fazê-lo

Se o seu WordPress está noutro fornecedor, ao contratar qualquer plano trazemo-lo e aplicamos este procedimento sem custos antes de o publicar aqui. Veja o que inclui em resgate de sites atacados.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.