Checklist para deixar o WordPress mais seguro

Utilize a checklist de segurança para WordPress e proteja seu site! A lista inclui dicas para antes, durante e depois da instalação.

Instruções

  • Confira meu texto sobre segurança para WordPress para explicações mais detalhadas;
  • Certifique-se de que você e seu time tenham experiência o suficiente para realizar as tarefas listadas aqui;
  • Marque as tarefas que você concluir;
  • As tarefas marcadas como concluídas ficarão salvas no navegador que você está utilizando* – ou seja, se você fechar essa página e voltar mais tarde as tarefas ainda estarão marcadas;
  • Faça um backup e use a checklist por sua conta e risco! Não tenho como dar garantias de que tudo irá funcionar, já que cada tarefa depende de diversos fatores.

*Ao utilizar essa checklist, você concorda que as tarefas marcadas serão salvas em seu navegador. Ninguém terá acesso a esses dados, sendo que eles ficarão armazenados apenas para aprimorar a usabilidade da ferramenta (no caso, o navegador identifica quais tarefas você concluiu). Os dados serão apagados quando você limpar o cache do seu navegador.

banner da checklist

Pré-instalação

Antes mesmo de iniciar o projeto.

  • Certificar-se de que meu computador e dos demais administradores e editores do site é seguro, livre de vírus
  • Informar para os membros do site que eles não devem acessar o painel em computadores públicos ou inseguros
  • Hospedar o WordPress em um host seguro e confiável
  • Baixar um tema original (não pirateados/crackeados), se for o caso, apenas em sites confiáveis
  • Baixar plugins apenas no repositório oficial do WordPress e/ou em sites confiáveis
  • Enviar essa checklist para meu programador

Instalação nova

Caso o WordPress tenha sido instalado agora ou recentemente.

  • Utilizar prefixos complexos para as tabelas do banco de dados
  • Instalar certificado SSL
  • Apagar o usuário admin, caso exista
  • Criar nomes de usuários complexos e senhas extremamente complexas
  • Gerar chaves de segurança caso seja uma instalação manual
  • Remover os arquivos readme.txt, license.txt e wp-config-sample.php da raiz da instalação
  • Mover o wp-config.php para fora da raiz da instalação, alocando-o em uma pasta acima
  • Verificar se as permissões de escrita do seu servidor estão com o padrão 0644 para arquivos e 0755 para pastas
  • Desativar a opção “Qualquer pessoa pode se registrar” no painel de Configurações

Proteção do WordPress

Plugins para segurança do WordPress.

  • Instalar o plugin WPS Hide Login ou semelhante para esconder a url de login
  • Instalar um plugin de autenticação em dois fatores
  • Instalar um plugin de backups como VaultPress (pago) ou UpdraftPlus (grátis, pode ser integrado com o Dropbox).

Implementações no tema

Melhorias de segurança através do tema utilizado.

  • Remover links do tema que levam para páginas de autor (o que expõe o nome de usuário, ou login)
  • Remover links do tema que levam para página de login
  • Ocultar a versão do WordPress, CSS e scripts com o código abaixo no functions.php do meu tema:
// Remove a versão do WP no <head> e RSS
function lt_remove_wordpress_version() {
  return '';
}
add_filter( 'the_generator', 'lt_remove_wordpress_version' );

// Remove a versão dos scripts e CSS do seu tema
function lt_remove_asset_version( $src ) {
	if ( strpos( $src, '?ver=' ) ) $src = remove_query_arg( 'ver', $src );
	return $src;
}
add_filter( 'style_loader_src', 'lt_remove_asset_version', 1000 );
add_filter( 'script_loader_src', 'lt_remove_asset_version', 1000 );
  • Desativar o XML-RPC adicionando o código abaixo no functions.php do meu tema:
// Desativa o XML-RPC
add_filter( 'xmlrpc_enabled', '__return_false' );
  • Configurar atualizações automáticas adicionando o código abaixo no functions.php do meu tema:
/* Atualizações automáticas do WordPress */
define('WP_AUTO_UPDATE_CORE', true);

/* Atualizações automáticas de plugins */
add_filter('auto_update_plugin', '__return_true');

/* Atualizações automáticas de temas */
add_filter('auto_update_theme', '__return_true');
  • Desativar avisos de erro de login adicionando o código abaixo no functions.php do meu tema:
/* Desativar avisos de erros de login */
add_filter( 'login_errors', function() {
  return '';
});

Revisão

Para quando o site está finalizado.

  • Confirmar se todos os plugins instalados estão sendo utilizados
  • Confirmar se todos os plugins instalados são imprescindíveis
  • Remover / desinstalar plugins e scripts em excesso
  • Apagar todos os temas que não estão sendo utilizados
  • Desinstalar plugins que adicionam arquivos .php na pasta de uploads
  • Certificar que eu e outros administradores do site utilizamos protocolo sFTP ou SSH para acessar os arquivos do servidor

Conteúdo

Proteção também no conteúdo, que afeta diretamente o banco de dados.

  • Não fazer hotlink de imagens
  • Não incorporar (embedar) scripts e widgets de sites desconhecidos
  • Não linkar sites suspeitos
  • Enviar essa checklist para os editores do site

Manutenção semanal

Tarefas semanais.

Revisão constante

Verificações a serem feitas a cada semestre ou ano.

  • Trocar todas as senhas
  • Verificar se todos os plugins ainda estão recebendo atualizações
  • Substituir plugins que não são atualizados há mais de um ano
  • Verificar se o tema utilizado ainda está recebendo atualizações (se for um tema pronto)
  • Substituir o tema pronto caso não seja mais atualizado ou questionar o programador se há algum ajuste de segurança que deve ser feito
  • Remover o novo tema lançado pelo WordPress

Se precisar de ajuda, veja meus serviços de suporte e manutenção para WordPress.

Quem é Fabio Lobo?

Web designer, desenvolvedor front-end e programador WordPress.

Quem é Fabio Lobo?

Estou há mais de uma década na área. O foco do meu trabalho é em usabilidade, facilidade pro usuário, acessibilidade, SEO e performance.

Também tenho alguns projetos open source, além de prestar consultoria em hospedagem WordPress e criação de conteúdo.


O que estão falando

Veja depoimentos de parceiros e clientes que atendi nos últimos anos.

"O resultado além de rápido ficou excelente. (...) O Fabio soube captar o meu pensamento sobre como eu imaginei o layout responsivo."

Rodrigo Fernandes

Rodrigo Fernandes

Jacaré Banguela

"Eu queria fazer um blog, tentei fazer sozinho e foi um desastre. Por sorte, achei o Fabio na internet, que rapidamente entendeu e formatou um blog que atendia a todas as minhas necessidades. O blog está funcionando perfeitamente e sempre que tenho alguma dúvida, recorro ao Fabio que me atende prontamente."

Flavio Reis

Flavio Reis

Hidromundo

"O Fabio foi desde o início parceiro indispensável para tornar o sonho em algo efetivamente útil às pessoas. (...) Hoje, enxergo o quanto o sucesso do meu trabalho como fundadora do Gehosp está intimamente ligado ao desenvolvimento e apoio incondicional do Fabio."

Roberta Massa

Roberta Massa

GeHosp

"Além de ser um profissional de ótima qualidade (quase nunca pedi revisões)  ele sempre atende suas solicitações o mais rápido possível. Sem contar os prazos que sempre são antecipados e cumpridos antes do combinado."

Social+

Social+

Social+

"O Fabio ajudou a lapidar este projeto desde o início. E foi de uma forma tão alinhada com as minhas expectativas que não acredito que teria a mesma satisfação com outro profissional."

Onnet Seguros

Onnet Seguros

Onnet Seguros

"(...) sabe extrair da informação que o cliente passa exatamente o que deve vir a ser o site. O processo foi rápido e descomplicado, e o resultado final excedeu muito nossas expectativas."

Janio Sarmento

Janio Sarmento

PortoFácil