🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir as regras de firewall que não aplicam no All in One Security

Time Full Services Time Full Services
Tipo Seguranca
Nome do erro Regras de firewall não aplicam no All in One Security EN: All in One Security firewall rules not applying
Severidade Grave
Descrição No All in One Security (AIOS), as regras de firewall deixam de aplicar quando o servidor não carrega o arquivo aios-bootstrap.php ou ignora o .htaccess. É comum em Nginx, LiteSpeed mal configurado e ambientes atrás de proxy ou CDN.

O que é firewall do AIOS que não funciona?

O firewall do All in One Security tem duas camadas. A camada moderna roda como PHP através do arquivo aios-bootstrap.php, carregado antes do WordPress por uma diretiva auto_prepend_file gravada no .htaccess (Apache) ou no .user.ini (PHP-FPM). A camada legada grava regras diretamente no .htaccess, entre os marcadores que começam com BEGIN All In One WP Security. Bloqueio de país, proteção contra força bruta por cookie e bloqueio de bots dependem dessas regras estarem ativas a cada requisição. Quando o servidor não executa o bootstrap ou ignora o .htaccess, o painel mostra o firewall como ligado, mas nenhuma regra é aplicada de fato.

Como identificar

  • No painel, AIOS -> Firewall mostra as proteções marcadas como ativas, mas IPs e países bloqueados continuam acessando o site normalmente.
  • O painel exibe o aviso ‘The firewall is not currently set up’ ou ‘AIOS could not write to the configuration file’, indicando que o bootstrap não foi instalado.
  • O bloqueio de país (geoblocking) não barra visitantes da região configurada e o teste com VPN passa direto.
  • Em servidor Nginx, nenhuma regra do firewall surte efeito, porque o Nginx não lê arquivos .htaccess.
  • A linha auto_prepend_file referente ao aios-bootstrap.php está ausente no .htaccess ou no .user.ini, ou aponta para um caminho que não existe.
Antes de começar: Antes de editar .htaccess, .user.ini, php.ini ou wp-config.php, faça backup do arquivo original. Um erro de sintaxe em qualquer um deles pode derrubar o site inteiro com erro 500, e a diretiva auto_prepend_file apontando para um caminho inexistente impede o PHP de carregar qualquer página.

Como prevenir

  • Depois de configurar o firewall, sempre teste o bloqueio na prática (com VPN ou outro IP), nunca confie só no status do painel.
  • Em Nginx e LiteSpeed, registre a diretiva auto_prepend_file diretamente na configuração do PHP, já que o .htaccess não é lido nessas pilhas.
  • Mantenha a pasta wp-content/uploads/aios/firewall-rules com permissão de escrita para o usuário do servidor web, para o AIOS conseguir regravar o bootstrap a cada atualização.
  • Atrás de proxy ou CDN, configure o AIOS para ler o IP real do visitante (cabeçalho encaminhado), senão as regras bloqueiam o IP errado.
  • Após qualquer atualização de servidor ou troca de plugin de cache, confira se a linha do auto_prepend_file continua presente no .htaccess ou no .user.ini.

Causa

  • O site roda em Nginx (ou OpenLiteSpeed sem compatibilidade .htaccess), que ignora o .htaccess onde o AIOS grava a diretiva do firewall e as regras legadas.
  • A diretiva auto_prepend_file que aponta para wp-content/uploads/aios/firewall-rules/aios-bootstrap.php foi removida do .htaccess ou do .user.ini por outro plugin de cache ou por uma atualização de servidor.
  • A pasta wp-content/uploads/aios/firewall-rules não tem permissão de escrita (precisa de 0755 na pasta e 0644 nos arquivos), então o AIOS não consegue gerar nem atualizar o aios-bootstrap.php.
  • O PHP-FPM está configurado para ignorar arquivos .user.ini locais (user_ini.filename vazio), impedindo o carregamento do bootstrap nessa pilha.
  • Um plugin de cache em nível de página (como WP Super Cache ou um CDN de página inteira) serve HTML estático antes do PHP rodar, então o firewall PHP nunca é executado para o visitante.
  • O site está atrás de um proxy ou CDN e o AIOS lê o IP errado (o IP do proxy em vez do IP real do visitante), de modo que as regras de bloqueio nunca casam com o visitante certo.

Como resolver

  1. Confirme o tipo de servidor: Antes de tudo, descubra se o site roda em Apache ou Nginx, porque a correção muda completamente. No painel do WordPress, vá em Ferramentas -> Saúde do site -> Informações e procure a seção de servidor, ou rode o comando abaixo via terminal. Se for Nginx puro, o firewall por .htaccess nunca vai aplicar e você precisa do passo 5.
    wp eval 'echo $_SERVER["SERVER_SOFTWARE"];'
    curl -sI https://seudominio.com.br | grep -i server
  2. Verifique se o bootstrap do firewall foi gravado: O firewall moderno do AIOS só funciona se o arquivo de bootstrap existir e for carregado antes do WordPress. Confira se o arquivo está no lugar e se a diretiva que o carrega está presente no .htaccess ou no .user.ini. Se o arquivo não existir, o AIOS não conseguiu escrevê-lo.
    ls -la wp-content/uploads/aios/firewall-rules/aios-bootstrap.php
    grep -n 'auto_prepend_file' .htaccess
    grep -n 'auto_prepend_file' .user.ini
  3. Corrija as permissões da pasta do firewall: Se o arquivo de bootstrap não existe ou não atualiza, quase sempre é permissão. Ajuste a pasta para permitir escrita do AIOS e depois reinstale o firewall pelo painel. Aplique as permissões abaixo via FTP ou terminal.
    chmod 0755 wp-content/uploads/aios/firewall-rules
    chmod 0644 wp-content/uploads/aios/firewall-rules/settings.php
  4. Reinstale o firewall pelo painel: Com as permissões corretas, force o AIOS a regravar o bootstrap e as regras. No menu do plugin, abra a área de firewall e use a opção de reinstalar ou reativar as regras. Em seguida, salve a configuração para que o plugin reescreva a diretiva no .htaccess e no .user.ini.
    WP Security -> Firewall -> PHP Rules -> Reinstall / Re-activate
  5. Em Nginx, carregue o bootstrap pelo php.ini ou pool do PHP-FPM: Como o Nginx ignora o .htaccess, a diretiva que carrega o firewall precisa ir para a configuração do PHP. Adicione o auto_prepend_file no php.ini ou no arquivo de pool do PHP-FPM apontando para o caminho real do bootstrap, e reinicie o serviço. Ajuste o caminho absoluto para o seu site.
    auto_prepend_file = /var/www/seusite/wp-content/uploads/aios/firewall-rules/aios-bootstrap.php
    sudo systemctl restart php8.2-fpm
    sudo systemctl reload nginx
  6. Teste o bloqueio e recupere o acesso se travar: Valide o firewall criando uma regra temporária (por exemplo, bloqueio de um país) e testando com VPN. Se você mesmo for bloqueado e ficar sem acesso ao painel, adicione a constante de emergência ao wp-config.php para desligar a prevenção por cookie e recuperar o login, conforme a documentação oficial. Coloque a linha antes do comentário That is all, stop editing do arquivo.
    define('AIOS_DISABLE_COOKIE_BRUTE_FORCE_PREVENTION', true);
APACHE
# BEGIN All In One WP Security
# Carrega o firewall PHP do AIOS antes do WordPress
<IfModule mod_php.c>
  php_value auto_prepend_file '/var/www/seusite/wp-content/uploads/aios/firewall-rules/aios-bootstrap.php'
</IfModule>
# Variante para PHP-FPM via .user.ini (mesma pasta do site):
# auto_prepend_file = /var/www/seusite/wp-content/uploads/aios/firewall-rules/aios-bootstrap.php
# END All In One WP Security

Perguntas frequentes

Por que o firewall do AIOS aparece ativo mas não bloqueia ninguém
Porque o painel mostra apenas a configuração salva, não se o servidor está executando as regras. Se o arquivo aios-bootstrap.php não é carregado pelo auto_prepend_file, ou se o servidor é Nginx e ignora o .htaccess, as regras existem mas nunca rodam na requisição. Teste sempre o bloqueio na prática.
O firewall do All in One Security funciona em Nginx
Funciona, mas não automaticamente. O Nginx ignora arquivos .htaccess, onde o AIOS grava a diretiva do firewall e as regras legadas. Você precisa registrar a diretiva auto_prepend_file apontando para o aios-bootstrap.php diretamente no php.ini ou no pool do PHP-FPM, e reiniciar o serviço.
O que é o arquivo aios-bootstrap.php
É o coração do firewall moderno do AIOS. Ele fica em wp-content/uploads/aios/firewall-rules e é carregado antes do WordPress por uma diretiva auto_prepend_file. Esse carregamento prévio permite barrar requisições maliciosas antes do PHP do WordPress iniciar. Se ele não existe ou não é carregado, o firewall PHP não aplica nada.
Por que o bloqueio de país do AIOS não está barrando visitantes
O bloqueio de país depende das regras de firewall estarem ativas a cada requisição. Se o bootstrap não carrega, ou se um cache de página inteira serve HTML estático antes do PHP rodar, o visitante nunca passa pela checagem de geolocalização. Confirme o carregamento do firewall e exclua páginas sensíveis do cache.
Atualizei o servidor e o firewall parou de aplicar, o que houve
Atualizações de servidor ou troca de plugin de cache costumam reescrever ou apagar o .htaccess, removendo a diretiva auto_prepend_file do AIOS. Sem ela, o bootstrap não carrega. Verifique se a linha ainda está presente no .htaccess ou no .user.ini e reinstale o firewall pelo painel do plugin.
Como recupero o acesso se o firewall do AIOS me trancou para fora
Edite o wp-config.php via FTP e adicione a constante AIOS_DISABLE_COOKIE_BRUTE_FORCE_PREVENTION com valor verdadeiro antes da linha que diz para parar de editar. Isso desliga a prevenção por cookie e devolve o login. Em versões antigas, apagar o settings.php em wp-content/uploads/aios/firewall-rules também recupera o acesso.
Permissão de pasta atrapalha o firewall do AIOS
Sim. Se a pasta wp-content/uploads/aios/firewall-rules não tem permissão de escrita, o AIOS não consegue gerar nem atualizar o aios-bootstrap.php, e o painel mostra o erro de que não pôde escrever a configuração. Ajuste a pasta para 0755 e os arquivos para 0644, e reinstale o firewall.
Preciso do firewall avançado do AIOS para o básico funcionar
Não. Os níveis de firewall do AIOS são incrementais e todos dependem da mesma base: o carregamento do bootstrap e a gravação das regras. Se o nível básico já não aplica, o problema é de infraestrutura (servidor, permissão ou cache), não do nível escolhido. Resolva a base antes de subir o nível.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes