WordPress é a plataforma mais popular de websites do mundo: 43% de toda internet roda em WordPress. Justamente por isso, é alvo favorito de hackers. Todos os dias, 900+ sites WordPress são hackeados, injetados com malware, ou defaced. Maioria dessas invasões são evitáveis com hardening básico: senhas fortes, atualizações, plugin de segurança, 2FA.

Este guia mostra 12 passos práticos de WordPress hardening: desde mudar wp-login até usar Wordfence/Sucuri, implementar 2FA, deixar logs de segurança, e configurar headers HTTP. Você aprenderá que segurança WordPress não é complexa, é disciplina: atualizações + plugin de segurança bom + senhas fortes = proteção real.

WordPress Hardening em 30 segundos (resumo rápido)

  • Taxa de Hackeamento: 900+ sites/dia, 43% de toda internet é WordPress
  • Causas Principais: Plugins desatualizados (50%), senhas fracas (30%), versão WordPress antiga (15%), configuração ruim (5%)
  • Defesa Número 1: Atualizações automáticas (core + plugins + temas)
  • Defesa Número 2: Plugin de segurança (Wordfence ou Sucuri)
  • Defesa Número 3: 2FA em admin (impede acesso mesmo com senha roubada)
  • 12 Passos de Hardening: Senhas fortes, 2FA, wp-login renomeado, htaccess, permissões, logs, WAF, etc.
  • Custo: R$ 0-200/mês (Wordfence gratuito, Sucuri pago)

Por Que WordPress é Alvo de Hacking

Razões Técnicas

  • Popular = Muitos Olhos para Encontrar Vulnerabilidades: 43% da web é WordPress, então para cada vulnerabilidade, potencial de 43% internet afetado. Hackers procuram bugs WordPress intensamente
  • Extensível via Plugins: WordPress permite plugins de terceiros. Qualidade varia muito: alguns plugins têm bugs de segurança dormentes
  • Código Aberto: Código-fonte está disponível online. Hacker consegue ler e procurar vulnerabilidades
  • Muitos Usuários Não-Técnicos: Maioria de usuários WordPress não são programadores. Cometem erros de segurança (senhas fracas, plugins antigos)

Vetores de Ataque Comuns

  • Força Bruta em wp-login.php (30%): Hacker tenta 1000 combinações de username/senha até descobrir. Não é técnico, é automático
  • Exploração de Plugin Desatualizado (50%): Plugin antigo com vulnerability conhecido. Hacker roda exploit contra site, entra com acesso admin
  • SQL Injection em Plugin (10%): Plugin ruim permite injetar código SQL. Hacker extrai dados ou instala malware
  • XSS (Cross-Site Scripting) (5%): Plugin ruim permite injetar JavaScript em página. Hacker redireciona visitante para site malicioso
  • Versão WordPress Antiga (5%): Segurança de WordPress é bugada em versão antiga. Hacker explora
Estatística Alarmante: 73% dos sites WordPress que foram hackeados tinham versão desatualizada ou plugin desatualizado. 27% tinham senha padrão (“admin” / “admin123”). Hardening básico protege contra 90% dos ataques.

12 Passos de Hardening WordPress

Passo 1: Mudança de Username Admin de “Admin”

Padrão de WordPress é username “admin”. Qualquer hacker fazendo força bruta já sabe o username, precisa só adivinhar senha. Mude para algo inusitado.

Como fazer:

  1. Painel WordPress > Usuários
  2. Edite seu usuário admin
  3. Mude “Login” para username não-óbvio (ex: “seu_nome_random_12345”)
  4. Se não consegue mudar nome de usuário admin original, crie novo usuário com acesso admin, delete admin antigo

Efetividade: Bloqueia 50% de força bruta automática (que presume username “admin”)

Passo 2: Renomear wp-login.php para URL Customizada

URL padrão é www.seu-site.com/wp-login.php. Qualquer bot automático tenta login ali. Renomeie para algo como www.seu-site.com/admin-secreto-12345

Plugin: WPS Hide Login (gratuito)

Como fazer:

  1. Instale e ative WPS Hide Login
  2. Configurações > Geral > procure “WPS Hide Login”
  3. Mude login URL para algo aleatório
  4. Salve
  5. Pronto, wp-login.php agora redireciona para 404

Efetividade: Bloqueia 80% de força bruta automática. Bots não conseguem encontrar login page

Passo 3: Senhas Fortes (Mínimo 16 Caracteres)

WordPress padrão sugere 12 caracteres. Aumente para 16+ com mix de maiúsculas, minúsculas, números, símbolos. Exemplo: P@ssw0rd_SecureXYZ123

Gere senha forte: Use gerador online (correcthorsebatterystaple.net, bitwarden.com) ou comando: openssl rand -base64 16

Armazene seguro: Senhas devem estar em gerenciador de senhas (LastPass, Bitwarden, 1Password), não em arquivo de texto

Efetividade: Torna força bruta impraticável (levaria milhares de anos)

Passo 4: Autenticação Multifator (2FA)

Mesmo se senha for roubada, código 2FA no celular bloqueia acesso.

Plugin: Wordfence (inclui 2FA), ou Microsoft Authenticator, Google Authenticator

Como fazer com Wordfence:

  1. Instale Wordfence
  2. Wordfence > Login Security > habilite “Two-Factor Authentication”
  3. Escaneie código QR com Google Authenticator app no celular
  4. Próximo login, WordPress pedirá código de 6 dígitos

Efetividade: Reduz ataque bem-sucedido em 99% mesmo se senha é obtida

Passo 5: Atualizações Automáticas (Core + Plugins + Temas)

50% de ataques exploram vulnerabilidades em plugins desatualizados. Ative atualizações automáticas.

Para Core WordPress: Painel > Configurações > Atualizações > habilite automático

Para Plugins: Plugins > instale como “Auto-update” por plugin, ou use plugin como “Easy Updates Manager” para controle centralizado

Para Temas: Aparência > Temas > Auto-update também

Aviso: Atualizações automáticas podem quebrar compatibilidade (raro, ~5%). Backup antes de ativar

Efetividade: Bloqueia 50% de exploits (fechando vulnerabilidades conhecidas)

Passo 6: Remova Plugins/Temas Inutilizados

Cada plugin é potencial vetor de ataque. Se não usa, delete.

Como fazer:

  1. Plugins > lista todos
  2. Para cada um não usado, delete (não apenas deativar, delete mesmo)
  3. Aparência > Temas > delete temas não usados

Risco: Plugin inativo pode ter bug de segurança explorado. Só deativar não protege, precisa deletar

Efetividade: Reduz surface de ataque em 20-30% em caso típico

Passo 7: Permissões de Arquivo (wp-config.php, .htaccess)

Alguns arquivos são críticos e não devem ser legíveis/writable por tudo.

Via FTP/SFTP (cPanel > File Manager ou via SSH):

  • /wp-config.php: 0600 (apenas owner lê/escreve)
  • /.htaccess: 0644 (public lê, apenas owner escreve)
  • /wp-content/: 0755 (public lê, owner escreve)
  • /wp-includes/: 0755

Via SSH:

chmod 0600 wp-config.php
chmod 0644 .htaccess
chmod 0755 wp-content/
chmod 0755 wp-includes/

Efetividade: Impede script de injetar malware em arquivos críticos (reduz lateral movement)

Passo 8: .htaccess Hardening

Arquivo .htaccess controla como servidor Apache trata requisições. Use para bloquear acessos suspeitos.

Adicione ao .htaccess:

# Bloqueie acesso a wp-config.php
<files wp-config.php>
  order allow,deny
  deny from all
</files>

# Bloqueie diretório wp-includes
<directorymatch ^.*wp-content/plugins.*>
  php_flag engine off
</directorymatch>

# Bloqueie acesso a .php files em wp-content (evita upload malicioso)
<FilesMatch "\.php$">
  Order allow,deny
  Deny from all
</FilesMatch>

Efetividade: Bloqueia exploits comuns que tentam executar scripts em diretórios errados

Passo 9: Remova Informações de Versão

WordPress expõe versão em header HTTP (meta tag). Hacker sabe que versão é e procura exploits específicos.

Remova via functions.php:

// Remova versão de header HTML
remove_action('wp_head', 'wp_generator');

// Remova versão de feed RSS
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');

Plugin: WP Hide (gratuito) faz isto automaticamente

Efetividade: Segurança por obscuridade (não é garantia, mas reduz targeted attacks)

Passo 10: Logs de Segurança

Monitore o que acontece no site: logins falhados, mudanças de permissão, uploads de arquivo.

Plugin: Wordfence inclui logs, ou use “Simple History” (gratuito)

O que logar:

  • Failed login attempts
  • Successful logins (IP, hora, dispositivo)
  • Plugin instalado/removido/atualizado
  • Post/página criado/editado/deletado
  • Usuário adicionado/deletado
  • Mudança de configuração

Revisão: Cheque logs semanalmente procurando atividade suspeita

Efetividade: Detecção de incidente (não previne, mas permite resposta rápida)

Passo 11: WAF (Web Application Firewall) com Wordfence ou Sucuri

Firewall ao nível de aplicação que filtra tráfego suspeito antes de chegar ao WordPress.

Comparativo:

AspectoWordfenceSucuri
CustoGratuito (plugin) ou R$ 200/ano (premium)R$ 50-300/ano (proxy WAF)
TipoPlugin + hosted service (premium)Proxy na frente (redireciona DNS para Sucuri)
ProteçãoForça bruta, malware, vulnerabilidades conhecidasMais abrangente (DDoS, WAF, malware, CDN)
Fácil de SetupInstale plugin, feitoMude DNS (15 minutos)
Para PMESim, comece com gratuitoSim, melhor proteção se orçamento permite

Recomendação: Comece com Wordfence gratuito, escale para Sucuri se website é crítico

Passo 12: Headers HTTP de Segurança

Headers HTTP instruem navegador como tratar página (não executar script suspeito, etc.)

Adicione ao .htaccess:

<IfModule mod_headers.c>
  # Prevent clickjacking
  Header always set X-Frame-Options "SAMEORIGIN"

  # Prevent MIME sniffing
  Header always set X-Content-Type-Options "nosniff"

  # Enable XSS Protection
  Header always set X-XSS-Protection "1; mode=block"

  # Content Security Policy (restrito)
  Header always set Content-Security-Policy "default-src 'self'"

  # Remove server info
  Header always unset Server
  Header always unset X-Powered-By
</IfModule>

Verifique: securityheaders.com, entre com seu site, mostra score

Efetividade: Protege contra XSS, clickjacking, MIME sniffing attacks

Wordfence vs Sucuri: Qual Escolher

Wordfence (Gratuito ou R$ 200/ano)

Vantagens:

  • Gratuito (plugin de WordPress)
  • Fácil instalar (2 cliques)
  • Proteção contra força bruta, malware, login brute force
  • 2FA integrado
  • Scanner de malware
  • Logs detalhados

Desvantagens:

  • Versão gratuita é básica (WAF completo é pago)
  • Pode impactar performance (escaneia muito)

Melhor para: PME começando, sem orçamento grande

Sucuri (R$ 50-300/ano)

Vantagens:

  • WAF potente (bloqueia DDoS, exploits, malware)
  • CDN integrado (site mais rápido)
  • Monitoramento 24/7
  • Remoção de malware automática
  • Não impacta performance (está na nuvem, não no servidor)

Desvantagens:

  • Pago (R$ 50+/ano)
  • Requer mudança de DNS (15 minutos)
  • Mais complexo de configurar

Melhor para: Site crítico, e-commerce, alta audiência

Plano de Implementação Rápido (4 Semanas)

Semana 1: Setup Básico

  • [ ] Mude username “admin” para algo aleatório
  • [ ] Mude senha para 16+ caracteres fortes
  • [ ] Instale WPS Hide Login, ative login customizado
  • [ ] Instale Wordfence (gratuito)

Semana 2: Hardening Avançado

  • [ ] Ative 2FA em Wordfence
  • [ ] Remova plugins/temas inutilizados
  • [ ] Configure permissões de arquivo (0600 wp-config.php)
  • [ ] Ative atualizações automáticas (core + plugins + temas)

Semana 3: Headers e Logs

  • [ ] Adicione .htaccess hardening
  • [ ] Configure headers de segurança (X-Frame-Options, etc.)
  • [ ] Remova versão de header
  • [ ] Instale Simple History para logs

Semana 4: Escalação (Opcional)

  • [ ] Considere Sucuri se site é crítico
  • [ ] Configure malware scanner Wordfence para rodar diariamente
  • [ ] Teste: tente acessar wp-login.php (deve ser 404)
  • [ ] Backup antes de qualquer mudança

Perguntas Frequentes sobre Segurança WordPress

Wordfence gratuito é suficiente?

Sim, para maioria de PMEs. Bloqueia força bruta, escaneia malware, 2FA. A versão paga tem WAF mais completo. Comece gratuito, upgrade se necessário.

Posso usar WordPress sem plugin de segurança?

Não recomendado. Sem plugin, você está vulnerável a força bruta (1000+ tentativas/dia é normal). Pelo menos Wordfence gratuito é essencial.

Atualizações automáticas podem quebrar site?

Raro (~5%), mas pode acontecer se plugin é incompatível com novo WordPress. Faça backup antes de ativar automático. A maioria das atualizações são patches de segurança, não novos features.

Se sou hackeado, como limpo o site?

1) Isolate (coloque maintenance page); 2) Restore de backup limpo (anterior ao hacking); 3) Mude senhas de admin/FTP; 4) Implemente hardening; 5) Instale Wordfence; 6) Scan de malware. Se não tem backup, use serviço de remoção (Sucuri offers isto).

Devo usar tema/plugin premium de segurança?

Premium não é garantia de segurança. Alguns plugins gratuitos (Wordfence, Sucuri) são melhor que vários pagos. Qualidade importa mais que preço. Open source e bem mantido é melhor que proprietário com suporte ruim.

Como saber se WordPress foi hackeado?

Sinais: (1) Site lento (malware consome CPU); (2) Pop-ups aleatórios aparecem para visitantes; (3) Wordfence alerta sobre malware detectado; (4) Google marca site como “contains malware”; (5) Redirecionamento automático para site suspeito; (6) Logs mostram logins suspeitos.

Conclusão

Segurança WordPress é disciplina: atualizações + plugin de segurança bom + senhas fortes + 2FA = proteção robusta contra 90% de ataques. Não é 100% impenetrável, mas é 1000x melhor que maioria dos sites WordPress (que estão vulneráveis).

Seu plano agora: (1) Semana 1, instale Wordfence + mude senha + wp-login customizado; (2) Semana 2, configure 2FA + atualizações automáticas; (3) Semana 3, adicione hardening de .htaccess + headers; (4) Semana 4+, monitore logs semanalmente, teste restore de backup mensalmente.

Investimento é mínimo (Wordfence gratuito) a moderado (Sucuri R$ 50-300/ano) e protege seu site. Comparar com custo de hacking (R$ 10K-100K em reparos/perda de clientes/reputação), hardening é obrigatório.

Leia também: Cibersegurança para PMEs, Backup 3-2-1 para Empresas, Como Treinar contra Phishing. WordPress hardening é parte de segurança geral da empresa.