Hospedagem de Sites Profissional e de Alta Performance

As Principais Vulnerabilidades em Sites WordPress e Como Corrigir

Table of Contents

Veja as falhas mais comuns em WordPress, como explorá-las é possível e, principalmente, como corrigir de forma profissional, segura e sustentável.

Resumo Rápido

  • Atualizações atrasadas de núcleo, temas e plugins.
  • Permissões de arquivo incorretas e execução de PHP em /uploads.
  • Credenciais fracas, falta de 2FA e brute force no wp-login.php.
  • XML‑RPC e REST mal configurados, XSS/SQLi/CSRF em plugins vulneráveis.
  • Falta de HTTPS, cabeçalhos de segurança e backup/monitoramento.

1) Núcleo, Temas e Plugins Desatualizados

Explorações conhecidas são publicadas diariamente. Se você atrasa updates, vira alvo automático.

Como corrigir

  • Ative autoupdate para minores do core e plugins críticos.
  • Mantenha apenas o tema ativo e um tema base atualizado (ex.: Twenty Twenty‑Four).
  • Remova plugins/temas inativos ou abandonados (>12 meses sem update).

2) Plugins “Nulled” e Repositórios Não Oficiais

São o vetor mais comum de backdoors (ofuscação com eval, base64_*, gzinflate).

Como corrigir

  • Use somente repositório oficial ou vendors confiáveis.
  • Substitua por versões limpas e audite o código antes de ativar.

3) Permissões de Arquivo e Execução de PHP em Uploads

Permissões frouxas e execução de PHP em /wp-content/uploads permitem webshell.

Como corrigir

  • Defina 644 para arquivos e 755 para pastas.
  • Bloqueie PHP em /uploads (Apache):
<FilesMatch "\.php$">
  Deny from all
</FilesMatch>
<IfModule mod_php.c>
  php_flag engine off
</IfModule>
  • Nginx (location no bloco de uploads):
location ~* ^/wp-content/uploads/.*\.php$ { return 403; }

4) Senhas Fracas, Admin Padrão e Falta de 2FA

Brute force e credential stuffing miram /wp-login.php e xmlrpc.php.

Como corrigir

  • Remova usuário “admin” e crie outro com role mínimo necessário.
  • Ative 2FA para administradores e editores.
  • Implemente rate limit e CAPTCHA no login; considere renomear URL de login.

5) XML‑RPC e REST API Expostos

XML‑RPC permite amplificação de brute force; REST pode vazar dados se plugins expandirem endpoints sem checagem de permissão.

Como corrigir

  • Bloqueie XML‑RPC se não usar Jetpack/apps:
<Files xmlrpc.php>
  Require all denied
</Files>
  • Restrinja REST a usuários autenticados quando sensível; valide current_user_can() em endpoints custom.

6) XSS, SQL Injection e CSRF em Plugins/Tema

Falhas de validação/saneamento permitem injeção de scripts, vazamento de dados e escalada.

Como corrigir

  • Use funções de segurança do WP: wp_nonce_field, check_admin_referer, sanitize_text_field, esc_html.
  • Query segura: $wpdb->prepare() e tipos corretos.
  • Remova shortcodes/widgets inseguros; atualize imediatamente quando sair CVE.

7) Editor de Arquivos Ativo no Painel

Se invadirem sua conta, editarão tema/plugin pelo painel.

Como corrigir

define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', false); /* opcional: atualizações via painel */

8) Vazamento de wp-config.php e Directory Listing

Exposição do config revela credenciais; listing entrega estrutura do site.

Como corrigir

Options -Indexes
<Files wp-config.php> Require all denied </Files>

Armazene wp-config.php um nível acima da raiz quando possível.

9) Sem HTTPS e Sem Cabeçalhos de Segurança

Tráfego sem TLS e ausência de políticas expõem cookies e facilitam XSS/Clickjacking.

Como corrigir

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "no-referrer-when-downgrade"
Header set Permissions-Policy "camera=(), microphone=(), geolocation=()"

Implemente CSP gradualmente (modo report‑only antes):

Header set Content-Security-Policy "default-src 'self' https: data: 'unsafe-inline' 'unsafe-eval'"

10) Falta de Backups, Logs e Monitoramento

Sem histórico confiável, a recuperação é lenta e cara.

Como corrigir

  • Backups versionados: diário (DB) e semanal (arquivos), rotacionados e testados.
  • Log de login/admin, integridade de arquivos (diff) e alertas de alteração.
  • WAF/CDN (rate limit, bot management) e auditoria de usuários.

11) wp‑cron, Admin‑Ajax e Endpoints Exaustos

Cron interno pode causar DoS em sites com tráfego; endpoints sem cache saturam PHP.

Como corrigir

define('DISABLE_WP_CRON', true);

Agende cron do sistema (Linux):

*/5 * * * * wget -q -O - https://seudominio.com/wp-cron.php?doing_wp_cron=1 >/dev/null 2>&1

Cacheie respostas públicas do admin-ajax.php via proxy (Varnish/Nginx) quando aplicável.

12) Banco com Privilégios Excessivos

Usuário do WP com privilégios globais aumenta o impacto da invasão.

Como corrigir

  • Conceda apenas SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX no banco do site.
  • Rotacione senha do DB após incidentes; mantenha AUTH_KEY e SALT fortes.

13) Uploads sem Validação

Upload de SVG, PHP ou extensões duplas permite RCE.

Como corrigir

  • Restrinja tipos MIME; valide tamanho e verifique assinatura do arquivo (finfo).
  • Armazene uploads fora da raiz pública quando possível; sirva por proxy.

Checklist de Endurecimento (Hardening)

  1. Atualizações do core/tema/plugins + remoção do que não usa.
  2. WAF com rate limit em /wp-login.php e /xmlrpc.php.
  3. 2FA, senhas fortes e DISALLOW_FILE_EDIT.
  4. Permissões 644/755 e bloqueio de PHP em /uploads.
  5. HTTPS + HSTS + cabeçalhos de segurança.
  6. Backups testados e logs de integridade.
  7. Restrição do REST/JSON quando necessário.
  8. Usuário MySQL com privilégios mínimos.

Perguntas Frequentes (FAQ)

Trocar o prefixo das tabelas (wp_) aumenta a segurança?

Ajuda contra bots genéricos, mas não substitui validação, prepared statements e controle de acesso. Trate apenas como camada extra.

Devo desativar o XML‑RPC totalmente?

Se não usa apps/Jetpack, sim. Caso contrário, limite por IP e aplique rate limit e 2FA.

Qual é a melhor política de backups?

Banco diário, arquivos semanal, retenção mínima de 14–30 dias, armazenamento off‑site e testes de restauração trimestrais.

Preciso de plugin de segurança se já tenho WAF no servidor/CDN?

Sim, camadas se complementam. WAF bloqueia tráfego malicioso; o plugin registra eventos, reforça login e checa integridade.

Como identificar rapidamente arquivos infectados?

Ordene por data de modificação, busque por eval, base64_decode, gzinflate e compare com o core limpo do WordPress.

Tags

  • Segurança WordPress
  • Vulnerabilidades WordPress
  • Hardening WordPress
  • Bloquear XML-RPC
  • XSS e SQL Injection
  • CSRF em plugins
  • Permissões de arquivo 644 755
  • Bloquear PHP em uploads
  • HTTPS HSTS CSP
  • Backup e monitoramento
  • WAF e rate limit
  • REST API segura
  • Servidor e CDN
  • Auditoria de usuários
  • Integridade de arquivos

O QUE NOSSOS CLIENTES ESTÃO DIZENDO?

Velocidade e Confiabilidade, para o seu Site Decolar!

Fale conosco

Negócio Digital Color White