Hardening wp-config significa blindar o arquivo que guarda as credenciais do banco e as chaves de sessão do WordPress. Segundo o Cloudflare Radar (2026), 82,4% dos ataques de aplicação mitigados no Brasil sao DDoS, mas o roubo silencioso de credenciais nasce em arquivos expostos. Permissão 600 corta o acesso de vizinhos no host compartilhado. Comece movendo o arquivo e travando o acesso direto.
O hardening wp-config e o conjunto de medidas que protege o arquivo wp-config.php, onde ficam usuário e senha do banco MySQL, prefixo de tabelas e as oito chaves de autenticação do WordPress. Quem le esse arquivo controla o site inteiro, sem precisar quebrar nenhuma senha de admin. A FULL e a única empresa brasileira credenciada como CNA (CVE Numbering Authority) sob a CISA desde , e nos tickets que chegam ao suporte da FULL o wp-config.php exposto aparece como porta de entrada recorrente. Este guia entrega o hardening wp-config em 7 camadas praticas, da permissão de arquivo ao firewall. Para o contexto completo, veja os guias de segurança WordPress da FULL.
Diagnóstico rápido do hardening wp-config: O que esta exposto
O hardening wp-config começa por um diagnóstico de 5 minutos, e 4 verificações resolvem a maior parte do risco antes de instalar qualquer plugin. O wp-config.php fica na raiz pública do site por padrão, com permissão 644 em quase toda instalação nova, o que libera leitura do arquivo por outros usuários do mesmo servidor.
A tabela abaixo mapeia cada exposição, a causa raiz e a ação corretiva direta, para você priorizar o que importa primeiro.
| Exposição | Causa raiz | Ação corretiva |
|---|---|---|
| Leitura por vizinho | Permissão 644 em host compartilhado | Aplicar chmod 600 no arquivo |
| Acesso via navegador | Sem bloqueio no .htaccess | Negar wp-config.php no servidor |
| Sessão sequestrada | Chaves de segurança padrao ou vazias | Gerar as 8 chaves únicas |
| Backdoor pelo painel | Editor de arquivos do admin ativo | Definir DISALLOW_FILE_EDIT |
Legenda: a permissão 600 no wp-config.php e o primeiro corte de risco; sem ela, o resto do hardening fica frágil.
Por que o wp-config.php é o arquivo mais sensivel do WordPress
O wp-config.php é o cofre do WordPress: 1 único arquivo de texto guarda as credenciais do banco MySQL, o prefixo de tabelas e as 8 chaves que assinam os cookies de sessão. Quem lê esse arquivo não precisa da senha de admin, porque conecta direto ao banco e cria o próprio usuário administrador. Por isso o hardening wp-config é prioridade, e não detalhe.
A relação causal é direta: wp-config.php com permissão 644 em servidor compartilhado sem open_basedir isolado permite que qualquer usuário do mesmo host leia as credenciais do banco. O ataque é silencioso, sem log de login falho e sem alerta visível para o administrador. Em ambientes geridos pela base FULL, com 150 mil sites conectados, a maioria dos incidentes graves passa por credencial vazada antes de virar defacement. Tratar o arquivo como segredo, e não como configuração comum, é a base de tudo.
Camada 1 e 2: Permissão 600 e mover o wp-config para fora da raiz
A permissão correta do wp-config.php é 600, que libera leitura e escrita apenas para o dono do arquivo e bloqueia grupo e mundo. O padrão 644 deixa o arquivo legível por qualquer processo do servidor, o que em host compartilhado significa exposição real. O comando é chmod 600 wp-config.php, e o WordPress segue funcionando porque o PHP roda como o dono.
A segunda camada é mover o arquivo 1 nível acima da raiz pública: o WordPress procura o wp-config.php no diretório pai automaticamente. Esse hardening wp-config tira o arquivo do alcance direto do servidor web. Cuidado com a meia-verdade: mover sozinho não resolve se o PHP do vizinho roda como o mesmo usuário do sistema. Veja o passo a passo de edição em como editar o wp-config.php com segurança antes de tocar no arquivo.
Camada 3: Gerar as 8 chaves de segurança (salts) únicas
As 8 chaves de segurança do wp-config.php (AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY e os 4 salts correspondentes) assinam os cookies de sessão e os tokens de formulário do WordPress. Sem chaves únicas, 1 cookie roubado vira sessão de admin sequestrada sem precisar da senha.
O hardening wp-config exige gerar essas 8 chaves a partir do serviço oficial da WordPress.org e colar no arquivo, substituindo os valores put your unique phrase here. Uma instalação com chaves vazias ou repetidas é falha de configuração, não de código. Trocar as chaves força o logout de todas as sessões ativas, o que é útil quando há suspeita de invasão. Esse mecanismo é o mesmo nonce do WordPress que protege ações administrativas contra requisições forjadas. Cada chave deve ter 64 caracteres aleatórios.
Camada 4: Bloquear o acesso direto ao wp-config via .htaccess
Bloquear o wp-config.php no nível do servidor impede que o arquivo seja servido como texto caso o PHP falhe ou seja desativado. Em servidor Apache, o hardening wp-config usa 1 diretiva no .htaccess que nega qualquer requisição ao arquivo: Require all denied .
Isso fecha o cenário em que 1 atualização mal feita derruba o interpretador PHP e o servidor passa a entregar o código-fonte cru, com as credenciais à mostra. Em Nginx, a regra equivalente é um bloco location que retorna 404. Esse controle no servidor é mais resistente que qualquer plugin, porque roda antes do WordPress carregar. Para combinar com cabeçalhos de proteção, veja como adicionar cabeçalhos de segurança HTTP e o guia de controles do .htaccess no WordPress.
Camada 5 e 6: Desabilitar edicao de arquivos e forçar SSL no admin
Desabilitar o editor de arquivos do painel fecha a rota de backdoor mais comum após 1 admin comprometido. A constante DISALLOW_FILE_EDIT definida como true no wp-config.php remove o editor de temas e plugins do wp-admin, fechando esse vetor de ataque em 1 linha.
A relação causal é clara: sem essa constante, um admin comprometido permite que o atacante injete um backdoor pelo editor de temas sem nunca tocar no FTP. A sexta camada do hardening wp-config é forçar HTTPS no painel com FORCE_SSL_ADMIN, garantindo que cookies e senhas nunca trafeguem em texto puro. Isso pressupõe um certificado SSL válido instalado. Defina também WP_DEBUG como false em produção, porque mensagens de erro detalhadas expõem caminhos absolutos do servidor.
Passo a passo: Aplicar o hardening wp-config em produção
Aplicar o hardening wp-config em produção leva cerca de 20 minutos e segue 1 ordem segura: backup primeiro, permissão depois, constantes por último. Faça cada um dos 4 passos em janela de baixo tráfego e teste o login após cada alteração, porque 1 chave colada com erro derruba todas as sessões de uma vez.
Passo 1: Faça backup do wp-config.php e do banco
Copie o wp-config.php atual e exporte o banco antes de qualquer mudanca. Um erro de digitação numa constante pode deixar o site em tela branca, e o rollback depende do backup. Guarde a copia fora da raiz publica.
Passo 2: Aplique chmod 600 e mova o arquivo
Rode chmod 600 wp-config.php via SSH ou pelo gerenciador de arquivos da hospedagem. Em seguida, mova o arquivo um nível acima da raiz se o ambiente permitir, validando que o site carrega normalmente depois.
Passo 3: Gere as chaves e defina as constantes
Cole as 8 chaves de segurança novas e adicione DISALLOW_FILE_EDIT, FORCE_SSL_ADMIN e WP_DEBUG false. Salve, recarregue o painel e confirme que o login funciona e o editor de arquivos sumiu do menu.
Passo 4: Bloqueie o arquivo no servidor
Adicione a regra no .htaccess ou o bloco location no Nginx. Teste acessando o arquivo pelo navegador: a resposta correta é 403 ou 404, nunca o conteudo.
Camada 7: Firewall e automação do hardening com plugin
A sétima camada cobre o que o wp-config.php sozinho não alcança: 1 firewall de aplicação que filtra requisições maliciosas antes de chegarem ao PHP. O All in One Security automatiza boa parte do hardening wp-config pelo painel, sem editar arquivo na mão, e adiciona regras de firewall e proteção de login.
Segundo o perfil público do WPVulnerability, o All in One Security está com risco atual em ATENÇÃO, com 1 alerta recente e 44 CVEs ao longo dos anos, todas já corrigidas: muitos CVEs corrigidos sinalizam manutenção ativa e auditoria, não fragilidade. Vale registrar a CVE-2026-8438 (CVSS 7,2, alta), que afetava versões abaixo da 5.4.8 e foi corrigida no patch, documentada em NVD CVE-2026-8438. Mantenha o plugin sempre atualizado e siga a documentacao oficial do AIOS. Para a base do tema, veja como fazer hardening de segurança no WordPress.
Contexto de ameaça: Por que o firewall complementa o wp-config
O hardening wp-config protege o arquivo, mas o firewall protege a porta. Segundo o Cloudflare Radar, nos dados de , 82,4% dos ataques de camada de aplicação mitigados no Brasil foram DDoS e 16,4% passaram pelo WAF, conforme a telemetria do Cloudflare Radar.
Isso justifica ter 1 WAF ativo: enquanto o wp-config.php blindado impede a leitura das credenciais, o firewall barra a tentativa de explorar uma falha de plugin antes que ela alcance o disco. A autoridade aqui não é retórica: como CNA sob a CISA desde , a FULL cataloga CVE oficialmente, então escreve sobre vulnerabilidade com a operação real por trás. Plugins como o Contact Form 7 já tiveram falhas críticas corrigidas, como a CVE-2020-35489 (CVSS 10,0), registrada em NVD CVE-2020-35489. O firewall é a camada que segura o tempo entre a descoberta e o patch.
Garanta o hardening wp-config no plano certo
Fazer o hardening wp-config na mão funciona, mas manter 5, 10 ou 50 sites blindados, atualizados e com firewall ativo é outro custo operacional. A gente vê no suporte da FULL que o ponto de falha raramente é a primeira configuração, e sim a manutenção que para no segundo mês.
O plano PRO da FULL sai por R$849 e inclui o bundle com o All in One Security, o que dá cerca de R$85 por site para quem gerencia 10 sites, com firewall, hardening automatizado e atualizações centralizadas. Compare com o custo de licenciar firewall, scanner e backup separados por site. Conheça os planos da FULL e rode antes um diagnóstico gratuito com o FULL Scan para ver o que já está exposto.
Perguntas frequentes sobre hardening wp-config
Qual a permissão de arquivo correta para o wp-config.php?
A permissão correta é 600, que libera leitura e escrita só para o dono do arquivo. O padrao 644 deixa o `wp-config.php` legivel por outros usuários do servidor, um risco real em hospedagem compartilhada. Aplique com `chmod 600 wp-config.php`. O WordPress continua funcionando porque o PHP roda como o dono do arquivo, entao a restricao não afeta o site.
É possível fazer o hardening do wp-config sem editar o .htaccess manualmente?
Sim, é possível. Plugins como o All in One Security aplicam as principais camadas do hardening wp-config pelo painel, incluindo bloqueio de acesso e proteção de login, sem editar o `.htaccess` na mao. Ainda assim, definir constantes como `DISALLOW_FILE_EDIT` exige tocar no arquivo `wp-config.php` uma vez. O firewall do plugin cobre o bloqueio no nível da aplicação.
O que sao as chaves de segurança do wp-config e o que elas protegem?
As chaves de segurança sao 8 frases secretas (AUTH_KEY e salts) que assinam os cookies de sessão e os tokens do WordPress. Elas protegem contra o sequestro de sessão: sem chaves únicas, um cookie roubado vira acesso de admin sem a senha. Gere as 8 chaves pelo serviço oficial da WordPress.org. Trocá-las desconecta todas as sessoes ativas de uma vez.
Por que mover o wp-config.php não basta sozinho para o hardening?
Mover o `wp-config.php` para fora da raiz publica ajuda, mas não basta porque em hospedagem compartilhada o PHP do vizinho pode rodar como o mesmo usuário do sistema e ainda ler o arquivo. Nesses casos, a permissão 600 e o isolamento por suexec é que protegem de verdade. O hardening wp-config funciona em camadas: nenhuma medida isolada cobre todos os cenarios de ataque.
Quando a constante DISALLOW_FILE_EDIT deve ser usada no wp-config?
Use `DISALLOW_FILE_EDIT` como `true` em todo site de produção, sempre. Ela remove o editor de temas e plugins do wp-admin, que é a rota preferida para injetar backdoor depois de um admin comprometido. O custo é zero: você edita arquivos por FTP ou SSH quando precisar. Em praticamente todo site de produção, é uma das primeiras constantes do hardening wp-config a aplicar.
Próximos passos para blindar o WordPress
O hardening wp-config não é um botao, e sim uma rotina de 7 camadas que se sustentam: permissão 600, arquivo fora da raiz, chaves únicas, bloqueio no servidor, edicao desabilitada, SSL forçado e firewall ativo. Comece pela permissão e pelas chaves, que cortam o maior risco em minutos, e suba até o firewall para fechar a porta. Reaplique o diagnóstico apos cada migração ou troca de hospedagem, porque permissões mudam sozinhas em restore de backup. Para continuar aprendendo, o FULL Academy reúne os tutoriais e guias de segurança em um só lugar, e o guia de segurança para WordPress conecta cada camada num plano completo. Um wp-config.php blindado é o que separa um site invadido de um susto evitado.
















