Limpar e fazer a manutenção do site

Para manter seu site limpo e evitar invasões futuras, você precisará do seguinte:

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

Próximas ações

Abrangeremos várias ações nesta etapa:

  • Onde localizar recursos adicionais caso acredite que o hacker pretendia obter informações pessoais dos usuários (como acontece com páginas de phishing).
  • A opção de usar Remover URLs no Search Console para agilizar a remoção de URLs totalmente novos, indesejados e visíveis para o usuário, criados pelo hacker e que você não quer que apareçam nos resultados da Pesquisa Google.
  • A opção para Pedir ao Google para rastrear novamente seus URLs no Search Console para acelerar o processamento de páginas limpas pelo Google, 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 poderiam tornar seu site mais vulnerável no futuro.
  • Restaura o bom conteúdo e elimina o conteúdo do hacker.
  • Corrigir a vulnerabilidade de causa raiz explorada pelo hacker.
  • Mudando todas as senhas.
  • Planejamento para manter seu site seguro.

1. Localizar recursos de suporte

Se informações confidenciais do usuário tiverem sido recebidas do 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, o site antiphishing.org (em inglês) tem recursos úteis, como o documento O que fazer se seu site tiver sido invadido por golpistas.

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

Se o hacker criou URLs totalmente novos e 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, as páginas sairão do índice do Google naturalmente com o tempo.

  • A decisão de usar a remoção de URLs provavelmente dependerá do número de páginas novas e indesejadas criadas (pode ser complicado incluir muitas páginas em "Remover URLs"), bem como do 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 as páginas 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 anteriormente válidas que só foram danificadas pelo hacker. Você quer que essas páginas apareçam nos resultados de pesquisa após a limpeza. A remoção de URLs destina-se apenas a páginas que não devem aparecer nos resultados.

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

Se você tiver páginas limpas novas ou atualizadas, peça ao Google para rastrear novamente seus URLs no Search Console e envie essas páginas ao índice do Google. Isso é opcional. Se você pular esta 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 limpar o 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 que você tem disponível:

  • backup limpo e atual
  • backup limpo, mas desatualizado
  • sem backup disponível

Primeiro, verifique se o backup foi criado antes de o 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 software para o SO, se você estiver no 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 avaliação dos danos foram resolvidos.
  6. Altere as senhas mais uma vez em todas as contas relacionadas ao site (por exemplo, logins de acesso ao FTP, acesso ao banco de dados, administradores de sistema e contas de CMS). Em sistemas Unix:
passwd admin1

backup limpo, mas desatualizado

  1. Crie uma imagem de disco do site atual, mesmo que ele ainda esteja infectado. Essa cópia é apenas para segurança. Marque a cópia como infectada para distingui-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 seu servidor, incluindo arquivos de imagem e 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 no seu servidor (por exemplo, widgets, plug-ins ou aplicativos) que o site não usa mais.
  3. Faça upgrade de todos os softwares, incluindo o SO, se você estiver no controle do servidor, e de 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 automática, entre o backup limpo e a cópia atualmente infectada.
diff -qr www/ backups/full-backup-20120124/
  1. Faça upload do conteúdo novo e limpo que você quer 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 em 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 ajudará a recuperar o conteúdo excluído acidentalmente ou permitirá que você reverta e tente 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 torna a restauração de conteúdo ainda mais simples. Deixe a imagem de disco de lado para uma emergência. Em um sistema baseado em Unix, use o seguinte código 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 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 brandas, prossiga e corrija-as. Faça isso na cópia de backup, não no servidor.
  2. Também na cópia de backup, limpe todos os arquivos correspondentes aos URLs comprometidos em Avaliar o dano. Eles podem ser arquivos de configuração do servidor, JavaScript, HTML ou PHP.
  3. Certifique-se também de remover (veicular uma resposta 404) os novos arquivos criados pelo hacker, que você pode ou não ter enviado 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. Caso o site tenha um banco de dados, comece a limpar os registros modificados pelo hacker no backup. Pouco antes de terminar, verifique outros registros para garantir que o banco de dados esteja limpo.
  6. Altere as senhas mais uma vez em todas as contas relacionadas ao site (por exemplo, logins de acesso ao FTP, acesso ao banco de dados, administradores de sistema e contas de CMS). Em sistemas baseados em Unix, use o seguinte código:
$passwd admin1

Neste ponto, a cópia de backup do site, antes 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 nova instalação precisa incluir 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, plug-ins e modelos. Verifique se há atualizações e patches de segurança disponíveis.
  2. Transfira o conteúdo em bom estado da cópia limpa do sistema de arquivos de backup para os servidores recém-instalados. Faça upload e restaure apenas os arquivos limpos ou o banco de dados conhecidos. Mantenha as permissões de arquivo apropriadas e não substitua os arquivos de sistema recém-instalados.
  3. Mude as senhas de todas as contas relacionadas ao site (por exemplo, logins de acesso ao FTP, acesso ao banco de dados, administradores de sistemas e contas CMS). Em sistemas baseados em Unix, use o seguinte 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 em segurança (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 para o caso de o hacker conseguir 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.