Segurança
O Que Fazer Se O Seu Site Foi Hackeado
A compromised website needs three things in order: contain it, find out how they got in, then rebuild it clean. Doing those out of order is how sites get reinfected within a day.
Um site comprometido precisa de três coisas, por esta ordem: contê-lo, descobrir como entraram, depois reconstruí-lo limpo. Fazer isto fora de ordem é como sites ficam reinfectados dentro de um dia.
Trabalhe através desta página de cima para baixo. Não assume nada sobre como o ataque aconteceu.
Não simplesmente delete os ficheiros suspeitos e continue. Quase cada comprometimento deixa mais do que uma forma de volta: uma segunda backdoor, uma conta de administrador fraudulenta, uma tarefa agendada, ou um ficheiro central modificado. Remover o sintoma visível e parar aí é a razão mais comum para um site ser atacado novamente na mesma semana.
Sinais de que Está Realmente Comprometido
- Os resultados de pesquisa mostram páginas farmacêuticas, de jogos ou em idiomas estrangeiros que nunca escreveu.
- Os visitantes são redirecionados para outro lugar, frequentemente apenas em mobile ou apenas a partir de motores de pesquisa.
- Um navegador ou motor de pesquisa mostra um aviso para o seu domínio.
- Ficheiros aparecem com nomes ou datas de modificação que não consegue justificar.
- O seu site envia spam, ou o seu domínio começa a ser rejeitado pelos fornecedores de correio.
- Existe uma conta de administrador que ninguém criou.
Nem sempre um destes significa um ataque. Um site que é apenas lento ou que está a lançar erros é mais frequentemente um conflito de plugin ou um limite de recursos. Veja Website Not Loading em primeiro lugar se isso for tudo o que tem.
Passo 1: Contê-lo
Coloque o site offline antes de investigar. Cada minuto que fica público é mais dano para a sua reputação, o seu ranking de pesquisa e os seus visitantes.
A forma mais rápida de fazer isso sem apagar nada é a protecção por palavra-passe, que coloca um login à frente de todo o site ao nível do servidor web:
- Vá a Websites e abra o site.
- Abra o separador Password protect.
- Active-o e defina um nome de utilizador e palavra-passe.
O site agora devolve um pedido a cada visitante, incluindo o atacante, enquanto mantém acesso completo através do painel, SFTP e SSH.

Se conhecer o endereço IP do atacante, adicione-o também à IP block list no separador Security do site.
Não delete o site, e não restaure nada ainda. O estado actual é a sua única evidência de como o ataque funcionou. Faça um backup do site comprometido agora, etiquete-o claramente como infectado, e guarde-o num local separado. Pode precisar dele.
Passo 2: Descubra Como Entraram
Existem apenas algumas respostas realistas, e cada uma muda o que faz a seguir.
Verifique o log de auditoria do painel. Vá a Settings, depois Account, depois View log. Acções atribuídas à sua equipa de um endereço IP que nenhum de vocês usa significa que a sua própria conta Kapsule foi alcançada. Este é um incidente muito maior: veja Account Security e trate a conta como comprometida também. O separador Activity do site cobre alterações feitas através do painel.
Verifique os seus logs de erro e acesso no separador Logs do site. Pedidos repetidos a um caminho único de plugin, ou um pico de POSTs para um endpoint de upload, normalmente indicam a forma como entraram. Veja Reading Error Logs.
Execute um scan de malware no separador Security do site. Veja Scanning For and Removing Malware para como ler o resultado.
Verifique o que estava desactualizado. Um plugin, tema ou versão central desactualizada é de longe o ponto de entrada mais comum. Veja Keeping WordPress Updated.
Passo 3: Reconstruir Limpo
Existem duas formas de acabar com um site limpo, e apenas uma delas é fiável.
A Forma Fiável: Restaurar a Partir de um Backup Feito Antes do Comprometimento
Descubra aproximadamente quando o comprometimento começou a partir dos seus logs, depois restaure a partir de um backup feito bem antes dessa data.
- Vá ao separador Backups do site.
- Escolha um backup anterior à infecção.
- Restaure para staging em primeiro lugar. O diálogo de restauro incumbe-se em staging propositadamente.
- Verifique a cópia de staging: sem ficheiros desconhecidos, sem utilizadores admin desconhecidos, sem redirecionamentos.
- Quando estiver satisfeito, restaure para live. Restaurar para live requer que digitar o nome do domínio para confirmar.
Veja Restoring From a Backup para os detalhes, incluindo como restaurar ficheiros e base de dados em separado.
Em sites WordPress e WooCommerce com bases de dados geridas, a recuperação ponto-a-tempo no separador PITR do site pode restaurar a base de dados para um minuto específico em vez de para o último backup nocturno. Isto importa quando caso contrário perderia um dia de encomendas.
Uma restauração reverte tudo, incluindo conteúdo legítimo e encomendas criadas após esse backup. Antes de restaurar, exporte qualquer dados que precise manter do site actual, e esteja ciente de que conteúdo exportado de um site comprometido pode ele próprio conter código injectado. Inspecione-o antes de importar.
A Forma Pouco Fiável: Limpeza No Local
Se não tiver um backup limpo, tem que limpar o site manualmente. Seja honesto consigo próprio sobre como de minucioso isto precisa ser.
- Coloque em quarentena cada ficheiro que o scan de malware identifica. Veja Scanning For and Removing Malware.
- Substitua o core do WordPress, cada plugin e cada tema com cópias novas da fonte em vez de actualizar no local.
- Delete qualquer plugin ou tema que não use activamente. Código inactivo ainda executa quando é alcançável.
- Inspecione ficheiros que o scanner não cobre:
.htaccess,wp-config.php, e qualquer coisa na sua pasta uploads que não seja uma imagem. - Verifique tarefas agendadas no separador Cron jobs do site para trabalhos que não criou.
- Verifique a base de dados para conteúdo injectado, particularmente em options e conteúdo de posts.
Passo 4: Mude Cada Credencial
Assuma que tudo o que o site conseguisse alcançar foi obtido.
- Palavras-passe de administrador do WordPress. Redefina cada uma a partir do separador WordPress do site, force cada utilizador a fazer logout para que cookies de sessão roubadas parem de funcionar, e delete qualquer senhas de aplicação que não criou. Veja Resetting a WordPress Password.
- Contas de administrador desconhecidas. Delete-as, e relegue qualquer conta que não precise de direitos de administrador.
- Credenciais de base de dados, no separador Database do site.
- Contas SFTP no separador SFTP do site. Deletar uma termina suas sessões abertas.
- Chaves SSH no separador SSH access do site. Remova qualquer chave que não reconheça.
- A sua palavra-passe Kapsule, e revogue qualquer chave API que não criou. Veja API Keys and Developer Access.
Passo 5: Coloque Online e Reforce-o
Uma vez que está confiante de que o site está limpo, desactive a protecção por palavra-passe e deixe o mundo voltar a entrar.
Depois feche a porta que estava aberta:
- Mantenha tudo actualizado. Veja Keeping WordPress Updated e Managing Plugins.
- Ligue as protecções de segurança no separador Security do site: protecção de força bruta, filtragem de país e lista de bloqueio de IP.
- Ative autenticação de dois factores na sua conta Kapsule e nas contas de administrador próprias do site.
- Faça um backup novo do site que sabe ser bom. Veja Taking a Backup.
- Considere retenção de backup estendida, para que um comprometimento que não note durante semanas seja ainda recuperável.
Quando Envolver Suporte
Abra um ticket de suporte se qualquer um destes se aplicar:
- O comprometimento veio através da sua conta Kapsule em vez do site.
- O seu site está a enviar spam, ou a sua reputação de envio foi afectada.
- Não tem backup utilizável e não consegue deixar o site limpo.
- A sua conta ou site foi suspenso. Veja Why Your Account Was Suspended.
- Acredita que o site de outro cliente o está a atacar. Veja Reporting Abuse.
Inclua o que encontrou, quando o notou em primeiro lugar, e o que já mudou. Quanto mais da sua própria investigação conseguir partilhar, mais rápida será a resposta.
Resolução de Problemas
Os motores de pesquisa ainda avisam sobre o site. Solicite uma revisão através das suas próprias ferramentas de webmaster uma vez que o site esteja genuinamente limpo. Isso está fora do nosso controlo.
Voltou depois de eu limpar. Perdeu uma backdoor, ou uma credencial que não mudou ainda é válida. Restaure a partir de um backup limpo em vez disso, e mude cada credencial no Passo 4.
O scan diz limpo mas o site está claramente comprometido. O scan de ficheiros apanha código malicioso conhecido, não registos de base de dados injectados. Compare com um backup e verifique a base de dados.
Não consigo entrar para corrigi-lo. Use SFTP ou SSH em vez do login próprio da aplicação, que o atacante pode ter mudado. Veja SFTP Access e File Manager.