Limpar e fazer a manutenção do site

Para manter seu site limpo e evitar ataques futuros, você vai precisar do seguinte:

  • Acesso de administrador do shell ou terminal aos servidores do site: Web, banco de dados, arquivos
  • Conhecimento de comandos de shell ou terminal
  • Compreensão do código (como PHP ou JavaScript).
  • Armazenamento para criar backups do seu site, incluindo arquivos, banco de dados e imagens

Próximas ações

Abrangeremos várias ações nesta etapa:

  • Onde encontrar outros recursos se você acreditar que o hacker tentou obter informações pessoais dos usuários (como com páginas de phishing).
  • A opção de usar Remover URLs no Search Console para agilizar a remoção de URLs totalmente novos e indesejados, visíveis para o usuário, criados pelo hacker que você não quer que apareçam nos resultados da Pesquisa Google.
  • A opção de Pedir ao Google para rastrear novamente seus URLs no Search Console para acelerar o processamento pelo Google de páginas limpas, ou seja, páginas novas ou recém-atualizadas, que você quer que apareçam nos resultados da Pesquisa Google.
  • Instalação da versão mais recente e segura do software.
  • Remoção de aplicativos ou plug-ins desnecessários ou não utilizados que podem tornar seu site mais vulnerável no futuro.
  • Restaurar o conteúdo bom e eliminar o conteúdo do hacker.
  • Correção da vulnerabilidade da causa raiz explorada pelo hacker.
  • Mudando todas as senhas.
  • Planejar a segurança do site.

1. Localizar recursos de suporte

Se você recebeu informações confidenciais do usuário no seu site (por exemplo, por fazer parte de um ataque de phishing), considere todas as responsabilidades comerciais, regulatórias ou legais antes de começar a limpar o site ou excluir arquivos. Em casos de phishing, antiphishing.org (em inglês) tem recursos úteis, como o documento O que fazer se o site foi invadido por phishers.

2. Considere acelerar a remoção de novos URLs criados pelo hacker

Se o hacker criou URLs totalmente novos visíveis para o usuário, é possível remover essas páginas mais rapidamente dos resultados da Pesquisa Google usando o recurso Remover URLs no Search Console. Esta etapa é opcional. Se você apenas excluir as páginas e configurar o servidor para retornar um código de status 404, elas serão excluídas naturalmente do índice do Google com o tempo.

  • A decisão de usar a remoção de URL provavelmente vai depender do número de páginas novas e indesejadas criadas. Muitas páginas podem ser difíceis de incluir na remoção de URLs, assim como o possível dano que essas páginas podem causar aos usuários. Para evitar que as páginas enviadas pela remoção de URL apareçam nos resultados da pesquisa, verifique se elas também estão configuradas para retornar uma resposta 404 "Arquivo não encontrado" para os URLs indesejados e removidos.
  • Não use essa ferramenta para solicitar a remoção de páginas que estavam boas antes, mas foram danificadas pelo hacker. Você vai querer que essas páginas apareçam nos resultados da pesquisa depois que forem limpas. A remoção de URL é apenas para páginas que você não quer que apareçam nos resultados.

3. Considere acelerar o processamento do Google nas páginas limpas

Se você tiver páginas limpas novas ou atualizadas, poderá pedir ao Google para rastrear novamente seus URLs no Search Console e enviar essas páginas para o índice do Google. Isso é opcional. Se você pular essa etapa, suas páginas novas ou modificadas provavelmente serão rastreadas e processadas com o tempo.

4. Comece a limpeza dos seus servidores

Agora é hora de começar a limpar seu site com base nas anotações que você fez durante Avaliar os danos e Identificar a vulnerabilidade. O caminho que você seguirá nesta etapa depende do tipo de backup disponível:

  • Backup limpo e atual
  • backup limpo, mas desatualizado
  • Sem backup disponível

Primeiro, verifique se o backup foi criado antes do site ser invadido.

Backup limpo e atual

  1. Restaure o backup.
  2. Instale todas as atualizações e upgrades de software, além dos patches disponíveis. Isso inclui softwares para o SO, se você tiver controle do servidor, e todos os aplicativos, como o sistema de gerenciamento de conteúdo, a plataforma de e-commerce, plug-ins ou modelos.
  3. Remova do servidor os softwares que o site não usa mais (como widgets, plug-ins ou aplicativos) .
  4. Corrija a vulnerabilidade.
  5. Verifique se todos os problemas encontrados durante a etapa Avaliar os danos foram resolvidos.
  6. Mude as senhas mais uma vez para todas as contas relacionadas ao site (por exemplo, logins para acesso FTP, acesso ao banco de dados, administradores do sistema e contas do CMS). Em sistemas Unix:
passwd admin1

Backup limpo, mas desatualizado

  1. Crie uma imagem do disco do seu site atual, mesmo que ele ainda esteja infectado. Essa cópia é apenas para segurança. Marque a cópia como infectada para diferenciá-la das outras. Em um sistema Unix, você cria uma imagem de disco assim:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
  1. Faça uma cópia do sistema de arquivos de backup do servidor, incluindo imagens e arquivos de mídia. Se você tiver um banco de dados, faça backup dele também.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
  1. Restaure o backup limpo, mas desatualizado, no seu servidor.
  2. Considere se é possível eliminar algum software em seu servidor (por exemplo, widgets, plug-ins ou aplicativos) que o site não usa mais.
  3. Faça upgrade de todo o software, incluindo o SO, se você estiver no controle do servidor, e todos os aplicativos de software, como o sistema de gerenciamento de conteúdo, a plataforma de e-commerce, os plug-ins e os modelos. Verifique e instale as atualizações e os patches de segurança disponíveis.
  4. Corrija a vulnerabilidade.
  5. Execute um diff de site manualmente ou de maneira automatizada, entre o backup limpo e a cópia atualmente infectada.
diff -qr www/ backups/full-backup-20120124/
  1. Faça upload de qualquer conteúdo novo e limpo que você gostaria de preservar da cópia infectada no servidor atualizado.
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
  1. Verifique se cada URL listado em Avaliar os danos foi corrigido.
  2. Altere as senhas mais uma vez para todas as contas relacionadas ao site (por exemplo, logins de acesso ao FTP, acesso ao banco de dados, administradores de sistema e contas CMS). Em sistemas Unix:
$passwd admin1

Sem backup disponível

Faça dois backups do seu site, mesmo que ele ainda esteja infectado. Ter um backup extra ajuda a recuperar o conteúdo excluído acidentalmente ou permite reverter e tentar novamente se as coisas derem errado. Marque os backups com "infectado" para referência futura.

Um dos backups será uma imagem de disco ou uma "versão clone" do seu site. Esse formato facilita ainda mais a restauração do conteúdo. Deixe a imagem do disco de lado para uma emergência. Em um sistema baseado em Unix, use o código abaixo para criar uma imagem de disco:

dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz

O outro backup será uma cópia do sistema de arquivos do seu servidor, incluindo imagens e arquivos de mídia. Se você tiver um banco de dados, faça backup dele também.

tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql

Se você não tiver uma imagem de disco, faça dois backups do banco de dados e dois backups do sistema de arquivos.

Para limpar o conteúdo do site na nova cópia do sistema de arquivos de backup (não no servidor em si), faça o seguinte:

  1. Se a investigação anterior encontrou permissões de arquivo muito flexíveis, corrija-as. Faça isso na cópia de backup, não no servidor em si.
  2. Na cópia de backup, limpe todos os arquivos correspondentes aos URLs descobertos como comprometidos em Avaliar os danos. Eles podem ser arquivos de configuração do servidor, JavaScript, HTML ou PHP.
  3. Remova também (exiba uma resposta 404) para novos arquivos criados pelo hacker, que podem ou não ter sido enviados usando a ferramenta de remoção de URL no Search Console.
  4. Corrija a vulnerabilidade se ela existir no código ou nas senhas decifradas. As bibliotecas de validação de entrada ou as auditorias de segurança podem ser muito úteis.
  5. Se o site tiver um banco de dados, comece a limpar os registros modificados pelo hacker no backup. Pouco antes de terminar, verifique mais registros para garantir que o banco de dados esteja limpo.
  6. Mude as senhas mais uma vez para todas as contas relacionadas ao site (por exemplo, logins para acesso FTP, acesso ao banco de dados, administradores do sistema e contas do CMS). Em sistemas baseados em Unix, use o seguinte código:
$passwd admin1

Nesse ponto, a cópia de backup do seu site que foi infectada deve conter apenas dados limpos. Mantenha essa cópia limpa à mão e passe à ação nº 5.

5. Remover softwares desnecessários

Considere se é possível remover softwares do servidor, como widgets, plug-ins ou aplicativos, que o site não usa mais. Isso pode aumentar a segurança e simplificar manutenções futuras.

6. Limpe todos os servidores

  1. Execute uma instalação limpa, e não apenas um upgrade. Os upgrades podem deixar arquivos de uma versão anterior. Se um arquivo infectado permanecer no servidor, seu site terá mais chances de ser invadido novamente.
    • A instalação nova precisa incluir o SO se você tiver controle do servidor e todos os aplicativos de software, como o sistema de gerenciamento de conteúdo, a plataforma de e-commerce, os plug-ins e os modelos. Confira se há atualizações e patches de segurança disponíveis.
  2. Transfira o conteúdo bom da cópia do sistema de arquivos de backup limpa para os servidores recém-instalados. Faça upload e restaure apenas os arquivos ou bancos de dados limpos conhecidos. Certifique-se de manter as permissões de arquivo apropriadas e não substituir os arquivos de sistema recém-instalados.
  3. Faça uma última mudança de senhas para todas as contas relacionadas ao site (por exemplo, logins para acesso FTP, acesso ao banco de dados, administradores do sistema e contas do CMS). Em sistemas Unix, use este código:
passwd admin1

7. Crie um plano de manutenção em longo prazo

Recomendamos que você faça o seguinte:

  • faça backups regulares e automáticos do site;
  • esteja atento para manter o software atualizado;
  • Entenda as práticas de segurança de todos os aplicativos, plug-ins e outros softwares de terceiros antes de instalá-los no servidor. Uma vulnerabilidade de segurança em um aplicativo de software pode afetar a segurança de todo o site.
  • imponha a criação de senhas fortes;
  • Mantenha todos os dispositivos usados para fazer login na máquina seguros (sistema operacional e navegador atualizados).

8. Confira se a limpeza foi concluída

Veja se é possível responder "sim" às seguintes perguntas:

  • Tomei as medidas adequadas caso o hacker tenha obtido as informações pessoais dos usuários?
  • Meu site tem a versão mais recente e mais segura do software?
  • Removi todos os aplicativos ou plug-ins desnecessários ou não utilizados que poderiam tornar meu site mais vulnerável no futuro?
  • Restaurei meu conteúdo e eliminei o conteúdo do hacker?
  • Corrigi a vulnerabilidade da causa raiz que possibilitou que meu site fosse invadido?
  • Tenho um plano para manter meu site seguro?

Agora você pode colocar seu site on-line novamente.