Back

Como Proteger um Site WordPress

Como Proteger um Site WordPress

O WordPress alimenta mais de 43% da web, o que o torna o CMS mais visado do planeta. Mas aqui está o que a maioria dos proprietários de sites entende errado: o software principal raramente é o problema. De acordo com pesquisas de segurança da Patchstack, a grande maioria das vulnerabilidades do WordPress vem de plugins e temas — não do núcleo do WordPress em si. Isso significa que sua postura de segurança depende quase inteiramente de como você mantém e configura seu site.

Este guia aborda as melhores práticas de segurança do WordPress que realmente importam, sem os conselhos ultrapassados.

Principais Conclusões

  • Quase todas as vulnerabilidades do WordPress se originam em plugins e temas, não no núcleo — audite e limpe suas extensões regularmente.
  • Autenticação forte (senhas únicas, 2FA baseado em TOTP e passkeys) é sua defesa mais eficaz contra acesso não autorizado.
  • Proteções em nível de servidor, como desabilitar o editor de arquivos, forçar HTTPS e definir permissões corretas de arquivos, reduzem drasticamente sua superfície de ataque.
  • Backups confiáveis e testados são sua última linha de defesa — um backup que você nunca restaurou é um backup no qual você não pode confiar.

Por Que a Maioria dos Sites WordPress São Comprometidos

Antes de partir para as correções, é útil entender a superfície de ataque real. A maioria das violações bem-sucedidas explora:

  • Plugins e temas desatualizados ou abandonados
  • Senhas fracas ou reutilizadas
  • Permissões de arquivo mal configuradas
  • Ambientes de hospedagem sem proteções em nível de servidor

O núcleo do WordPress (atualmente na linha de lançamento 6.x) é mantido ativamente por uma equipe de segurança dedicada, usa bcrypt para hash de senhas e fornece atualizações automáticas de segurança menores. O risco está quase sempre no ecossistema ao seu redor.

Guia de Hardening do WordPress: O Essencial

Mantenha Tudo Atualizado — Sem Exceções

A janela entre a divulgação de uma vulnerabilidade e a exploração ativa é frequentemente de horas, não dias. Habilite atualizações automáticas em segundo plano para versões menores do núcleo. Para plugins e temas, revise e aplique atualizações semanalmente, no mínimo.

Mais importante ainda, audite o que você tem instalado. Cada plugin inativo é uma superfície de ataque. Se você não está usando, delete-o — não apenas desative.

Antes de instalar qualquer plugin, verifique:

  • Data da última atualização (evite qualquer coisa não atualizada há mais de 12 meses)
  • Contagem de instalações ativas
  • Se está listado no repositório de plugins do WordPress.org
  • Tópicos de suporte abertos mencionando problemas de segurança

Nunca instale temas e plugins “nulled” ou pirateados. Eles frequentemente contêm backdoors.

Use Autenticação Forte em Todas as Contas

O núcleo do WordPress não inclui autenticação de dois fatores integrada. Você precisará de um plugin ou provedor de identidade externo para adicioná-la.

Melhores práticas modernas de autenticação:

  • Use uma frase-senha (quatro ou mais palavras aleatórias) ou uma senha gerada aleatoriamente armazenada em um gerenciador de senhas como Bitwarden ou 1Password
  • Habilite 2FA baseado em TOTP (aplicativo autenticador) para todas as contas de administrador — 2FA baseado em SMS é melhor que nada, mas mais fraco
  • Onde sua stack suportar, considere passkeys/WebAuthn para login resistente a phishing
  • Use Application Passwords do WordPress para REST API e integrações de terceiros em vez de suas credenciais principais

Evite compartilhar contas de administrador. Cada usuário deve ter seu próprio login com a função mínima necessária.

Aplique Proteções Básicas em Nível de Servidor

Algumas mudanças de configuração reduzem significativamente sua superfície de ataque:

  • Desabilite o editor de arquivos no wp-config.php para prevenir execução de código se uma conta de administrador for comprometida:
    define( 'DISALLOW_FILE_EDIT', true );
  • Proteja o wp-config.php restringindo o acesso via configuração do servidor e garantindo que não seja publicamente acessível
  • Defina permissões corretas de arquivo: diretórios em 755, arquivos em 644
  • Use SFTP ou SSH em vez de FTP simples ao transferir arquivos
  • Force HTTPS — todo site WordPress deve ter um certificado TLS válido e redirecionar HTTP para HTTPS

Adicione um Web Application Firewall e Rate Limiting

Um WAF filtra tráfego malicioso antes que ele chegue ao WordPress. Você pode implementar isso em três níveis:

  1. Nível CDN/proxy — serviços como Cloudflare oferecem WAF e proteção DDoS com gerenciamento de bots
  2. Nível de servidor — ModSecurity no Apache ou Nginx
  3. Nível de plugin — plugins de segurança como Wordfence ou Sucuri adicionam regras de firewall em camada de aplicação e limitação de taxa de login

Limitar tentativas de login é essencial. Ataques de força bruta contra wp-login.php são constantes e automatizados.

Nota sobre XML-RPC: Não desabilite o XML-RPC indiscriminadamente sem entender suas dependências. Alguns plugins e aplicativos móveis dependem dele. Se você não o usa, bloqueá-lo é razoável — mas faça isso em nível de servidor em vez de com regras frágeis de .htaccess.

Faça Backup de Forma Confiável e Teste Suas Restaurações

Um backup que você nunca testou não é um backup. Use a regra 3-2-1: três cópias, dois tipos diferentes de mídia, uma fora do local. Automatize backups e verifique se as restaurações realmente funcionam em uma programação regular.

Proteja Seu Site WordPress: Lista de Verificação Rápida

  • Núcleo do WordPress, plugins e temas estão atualizados
  • Plugins e temas não utilizados estão deletados
  • Todas as contas de administrador usam senhas fortes e únicas
  • 2FA está habilitado para todos os usuários administradores
  • DISALLOW_FILE_EDIT está definido no wp-config.php
  • Permissões de arquivo estão definidas corretamente (755/644)
  • HTTPS está forçado em todo o site
  • WAF e limitação de taxa de login estão ativos
  • Backups automatizados são executados regularmente e restaurações são testadas
  • Funções de usuário seguem o princípio do menor privilégio

Conclusão

Proteger um site WordPress é menos sobre truques exóticos de hardening e mais sobre disciplina de manutenção consistente. Mantenha seu software atualizado, use autenticação adequada, aplique proteções em nível de servidor e faça backup regularmente. A maioria dos ataques tem sucesso porque um desses básicos foi ignorado — não porque o WordPress em si falhou.

Perguntas Frequentes

Não. O núcleo do WordPress é mantido ativamente por uma equipe de segurança dedicada e recebe atualizações automáticas de segurança menores. A grande maioria das vulnerabilidades vem de plugins e temas de terceiros, não do software principal. Manter suas extensões auditadas e atualizadas é muito mais importante do que se preocupar com o WordPress em si.

Sim. Ataques de força bruta e credential-stuffing contra wp-login.php são constantes e automatizados. Uma senha forte sozinha não é suficiente porque senhas podem ser vazadas ou reutilizadas. 2FA baseado em TOTP através de um aplicativo autenticador adiciona uma segunda camada que impede a maioria das tentativas de login não autorizadas.

Depende da sua configuração. XML-RPC é uma API legada que alguns plugins e o aplicativo móvel do WordPress ainda usam. Se nada no seu site depende dele, desabilitá-lo reduz sua superfície de ataque. Bloqueie-o em nível de servidor em vez de através de regras htaccess, que podem ser contornadas mais facilmente.

A frequência depende de quão frequentemente seu conteúdo muda. Para sites ativos, backups automatizados diários são uma linha de base razoável. Mais importante que a frequência é testar suas restaurações regularmente. Siga a regra 3-2-1: três cópias, dois tipos diferentes de armazenamento, uma armazenada fora do local.

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay