Segurança

Segurança da Estrutura de Pastas do WordPress: Como Bloquear o Acesso à Pasta "wp-includes"

  • 17 minutos de leitura
  • Equipe Hostragons
Segurança da Estrutura de Pastas do WordPress: Como Bloquear o Acesso à Pasta "wp-includes"

A Segurança da Estrutura de Pastas do WordPress pode ser otimizada ao bloquear o acesso direto à pasta “wp-includes”. Em vez de bloquear toda a pasta de forma cega, é mais seguro desativar a execução de arquivos PHP externos e a listagem de diretórios dentro dessa pasta. A pasta wp-includes abriga arquivos essenciais como JavaScript, CSS e alguns outros arquivos estáticos que são necessários para o funcionamento do núcleo do WordPress. Bloquear o acesso total à pasta pode prejudicar o design do site, o editor ou as funcionalidades dos plugins. A abordagem correta, se você estiver utilizando Apache, é bloquear o acesso ao PHP usando regras no .htaccess. Se usar Nginx, a regra de localização no bloco do servidor deve ser aplicada, seguida de validações do site com respostas 403/404 e testes de páginas críticas.

Um dos erros mais comuns na segurança do WordPress é confiar apenas em senhas fortes ou plugins de segurança. Muitas vezes, os atacantes exploram diretórios que contêm arquivos do núcleo, plugins desatualizados, permissões de arquivos incorretas e listagens de diretórios abertas. A pasta wp-includes também é um alvo frequente dessas explorações. Neste guia, você encontrará passos práticos para limitar o acesso à wp-includes em ambientes de hospedagem reais, quais regras podem quebrar o site, exemplos de configuração para Apache e Nginx, métodos de teste e uma lista de verificação de manutenção. Você também pode considerar Hospedagem WordPress e camadas de proteção geral como certificado SSL para operar seu site WordPress em uma infraestrutura mais segura.

O Que É a Pasta wp-includes e Por Que Deve Ser Protegida?

A pasta wp-includes é um dos diretórios principais que contém as bibliotecas fundamentais do núcleo do WordPress. O sistema de temas, componentes do editor de blocos, API REST, processamento de mídia, classes, funções e diversos arquivos JavaScript estão incluídos nesta estrutura. Simplificando, a wp-includes é uma das salas de máquinas do WordPress; não é uma área de conteúdo que os usuários devem visitar diretamente.

Um visitante normal não precisa abrir um endereço como site.com/wp-includes/. No entanto, alguns ativos estáticos da wp-includes podem ser visíveis no código-fonte da página. Por exemplo, os arquivos de script padrão do WordPress, scripts de emoji ou componentes do editor podem ser carregados a partir deste diretório. Portanto, ao adotar medidas de segurança, é crucial identificar o alvo corretamente: fechar o acesso web direto aos arquivos PHP sem impedir a execução de arquivos estáticos.

Essa distinção é fundamental para uma abordagem profissional de Segurança da Estrutura de Pastas do WordPress. Fechar pastas aleatoriamente pode parecer seguro a curto prazo, mas pode levar a problemas como páginas em branco no site ao vivo, painel de administração quebrado, editor de blocos inoperante ou aparência de tema com falhas. O objetivo é proteger os arquivos necessários para o WordPress, reduzindo a superfície de ataque.

O Que Ganha ao Bloquear o Acesso à wp-includes?

Impedir a execução direta de PHP na pasta wp-includes não para todos os ataques, mas reduz significativamente a superfície de ataque. Especialmente em sites infectados com malware, os atacantes tentam carregar arquivos PHP maliciosos em diretórios acessíveis ou invocar arquivos existentes. Proibir a execução direta de arquivos PHP na wp-includes cria uma barreira adicional nesse cenário.

Essa medida oferece os seguintes benefícios:

  • Restringe a chamada direta de arquivos PHP do núcleo via URL.
  • Ajuda a evitar a visualização do conteúdo da pasta se a listagem de diretórios estiver ativada.
  • Reduz o vazamento desnecessário de informações contra varreduras de bots automatizados.
  • Proporciona proteção em nível de servidor, mesmo na ausência de plugins de segurança.
  • Fortalece a segurança em camadas junto com WAF, SSL, PHP atualizado e permissões de arquivos.

O ponto importante aqui é que essa ação é uma camada de segurança. Se houver um plugin desatualizado, uma senha fraca de administrador ou uma conta FTP comprometida, a regra da wp-includes sozinha não será suficiente. A segurança é uma combinação da infraestrutura de hospedagem, aplicação, gerenciamento de usuários e manutenção regular. Para uma base segura, você pode consultar Hosting Web Seguro e Segurança do Domínio para proteção adicional no gerenciamento de domínio.

Erros Comuns ao Bloquear a wp-includes

Bloquear a pasta inteira

O erro mais comum é bloquear todas as solicitações HTTP direcionadas à pasta wp-includes com um código 403. Essa abordagem pode parecer lógica à primeira vista; no entanto, como o WordPress carrega alguns ativos estáticos a partir desse diretório, pode resultar em problemas inesperados. Por exemplo, o editor de blocos pode não abrir, alguns arquivos JavaScript podem não ser carregados ou pode haver pequenas, mas críticas, quebras de design na interface.

Implantar a regra sem testá-la

Um erro de um único caractere na configuração do .htaccess ou Nginx pode gerar um erro 500 Internal Server. É especialmente arriscado aplicar a regra diretamente em sites que recebem muito tráfego. Antes de fazer isso, você deve fazer um backup do arquivo e, se possível, testar em um ambiente de staging antes de aplicar a alteração ao vivo. Se o seu provedor de hospedagem oferece opções de staging ou backup, Backup de Hospedagem Web pode ser uma adição natural.

Confiar totalmente em plugins de segurança

Plugins de segurança são úteis; no entanto, as regras em nível de servidor são acionadas mais cedo. Se uma solicitação for bloqueada pelo Apache ou Nginx antes de chegar ao PHP, o consumo de recursos também é reduzido. Portanto, mesmo que um plugin seja usado, as regras básicas do servidor não devem ser ignoradas.

Lista de Verificação Antes de Implementar

Fazer uma breve preparação antes de restringir o acesso à wp-includes pode reduzir significativamente o risco de interrupções. A lista de verificação abaixo é especialmente recomendada para sites WordPress ao vivo:

  • Faça um backup da configuração atual do .htaccess ou do Nginx.
  • Atualize o núcleo do WordPress, temas e plugins.
  • Verifique se a versão do PHP é suportada e segura.
  • Revise as permissões de arquivos: pastas geralmente devem ser 755, arquivos 644.
  • Não deixe permissões de escrita desnecessariamente abertas em arquivos críticos como wp-config.php e .htaccess.
  • Se usar cache, CDN ou um plugin de segurança, planeje limpar o cache após a alteração.
  • Crie uma lista de áreas críticas para testar, como painel de administração, página inicial, página de postagens, formulário de contato e página de pagamento.

Esses preparativos levam cerca de 10 a 15 minutos; no entanto, evitam interrupções que podem durar horas devido a uma regra incorreta. Em sites corporativos, é mais seguro fazer a alteração durante horários de baixo tráfego.

Bloqueando o Acesso ao PHP da wp-includes com .htaccess no Servidor Apache

Para hospedagens compartilhadas que utilizam Apache, o método mais comum é através do arquivo .htaccess. As regras corretas adicionadas ao arquivo .htaccess na pasta principal do WordPress podem bloquear chamadas específicas de PHP dentro da wp-includes. Antes de começar, baixe uma cópia do arquivo para seu computador ou crie um backup através do gerenciador de arquivos do painel de hospedagem.

Regra recomendada para .htaccess

A abordagem abaixo foca em bloquear o acesso direto ao PHP na wp-includes, mantendo a execução de arquivos estáticos:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-includes/.*[.]php$ - [F,L]
</IfModule>

A lógica dessa regra é simples: se a URL começa com wp-includes e termina com .php, a solicitação é negada. Assim, os arquivos PHP dentro da wp-includes não podem ser chamados a partir do navegador. Em contrapartida, o acesso a arquivos estáticos como .js, .css, .png, .svg continua. Este é o equilíbrio mais seguro para a interface do WordPress e o painel de administração.

Desativando a listagem de diretórios

Outra configuração crítica é desativar a listagem de diretórios. Se a listagem de diretórios estiver ativada no servidor, os usuários poderão ver o conteúdo de algumas pastas. Geralmente, adicionar a seguinte linha ao seu arquivo .htaccess é suficiente:

Options -Indexes

Essa linha impede que a lista de arquivos seja exibida em pastas que não possuem um arquivo index. Em hospedagens modernas, isso geralmente já está desativado por padrão; no entanto, é uma boa prática de segurança verificar.

Testes Após a Alteração

Após adicionar a regra, faça os seguintes testes:

  • Abra siteadres.com/wp-includes/; a listagem de diretórios não deve ser visível.
  • Tente chamar diretamente um arquivo PHP conhecido dentro da wp-includes; você deve receber um erro 403 ou 404.
  • Verifique a página inicial, o post do blog e o painel de administração.
  • Verifique se há erros de recurso 404/403 nas ferramentas de desenvolvedor do navegador nas guias Console e Rede.
  • Se estiver usando um plugin de cache ou CDN, limpe o cache.

Se todos os testes forem bem-sucedidos, a regra pode ser deixada com segurança no ambiente de produção. Se você receber um erro 500, a solução mais rápida é remover as linhas adicionadas e restaurar o arquivo .htaccess de backup.

Bloqueando o Acesso ao PHP da wp-includes em Servidores Nginx

Em ambientes de servidores VPS, dedicados ou gerenciados que utilizam Nginx, o .htaccess não funciona. A regra deve ser adicionada ao arquivo de configuração do site Nginx, geralmente dentro do bloco do servidor. Para isso, é necessário acesso SSH e permissão para editar os arquivos de configuração. Se não tiver certeza, é mais seguro solicitar ajuda da equipe de suporte da hospedagem.

Regra de localização recomendada para Nginx

A regra básica pode ser aplicada com a seguinte lógica:

location ~* ^/wp-includes/.*[.]php$ {
deny all;
}

Essa regra bloqueia as solicitações para arquivos PHP dentro da wp-includes. Após a alteração, é importante testar a configuração:

nginx -t

Se o teste for bem-sucedido, recarregue o Nginx:

systemctl reload nginx

O comando reload é mais controlado do que o restart; ele atualiza a configuração sem desconectar completamente as conexões ativas. No entanto, ainda é recomendável fazer alterações em horários de baixo tráfego em sites críticos.

Pontos a Considerar ao Usar Nginx

  • Certeza de que a regra foi adicionada ao bloco de servidor correto; pode haver vários sites no mesmo servidor.
  • Se usar CDN ou reverse proxy, faça os testes reais somente após limpar o cache da CDN.
  • Verifique se a configuração do PHP-FPM está processando apenas os arquivos necessários.
  • Cheque os arquivos de log: access.log e error.log podem mostrar rapidamente regras incorretas.

Uma ordem de localização incorreta em um ambiente Nginx pode levar a resultados inesperados. Portanto, certifique-se de que a regra não conflita com os blocos de permalink do WordPress e o processamento de PHP.

Comparação de Métodos

A tabela abaixo resume os principais métodos utilizados para restringir o acesso à wp-includes:

Comparação de Métodos
MétodoAmbiente AdequadoVantagemPonto de Atenção
Regra .htaccessHospedagens Apache e LiteSpeedRápido de implementar, acessível em hospedagens compartilhadasUma sintaxe incorreta pode causar erro 500
Regra de localização NginxVPS, dedicado, servidor gerenciadoForte e performática em nível de servidorRequer conhecimento de SSH e configuração
Plugin de segurançaUsuários com conhecimento técnico limitadoFácil gerenciamento via interfaceNem toda regra pode ser aplicada em nível de servidor
WAF e CDNSites com alto tráfego ou sob ataqueFiltra bots, brute force e requisições maliciosas precocementeUma regra incorreta pode bloquear usuários reais
Permissões de arquivosTodos os sites WordPressHigiene básica de segurançaSozinha, não bloqueia o acesso via URL

Na prática, os melhores resultados são obtidos com a combinação desses métodos. Por exemplo, no hosting Apache, a regra .htaccess, permissões de arquivos corretas, núcleo do WordPress atualizado, SSL e backups regulares juntos formam uma defesa em camadas. Como a segurança do firewall e o isolamento na infraestrutura de hospedagem são importantes, a escolha de Hosting Corporativo pode fazer diferença em sites críticos.

Permissões de Arquivos e Configurações de Propriedade

Fechar o acesso à wp-includes não será eficaz se as permissões de arquivos estiverem incorretas. As permissões geralmente aceitas no WordPress são 755 para pastas e 644 para arquivos. Esses valores permitem que o servidor web leia os arquivos, ao mesmo tempo que reduz permissões de escrita desnecessárias. Em alguns ambientes de hospedagem específicos, pode haver configurações diferentes de usuários e grupos; portanto, você deve considerar as recomendações do seu painel.

Especialmente a permissão 777 representa um risco grave de segurança. Permitir que qualquer um escreva em uma pasta facilita cenários de upload de arquivos maliciosos. Mesmo em diretórios que devem ser graváveis, como wp-content/uploads, a execução de PHP deve ser bloqueada. A wp-includes, em condições normais, não deve ser gravável pelo usuário, exceto durante atualizações do WordPress.

Em uma auditoria de segurança, os seguintes valores podem ser verificados:

  • Pasta wp-includes: geralmente 755
  • Arquivos PHP dentro da wp-includes: geralmente 644
  • wp-config.php: se possível, 600 ou permissões mais restritivas adequadas à estrutura de hospedagem
  • .htaccess: geralmente 644, sem permissões de escrita desnecessárias após a edição

Essas configurações podem não se comportar da mesma maneira em todos os servidores. Permissões incorretas podem impedir que o site faça atualizações ou leia arquivos. Após as alterações, uma verificação de saúde do WordPress e a análise dos logs de erro devem ser realizadas.

Plugins de Segurança Fazem Esse Trabalho?

Plugins de segurança como Wordfence e iThemes Security podem sugerir automaticamente algumas regras de hardening. Esses plugins são úteis em áreas como proteção contra brute force, monitoramento de alterações de arquivos, varredura de malware e segurança de login. No entanto, é essencial verificar o que o plugin faz em relação ao bloqueio de acesso à wp-includes.

Alguns plugins adicionam regras automaticamente ao arquivo .htaccess. Outros fornecem apenas proteção em nível de aplicação. A proteção em nível de aplicação é ativada após a solicitação chegar ao WordPress, portanto, não é tão precoce quanto o bloqueio em nível de servidor. Por isso, a abordagem profissional é avaliar o plugin juntamente com a configuração do servidor.

Se você estiver usando um plugin de segurança, faça as seguintes verificações:

  • Verifique se o plugin adiciona regras ao .htaccess ou Nginx.
  • Garanta que não haja conflito entre duas regras diferentes que realizam a mesma função.
  • Após atualizar o plugin, confirme se as configurações de segurança não mudaram.
  • Monitore o uso de cache e recursos do servidor para medir o impacto na performance.

Usar vários plugins de segurança ao mesmo tempo geralmente não é uma boa ideia. Regras conflitantes de firewall, login e reescrita podem reduzir o desempenho ou causar bloqueios indevidos.

Testando a Proteção da wp-includes: Cenário Prático

Para entender se a aplicação foi bem-sucedida, apenas abrir o site não é suficiente. O seguinte teste prático de 7 etapas pode ser aplicado na maioria das instalações WordPress, desde pequenos sites empresariais até projetos de e-commerce:

  • 1. Abra a página inicial em uma aba anônima e verifique se há distorções visuais.
  • 2. Visite um post de blog, uma página de categoria e uma página de resultados de busca.
  • 3. Faça login no painel wp-admin; abra o editor de blocos e a biblioteca de mídia.
  • 4. Verifique a aba Console nas ferramentas de desenvolvedor do navegador.
  • 5. Na aba Rede, confirme que arquivos estáticos na wp-includes não estão sendo bloqueados desnecessariamente.
  • 6. Tente chamar um arquivo PHP diretamente na wp-includes; você deve esperar um erro 403 ou 404.
  • 7. Examine os logs de erro do servidor para verificar se há novos ou recorrentes.

Esse teste leva cerca de 5 minutos e captura rapidamente configurações incorretas. Especialmente em sites que usam WooCommerce, as páginas de carrinho, pagamento e conta de usuário também devem ser testadas separadamente. Em sites que geram receita ao vivo, até mesmo um pequeno bloqueio de JavaScript pode afetar a taxa de conversão.

Medidas Adicionais de Segurança da Estrutura de Pastas do WordPress

Proteger a wp-includes é um bom começo; no entanto, é necessário pensar na segurança do WordPress de forma holística. As seguintes medidas adicionais reduzem ainda mais a superfície de ataque:

  • Mantenha o núcleo atualizado em vez de tentar ocultar a versão do WordPress.
  • Remova completamente temas e plugins não utilizados.
  • Torne o nome de usuário administrador difícil de adivinhar.
  • Utilize autenticação em duas etapas.
  • Se não estiver usando XML-RPC, restrinja seu acesso.
  • Implemente limites de taxa ou autenticações adicionais para wp-login.php.
  • Realize backups automáticos regulares e teste a restauração.
  • Use HTTPS em todo o site; informações de login estão em risco sem SSL.

O SSL não fecha diretamente o acesso à wp-includes; no entanto, fornece segurança básica para sessões de usuários, dados de formulários e tráfego do painel de administração. Portanto, o SSL é sempre uma das primeiras camadas em guias de segurança do WordPress. Nesse ponto, comprar certificado SSL e Instalação de SSL Gratuita podem ser natural e adequadamente posicionados dentro do conteúdo.

Quando Você Deve Buscar Suporte Profissional?

Adicionar uma regra .htaccess em um hosting Apache simples é uma tarefa gerenciável para a maioria dos usuários. No entanto, se você estiver lidando com uma configuração Nginx personalizada, uma rede de múltiplos sites, uma loja WooCommerce, um site de notícias com alto tráfego ou um portal corporativo, pode ser mais prudente buscar suporte profissional. Pois a segurança da regra deve ser aplicada corretamente, não apenas do ponto de vista técnico, mas também em termos de continuidade operacional.

Recomenda-se suporte especializado nas seguintes situações:

  • Se você estiver hospedando vários sites WordPress no servidor.
  • Quando usar Nginx, Varnish, CDN e WAF em conjunto.
  • Se após as últimas alterações, os erros 403, 404 ou 500 aumentaram.
  • Se o site já teve infecções por malware anteriormente.
  • Se você está executando um sistema que processa pagamentos, assinaturas ou dados pessoais.

Uma infraestrutura de hospedagem segura, o isolamento correto, backups regulares e suporte especializado são partes críticas da segurança do WordPress que muitas vezes não são visíveis. Ao escolher a infraestrutura, deve-se atentar não apenas ao espaço em disco, mas também à qualidade do suporte, firewall, suporte à versão PHP, gerenciamento de SSL e backups. Nesse contexto, Pacotes de Hosting Hostragons e Migração de Site WordPress podem ser úteis para o leitor.

Conclusão

A maneira correta de bloquear o acesso à pasta wp-includes no contexto da Segurança da Estrutura de Pastas do WordPress não é fechar completamente a pasta, mas sim desativar o acesso web direto aos arquivos PHP dentro da wp-includes e desativar a listagem de diretórios. Esse processo pode ser implementado rapidamente com .htaccess para Apache ou regras de localização para Nginx. No entanto, é crucial fazer um backup antes de cada alteração e realizar testes no painel de administração e na interface após as modificações.

Resumindo: não comprometa os arquivos estáticos, limite o acesso ao PHP, desative a listagem de diretórios, verifique as permissões de arquivos e mantenha atualizações regulares. Para uma infraestrutura WordPress mais segura e gerenciável, você pode explorar as soluções de hospedagem, domínio e SSL da Hostragons e buscar suporte em configurações adequadas às suas necessidades.

Perguntas Frequentes

É seguro fechar completamente a pasta wp-includes?

Geralmente, não é recomendado. A pasta wp-includes pode conter JavaScript, CSS e arquivos estáticos que o WordPress precisa. O bloqueio total pode prejudicar a aparência do site ou o painel de administração. A abordagem mais segura é bloquear o acesso direto aos arquivos PHP nesta pasta.

O que fazer se eu receber um erro 500 após adicionar uma regra .htaccess?

Primeiro, remova as últimas regras que você adicionou ou restaure o arquivo .htaccess de backup. Depois, verifique a regra quanto a erros de sintaxe. Se o erro persistir, examine os logs de erro da hospedagem ou busque ajuda do suporte técnico.

O .htaccess funciona em um servidor Nginx?

Não. O .htaccess é usado em ambientes Apache e LiteSpeed. Em servidores Nginx, restrições semelhantes são feitas com regras de localização dentro do bloco do servidor, e a configuração deve ser testada após as alterações com nginx -t.

Esse processo torna meu site WordPress totalmente seguro?

Não. Bloquear o acesso PHP à wp-includes é uma camada importante de segurança, mas não é suficiente por si só. Atualizações, senhas fortes, autenticação em duas etapas, SSL, backups, firewall e permissões de arquivos corretas devem ser aplicados juntos.

Se eu estiver usando um plugin de segurança, devo adicionar uma regra à wp-includes?

Isso depende das regras que o plugin aplica. Alguns plugins adicionam regras ao .htaccess, enquanto outros apenas oferecem proteção em nível de aplicação. Limitar o acesso PHP em nível de servidor, sem conflitos, geralmente resulta em uma solução mais robusta.

Compartilhe este artigo:

Equipe Hostragons

Guias atualizados da nossa equipe de especialistas sobre hospedagem, servidores e nomes de domínio. Vamos encontrar juntos a solução ideal para o seu projeto.

Fale Conosco