Chrome Dev Summit 2018 is happening now and streaming live on YouTube. Watch now.

Limpar e fazer a manutenção do site

Será necessário:

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

Próximas ações:

Abrangeremos várias ações nesta etapa: 

  • Onde localizar recursos adicionais caso você acredite que o hacker pretendia conseguir informações pessoais dos usuários (como ocorre com páginas de phishing).
  • Opção 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.
  • Opção Fetch as Google no Search Console para agilizar o processamento pelo Google de páginas limpas, ou seja, páginas novas ou recém-atualizadas que você deseja ver 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 o site mais vulnerável no futuro.
  • Restauração do conteúdo de boa qualidade e eliminação do conteúdo do hacker.
  • Correção da vulnerabilidade da causa raiz que foi explorada pelo hacker.
  • Alteração de todas as senhas.
  • Planejamento para manter seu site seguro.

1. Localize os recursos de suporte ao lidar com perda de informações confidenciais, como ocorre com páginas de phishing

Se informações confidenciais do usuário foram reunidas a partir do seu site (por exemplo, por ser parte de um ataque de phishing), é possível considerar quaisquer responsabilidades empresariais, regulamentares ou legais antes de começar a limpar o site ou a apagar os arquivos. Em casos de phishing, o site antiphishing.org (em inglês) tem recursos úteis, como o documento What to Do if Your Site Has Been Hacked by Phishers (o que fazer caso seu site tenha sido invadido com phishing).

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 é uma etapa inteiramente opcional. Se você simplesmente 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 dependerá do número de novas páginas indesejadas que foram 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 por meio da remoção de URL apareçam nos resultados de pesquisa, certifique-se de que as páginas também estejam configuradas para retornar uma resposta "404 – Arquivo não encontrado" para os URLs indesejados/removidos.
  • Não use esta ferramenta para solicitar a remoção de páginas anteriormente íntegras que foram danificadas pelo hacker. Essas páginas devem aparecer nos resultados de pesquisa depois de limpas. A remoção de URLs destina-se somente a páginas que não devem aparecer nos resultados.

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

Se você tem páginas limpas novas ou atualizadas, pode usar o recurso Fetch as Google no Search Console para enviar essas páginas ao índice do Google. Isso é totalmente opcional. Se você pular essa etapa, as 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 ao 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 o software do sistema operacional, caso você esteja no controle do servidor, e todos os aplicativos, como o sistema de gerenciamento de conteúdo, a plataforma de comércio eletrônico, os plug-ins, os modelos etc.
    3. Considere se é possível eliminar algum software em seu servidor (por exemplo, widgets, plug-ins ou aplicativos) que o site não usa mais.
    4. Corrija a vulnerabilidade.
    5. Certifique-se de que todos os problemas encontrados em Avaliar os danos foram abordados.
    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 sistemas e contas CMS). Em sistemas Unix:
      $passwd admin1
  • Backup limpo, mas desatualizado
    1. Faça 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
    2. Faça uma cópia de backup 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
    3. Restaure o backup limpo, mas desatualizado, no seu servidor.
    4. Avalie se é possível eliminar algum software em seu servidor (por exemplo, widgets, plug-ins ou aplicativos) que o site não usa mais.
    5. Se você estiver no controle do servidor, faça o upgrade de todo o software, incluindo o sistema operacional e todos os aplicativos de software, como o sistema de gerenciamento de conteúdo, a plataforma de comércio eletrônico, os plug-ins, os modelos etc. Certifique-se de verificar e instalar as atualizações de segurança e os patches disponíveis.
    6. Corrija a vulnerabilidade.
    7. Realize uma diff do site, seja ela manual ou automática, entre o backup limpo e a cópia atualmente infectada.
      $diff -qr www/ backups/full-backup-20120124/
    8. Faça o upload de qualquer conteúdo novo e limpo que você deseja preservar a partir da cópia infectada no servidor atualizado.
      $rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
    9. Verifique se cada URL listado em Avaliar os danos foi corrigido.
    10. 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 sistemas e contas CMS). Em sistemas Unix:
      $passwd admin1
  • Sem backup disponível
    1. Faça dois backups do site, mesmo que ele ainda esteja infectado. Fazer um backup extra ajuda a recuperar o conteúdo apagado acidentalmente, além de permitir que você reverta a situação e tente de novo em caso de erro. 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 a restauração de conteúdo. Deixe a imagem de disco à mão para alguma emergência. 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
      • O outro backup será uma cópia do sistema de arquivos 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
      • Se você não tem uma imagem de disco, faça dois backups do banco de dados e dois backups do sistema de arquivos.
    2. Limpe o conteúdo do site na nova cópia do sistema de arquivos do backup (e não no servidor)
      1. Se a investigação anterior encontrou permissões de arquivo muito brandas, prossiga e corrija-as. Certifique-se de fazer isso na cópia de backup, e não no próprio servidor.
      2. Também na cópia de backup, limpe todos os arquivos correspondentes aos URLs comprometidos descobertos em Avaliar o dano. Eles podem ser arquivos de configuração do servidor, JavaScript, HTML, PHP.
      3. Certifique-se também de ter removido (veiculado 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. Se o site tiver um banco de dados, comece a limpar os registros modificados pelo hacker em seu backup. Pouco antes de terminar, faça um teste de sanidade em mais registros para confirmar se eles estão limpos.
      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 sistemas e contas CMS). Em sistemas Unix:
        $passwd admin1
      7. 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. Elimine o software desnecessário

Avalie se é possível eliminar algum software em seu 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, outra invasão poderá ocorrer.
    • A nova instalação deve incluir o sistema operacional, se você estiver no controle do servidor, e todos os aplicativos de software, como o sistema de gerenciamento de conteúdo, a plataforma de comércio eletrônico, os plug-ins, os modelos etc. Certifique-se de verificar as atualizações de segurança e os patches disponíveis.
  2. Transfira o conteúdo em bom estado da cópia limpa do sistema de arquivos de backup para o servidor recém-instalado. Faça o upload/restaure somente os arquivos/banco de dados conhecidos e limpos. Certifique-se de manter as permissões de arquivo apropriadas e não substituir os arquivos de sistema recém-instalados.
  3. Altere as senhas uma última vez em 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 Unix:
    $passwd admin1

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

Há muitos recursos informativos na Web para manutenção robusta de sites, como o Preventing badware: basics (Como evitar badware: noções básicas, em tradução livre), da StopBadware. Também recomendamos que você:

  • faça backups regulares e automáticos do site;
  • esteja atento para manter o software atualizado;
  • compreenda as práticas de segurança de todos os aplicativos, plug-ins, software de terceiros etc. 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 seguro na máquina (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 acessado 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 o 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?

9. Coloque seu site on-line novamente

Próxima etapa

Estamos quase no fim! A última etapa do processo é solicitar uma revisão.