{"id":2575,"date":"2026-08-30T18:13:00","date_gmt":"2026-08-30T21:13:00","guid":{"rendered":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/"},"modified":"2026-08-30T18:13:00","modified_gmt":"2026-08-30T21:13:00","slug":"aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr","status":"publish","type":"post","link":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/","title":{"rendered":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o"},"content":{"rendered":"<p>O <strong>NAXSI<\/strong> \u2014 abrevia\u00e7\u00e3o de <em>Nginx Anti XSS &#038; SQL Injection<\/em> \u2014 \u00e9 um Web Application Firewall (WAF) de c\u00f3digo aberto projetado especificamente para operar como m\u00f3dulo do <strong>Nginx<\/strong>. Diferentemente de solu\u00e7\u00f5es que dependem de assinaturas extensas e atualiza\u00e7\u00f5es constantes, o <strong>NAXSI<\/strong> adota um modelo de detec\u00e7\u00e3o baseado em pontua\u00e7\u00e3o e em regras gen\u00e9ricas de anomalias, tornando-o extremamente eficaz contra ataques de inje\u00e7\u00e3o SQL, Cross-Site Scripting (XSS), inclus\u00e3o de arquivos remotos e outras classes de explora\u00e7\u00e3o web. Nesta aula avan\u00e7ada do curso <strong>Seguran\u00e7a Linux \u2014 Do Zero ao Avan\u00e7ado<\/strong>, voc\u00ea mergulhar\u00e1 na instala\u00e7\u00e3o, configura\u00e7\u00e3o e opera\u00e7\u00e3o do <strong>NAXSI<\/strong> em ambientes Linux reais.<\/p>\n<p>Ao longo da aula, voc\u00ea aprender\u00e1 n\u00e3o apenas a compilar o <strong>Nginx<\/strong> com o m\u00f3dulo <strong>NAXSI<\/strong>, mas tamb\u00e9m a compreender profundamente sua arquitetura de regras, o modelo de pontua\u00e7\u00e3o (<em>score-based detection<\/em>), o modo de aprendizado (<em>LearningMode<\/em>) e as estrat\u00e9gias de whitelist. O dom\u00ednio dessas t\u00e9cnicas permite implantar uma camada adicional de seguran\u00e7a que complementa, e muitas vezes supera, solu\u00e7\u00f5es tradicionais em termos de desempenho e flexibilidade. Em nossos projetos na JRT Technology Solutions, nossos especialistas utilizam diariamente o <strong>NAXSI<\/strong> para proteger aplica\u00e7\u00f5es web cr\u00edticas de clientes, justamente pela robustez e transpar\u00eancia operacional que ele oferece.<\/p>\n<p>Este conte\u00fado \u00e9 voltado para administradores de sistemas, engenheiros DevOps, analistas de seguran\u00e7a e entusiastas que j\u00e1 conclu\u00edram as aulas anteriores do curso e possuem familiaridade com linha de comando Linux, configura\u00e7\u00e3o do <strong>Nginx<\/strong> e conceitos b\u00e1sicos de seguran\u00e7a em aplica\u00e7\u00f5es web. Se voc\u00ea seguiu todas as aulas at\u00e9 aqui, j\u00e1 est\u00e1 apto a realizar os procedimentos descritos, incluindo compila\u00e7\u00e3o de software, manipula\u00e7\u00e3o de arquivos de configura\u00e7\u00e3o e teste de pol\u00edticas de seguran\u00e7a.<\/p>\n<p>Os pr\u00e9-requisitos para esta aula incluem: uma m\u00e1quina Linux com distribui\u00e7\u00e3o <strong>Ubuntu\/Debian<\/strong> ou <strong>CentOS\/RHEL\/Rocky Linux<\/strong>, acesso <em>root<\/em> ou via <code>sudo<\/code>, <strong>Nginx<\/strong> em execu\u00e7\u00e3o ou possibilidade de compilar uma vers\u00e3o compat\u00edvel, ferramentas de compila\u00e7\u00e3o instaladas (<code>gcc<\/code>, <code>make<\/code>, <code>pcre<\/code>, <code>zlib<\/code>, <code>openssl<\/code>) e conhecimento b\u00e1sico de configura\u00e7\u00e3o de <em>server blocks<\/em>. Ao final desta aula, voc\u00ea ser\u00e1 capaz de instalar o <strong>NAXSI<\/strong>, escrever regras de prote\u00e7\u00e3o customizadas, implementar whitelists eficientes, testar bloqueios e diagnosticar problemas comuns \u2014 tudo isso com base em procedimentos reais e validados.<\/p>\n<h3>O que voc\u00ea vai aprender nesta aula<\/h3>\n<ul>\n<li>Conceitos fundamentais do <strong>NAXSI<\/strong> e como ele se diferencia de outros WAFs, como o ModSecurity.<\/li>\n<li>Arquitetura interna do <strong>NAXSI<\/strong>: regras b\u00e1sicas, regras principais, pontua\u00e7\u00e3o e limiares de bloqueio.<\/li>\n<li>Compila\u00e7\u00e3o e instala\u00e7\u00e3o do <strong>Nginx<\/strong> com o m\u00f3dulo <strong>NAXSI<\/strong> em Ubuntu\/Debian e CentOS\/RHEL\/Rocky Linux.<\/li>\n<li>Configura\u00e7\u00e3o completa do arquivo <code>nginx.conf<\/code> com diretivas do <strong>NAXSI<\/strong>.<\/li>\n<li>Cria\u00e7\u00e3o de regras customizadas, ajuste de pontua\u00e7\u00e3o e implementa\u00e7\u00e3o de whitelists.<\/li>\n<li>Ativa\u00e7\u00e3o do modo de aprendizado para evitar falsos positivos e gerar regras de exce\u00e7\u00e3o.<\/li>\n<li>Verifica\u00e7\u00e3o pr\u00e1tica de bloqueios de ataques com <code>curl<\/code> e an\u00e1lise de logs.<\/li>\n<li>Diagn\u00f3stico e corre\u00e7\u00e3o de erros comuns, com sintomas e solu\u00e7\u00f5es detalhadas.<\/li>\n<\/ul>\n<h3>Pr\u00e9-requisitos e Ambiente<\/h3>\n<p>Antes de iniciar os procedimentos desta aula, assegure-se de que seu ambiente atenda aos seguintes requisitos. Em primeiro lugar, voc\u00ea precisar\u00e1 de um servidor Linux com pelo menos 1 GB de RAM, 2 vCPUs e 10 GB de disco livre. As distribui\u00e7\u00f5es recomendadas s\u00e3o <strong>Ubuntu 22.04\/24.04 LTS<\/strong>, <strong>Debian 11\/12<\/strong>, <strong>CentOS Stream 9<\/strong>, <strong>RHEL 9<\/strong> ou <strong>Rocky Linux 9<\/strong>. O acesso deve ser feito como usu\u00e1rio <code>root<\/code> ou por meio de <code>sudo<\/code>.<\/p>\n<p>O <strong>Nginx<\/strong> \u00e9 o servidor web base para a instala\u00e7\u00e3o do <strong>NAXSI<\/strong>, pois este atua como um m\u00f3dulo integrado ao processo do <strong>Nginx<\/strong>, e n\u00e3o como um servi\u00e7o separado. Verifique a vers\u00e3o instalada com o comando <code>nginx -v<\/code>. Se o <strong>Nginx<\/strong> j\u00e1 estiver em produ\u00e7\u00e3o, voc\u00ea dever\u00e1 compilar uma vers\u00e3o id\u00eantica \u00e0 instalada, com o mesmo conjunto de m\u00f3dulos, acrescentando apenas o m\u00f3dulo <strong>NAXSI<\/strong>. Isso garante compatibilidade total e evita regress\u00f5es. Caso o <strong>Nginx<\/strong> n\u00e3o esteja instalado, voc\u00ea far\u00e1 uma instala\u00e7\u00e3o limpa a partir do c\u00f3digo-fonte.<\/p>\n<p>Tenha tamb\u00e9m instaladas as ferramentas essenciais de compila\u00e7\u00e3o e as bibliotecas de desenvolvimento: <code>build-essential<\/code> (Ubuntu\/Debian) ou <code>Development Tools<\/code> (CentOS\/RHEL), al\u00e9m de <code>pcre<\/code>, <code>zlib<\/code> e <code>openssl<\/code> com seus pacotes <em>-dev<\/em> ou <em>-devel<\/em>. Isso \u00e9 fundamental, pois o processo de compila\u00e7\u00e3o do <strong>Nginx<\/strong> com <strong>NAXSI<\/strong> exige essas depend\u00eancias para gerar os bin\u00e1rios corretamente. Recomendamos tamb\u00e9m que voc\u00ea tenha uma c\u00f3pia do c\u00f3digo-fonte do <strong>NAXSI<\/strong> obtida diretamente do reposit\u00f3rio oficial no GitHub.<\/p>\n<p>Por fim, familiarize-se com a estrutura de diret\u00f3rios do <strong>Nginx<\/strong>: <code>\/etc\/nginx\/<\/code> para configura\u00e7\u00e3o, <code>\/var\/log\/nginx\/<\/code> para logs e <code>\/usr\/sbin\/nginx<\/code> para o bin\u00e1rio. Ao longo da aula, trabalharemos nesses caminhos. Se voc\u00ea qualificou seu ambiente com esses pr\u00e9-requisitos, pode prosseguir com seguran\u00e7a. Em nossos projetos na JRT Technology Solutions, sempre padronizamos esses requisitos m\u00ednimos para garantir que o processo de compila\u00e7\u00e3o e configura\u00e7\u00e3o ocorra sem surpresas, e recomendamos que voc\u00ea fa\u00e7a o mesmo.<\/p>\n<h3>Conceitos Fundamentais: o que \u00e9 o NAXSI e por que ele \u00e9 diferente<\/h3>\n<p>O <strong>NAXSI<\/strong> \u00e9 um WAF de terceira gera\u00e7\u00e3o que trabalha com um modelo de seguran\u00e7a negativo baseado em <em>score<\/em>. Em vez de manter uma enorme base de assinaturas de ataques espec\u00edficos \u2014 como faz o ModSecurity com o OWASP CRS \u2014, o <strong>NAXSI<\/strong> define um conjunto relativamente pequeno de <em>regras b\u00e1sicas<\/em> (BasicRules) que detectam padr\u00f5es gen\u00e9ricos de anomalias. Cada regra b\u00e1sica atribui uma pontua\u00e7\u00e3o a determinados caracteres ou sequ\u00eancias suspeitas encontradas na requisi\u00e7\u00e3o HTTP. Ao final da avalia\u00e7\u00e3o, o <strong>NAXSI<\/strong> soma os pontos de todas as regras acionadas e, se o total ultrapassar um limiar definido (CheckRule), a requisi\u00e7\u00e3o \u00e9 bloqueada.<\/p>\n<p>Essa abordagem traz vantagens significativas. Primeiramente, ela reduz drasticamente a superf\u00edcie de falsos negativos, pois os padr\u00f5es gen\u00e9ricos detectam varia\u00e7\u00f5es de ataques ainda desconhecidos, como novos vetores de SQL injection que ainda n\u00e3o possuem assinatura espec\u00edfica. Em segundo lugar, o <strong>NAXSI<\/strong> exige muito menos atualiza\u00e7\u00f5es de regras do que um WAF baseado em assinaturas. O n\u00facleo de regras do <strong>NAXSI<\/strong> permanece est\u00e1vel por longos per\u00edodos, e novas prote\u00e7\u00f5es s\u00e3o implementadas principalmente por meio de whitelists e customiza\u00e7\u00f5es espec\u00edficas do site. Isso reduz a carga operacional da equipe de seguran\u00e7a.<\/p>\n<p>Outra caracter\u00edstica marcante do <strong>NAXSI<\/strong> \u00e9 o seu desempenho. Por ser um m\u00f3dulo integrado ao <strong>Nginx<\/strong> e operar com regras simples e eficientes, o impacto na lat\u00eancia \u00e9 m\u00ednimo, geralmente na casa de poucos milissegundos. Isso o torna uma escolha excelente para aplica\u00e7\u00f5es de alta concorr\u00eancia, onde cada milissegundo conta. Diferentemente de WAFs externos que exigem proxy reverso adicional, o <strong>NAXSI<\/strong> processa as requisi\u00e7\u00f5es no mesmo processo do <strong>Nginx<\/strong>, eliminando saltos de rede e reduzindo a complexidade da infraestrutura.<\/p>\n<p>No centro do funcionamento do <strong>NAXSI<\/strong> est\u00e3o dois tipos principais de regras: as <em>MainRules<\/em> (regras principais) e as <em>BasicRules<\/em> (regras b\u00e1sicas). As MainRules s\u00e3o definidas no arquivo <code>naxsi_core.rules<\/code> e cont\u00eam a grande maioria das detec\u00e7\u00f5es, cobrindo padr\u00f5es como sequ\u00eancias de caracteres SQL, palavras-chave de comandos e caracteres de escape. As BasicRules, por sua vez, s\u00e3o utilizadas para estender ou customizar a detec\u00e7\u00e3o, permitindo criar regras adicionais para casos espec\u00edficos do seu ambiente. O <strong>NAXSI<\/strong> tamb\u00e9m possui as <em>CheckRules<\/em>, que definem o limiar de pontua\u00e7\u00e3o para diferentes contextos da requisi\u00e7\u00e3o, como URL, argumentos, cabe\u00e7alhos, cookies e corpo do POST.<\/p>\n<p>Por fim, \u00e9 essencial compreender o conceito de <em>Whitelist<\/em> no <strong>NAXSI<\/strong>. Como o modelo de detec\u00e7\u00e3o \u00e9 gen\u00e9rico, algumas requisi\u00e7\u00f5es leg\u00edtimas podem gerar pontua\u00e7\u00f5es altas, resultando em falsos positivos. Para lidar com isso, o <strong>NAXSI<\/strong> permite criar regras de exce\u00e7\u00e3o que zeram ou reduzem a pontua\u00e7\u00e3o em contextos espec\u00edficos, como um par\u00e2metro de busca que cont\u00e9m caracteres especiais. O uso correto de whitelists \u00e9 o segredo para um WAF eficaz sem interrup\u00e7\u00f5es no servi\u00e7o. Ao longo desta aula, voc\u00ea aprender\u00e1 a configurar tudo isso em detalhes.<\/p>\n<h3>Arquitetura e Modelo de Detec\u00e7\u00e3o do NAXSI<\/h3>\n<p>Para operar o <strong>NAXSI<\/strong> com maestria, \u00e9 necess\u00e1rio entender sua arquitetura interna e o fluxo de processamento de uma requisi\u00e7\u00e3o. Quando uma requisi\u00e7\u00e3o HTTP chega ao <strong>Nginx<\/strong> com o m\u00f3dulo <strong>NAXSI<\/strong> ativo, o WAF analisa separadamente cada componente da requisi\u00e7\u00e3o: a URL, os argumentos da query string, os cabe\u00e7alhos HTTP, os cookies e o corpo da mensagem (para m\u00e9todos POST). Em cada um desses contextos, o <strong>NAXSI<\/strong> aplica as regras de detec\u00e7\u00e3o definidas e acumula a pontua\u00e7\u00e3o correspondente.<\/p>\n<p>As regras de detec\u00e7\u00e3o do <strong>NAXSI<\/strong> s\u00e3o compostas por quatro elementos principais: <em>MatchZone<\/em> (a zona onde a regra se aplica, como <code>ARGS<\/code>, <code>URL<\/code>, <code>HEADERS<\/code>, <code>BODY<\/code>), <em>MatchType<\/em> (o tipo de casamento, como <code>RX<\/code> para express\u00e3o regular ou <code>STR<\/code> para string literal), <em>MatchPattern<\/em> (o padr\u00e3o a ser detectado) e <em>Score<\/em> (a pontua\u00e7\u00e3o atribu\u00edda quando a regra \u00e9 acionada). Por exemplo, uma regra pode detectar a presen\u00e7a da palavra <code>DROP<\/code> em argumentos e atribuir 8 pontos a cada ocorr\u00eancia.<\/p>\n<p>O limiar de bloqueio \u00e9 definido pelas diretivas <code>CheckRule<\/code>. Cada <code>CheckRule<\/code> especifica um contexto e um valor m\u00e1ximo de pontua\u00e7\u00e3o permitido. Por exemplo, <code>CheckRule \"$SQL >= 8\" BLOCK;<\/code> bloqueia a requisi\u00e7\u00e3o se a pontua\u00e7\u00e3o acumulada na categoria <em>SQL<\/em> for maior ou igual a 8. O <strong>NAXSI<\/strong> categoriza as regras em grupos como <em>SQL<\/em>, <em>XSS<\/em>, <em>RFI<\/em>, <em>UPLOAD<\/em>, <em>TRAVERSAL<\/em>, entre outros. Essa categoriza\u00e7\u00e3o permite criar pol\u00edticas de bloqueio diferenciadas por tipo de amea\u00e7a.<\/p>\n<p>Outra caracter\u00edstica poderosa do <strong>NAXSI<\/strong> \u00e9 a possibilidade de habilitar o <em>LearningMode<\/em>. Quando ativado, o <strong>NAXSI<\/strong> n\u00e3o bloqueia requisi\u00e7\u00f5es, mas registra em logs todas as detec\u00e7\u00f5es que teriam sido bloqueadas, juntamente com as pontua\u00e7\u00f5es obtidas. Essa funcionalidade \u00e9 extremamente \u00fatil durante a implanta\u00e7\u00e3o inicial, pois permite analisar o tr\u00e1fego leg\u00edtimo e criar whitelists precisas antes de ativar o bloqueio real. O LearningMode \u00e9 ativado por meio da diretiva <code>LearningMode;<\/code> dentro de um bloco <code>location<\/code>.<\/p>\n<p>O <strong>NAXSI<\/strong> tamb\u00e9m suporta a cria\u00e7\u00e3o de regras de exce\u00e7\u00e3o (whitelists) com granularidade fina. Uma whitelist pode zerar a pontua\u00e7\u00e3o em um contexto espec\u00edfico, para um padr\u00e3o espec\u00edfico, ou mesmo para uma regra espec\u00edfica identificada pelo seu ID. Essa flexibilidade permite liberar apenas o necess\u00e1rio, mantendo a prote\u00e7\u00e3o m\u00e1xima para o restante do tr\u00e1fego. A sintaxe de uma whitelist \u00e9 <code>BasicRule wl:ID \"matchzone:pattern\";<\/code>, onde <code>ID<\/code> \u00e9 um identificador num\u00e9rico \u00fanico atribu\u00eddo \u00e0 regra de exce\u00e7\u00e3o.<\/p>\n<p>Por fim, \u00e9 importante destacar que o <strong>NAXSI<\/strong> \u00e9 <em>stateless<\/em> por padr\u00e3o: ele analisa cada requisi\u00e7\u00e3o isoladamente, sem manter estado de sess\u00e3o. Isso simplifica a opera\u00e7\u00e3o em clusters e evita problemas de sincroniza\u00e7\u00e3o. Para cen\u00e1rios que exigem an\u00e1lise mais sofisticada, como detec\u00e7\u00e3o de for\u00e7a bruta ou rate limiting, recomenda-se combinar o <strong>NAXSI<\/strong> com outras camadas, como <code>ngx_http_limit_req_module<\/code> ou ferramentas externas. Em nossos projetos na JRT Technology Solutions, frequentemente integramos <strong>NAXSI<\/strong> com sistemas de monitoramento e SIEM para correla\u00e7\u00e3o de eventos e resposta a incidentes.<\/p>\n<h3>Passo a Passo: Instala\u00e7\u00e3o do NAXSI no Ubuntu\/Debian<\/h3>\n<p>Nesta se\u00e7\u00e3o, voc\u00ea realizar\u00e1 a instala\u00e7\u00e3o do <strong>NAXSI<\/strong> em sistemas baseados em Debian, como <strong>Ubuntu 22.04\/24.04<\/strong> e <strong>Debian 11\/12<\/strong>. O procedimento consiste em instalar as depend\u00eancias de compila\u00e7\u00e3o, obter o c\u00f3digo-fonte do <strong>Nginx<\/strong> e do <strong>NAXSI<\/strong>, compilar tudo em um \u00fanico bin\u00e1rio e, em seguida, substituir a instala\u00e7\u00e3o atual ou instalar do zero. Siga os passos na ordem exata para garantir o sucesso.<\/p>\n<h4>Passo 1: Atualizar o sistema e instalar depend\u00eancias<\/h4>\n<p>O primeiro passo \u00e9 atualizar os reposit\u00f3rios e instalar as ferramentas e bibliotecas necess\u00e1rias. Esses pacotes incluem o compilador GCC, o utilit\u00e1rio Make, as bibliotecas PCRE para express\u00f5es regulares, Zlib para compress\u00e3o e OpenSSL para suporte a TLS. Execute os comandos abaixo como usu\u00e1rio root ou com <code>sudo<\/code>:<\/p>\n<pre><code># Atualiza a lista de pacotes e o sistema\nsudo apt update && sudo apt upgrade -y\n\n# Instala as depend\u00eancias de compila\u00e7\u00e3o do Nginx com NAXSI\nsudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev wget git<\/code><\/pre>\n<p>Cada pacote tem uma fun\u00e7\u00e3o espec\u00edfica. O <code>build-essential<\/code> fornece o compilador <code>gcc<\/code>, o <code>make<\/code> e outras ferramentas de constru\u00e7\u00e3o. As bibliotecas <code>libpcre3-dev<\/code> e <code>zlib1g-dev<\/code> s\u00e3o necess\u00e1rias para o suporte a express\u00f5es regulares e compress\u00e3o no <strong>Nginx<\/strong>. O pacote <code>libssl-dev<\/code> habilita o m\u00f3dulo HTTPS. Os utilit\u00e1rios <code>wget<\/code> e <code>git<\/code> s\u00e3o usados para baixar os c\u00f3digos-fonte.<\/p>\n<h4>Passo 2: Verificar a vers\u00e3o atual do Nginx<\/h4>\n<p>Antes de compilar, verifique a vers\u00e3o exata do <strong>Nginx<\/strong> instalada no seu sistema. Isso \u00e9 crucial se voc\u00ea estiver atualizando uma instala\u00e7\u00e3o existente, pois a vers\u00e3o compilada deve corresponder exatamente \u00e0 vers\u00e3o em produ\u00e7\u00e3o para evitar conflitos de m\u00f3dulos. Execute:<\/p>\n<pre><code># Exibe a vers\u00e3o do Nginx instalada\nnginx -v<\/code><\/pre>\n<p>A sa\u00edda esperada ser\u00e1 semelhante a esta:<\/p>\n<pre><code class=\"output\">nginx version: nginx\/1.24.0<\/code><\/pre>\n<p>Anote essa vers\u00e3o. Se o <strong>Nginx<\/strong> n\u00e3o estiver instalado, voc\u00ea pode escolher a vers\u00e3o est\u00e1vel mais recente dispon\u00edvel no site oficial. Para esta aula, utilizaremos a vers\u00e3o <strong>1.24.0<\/strong> como refer\u00eancia, mas os passos s\u00e3o id\u00eanticos para outras vers\u00f5es.<\/p>\n<h4>Passo 3: Baixar os c\u00f3digos-fonte do Nginx e do NAXSI<\/h4>\n<p>Agora, fa\u00e7a o download do c\u00f3digo-fonte do <strong>Nginx<\/strong> correspondente \u00e0 sua vers\u00e3o instalada e clone o reposit\u00f3rio do <strong>NAXSI<\/strong> do GitHub. Execute os comandos abaixo em um diret\u00f3rio tempor\u00e1rio, como <code>\/usr\/local\/src<\/code>:<\/p>\n<pre><code># Acessa o diret\u00f3rio de fontes\ncd \/usr\/local\/src\n\n# Baixa o c\u00f3digo-fonte do Nginx 1.24.0\nsudo wget http:\/\/nginx.org\/download\/nginx-1.24.0.tar.gz\n\n# Extrai o arquivo compactado\nsudo tar -xzvf nginx-1.24.0.tar.gz\n\n# Clona o reposit\u00f3rio oficial do NAXSI\nsudo git clone https:\/\/github.com\/nbs-system\/naxsi.git<\/code><\/pre>\n<p>O comando <code>wget<\/code> baixa o tarball do <strong>Nginx<\/strong>. O <code>tar -xzvf<\/code> extrai o conte\u00fado do arquivo. O <code>git clone<\/code> copia o reposit\u00f3rio do <strong>NAXSI<\/strong>, que cont\u00e9m o c\u00f3digo-fonte do m\u00f3dulo e os arquivos de regras padr\u00e3o. Ap\u00f3s a conclus\u00e3o, voc\u00ea ter\u00e1 dois diret\u00f3rios: <code>nginx-1.24.0<\/code> e <code>naxsi<\/code>.<\/p>\n<h4>Passo 4: Compilar o Nginx com o m\u00f3dulo NAXSI<\/h4>\n<p>Entre no diret\u00f3rio do <strong>Nginx<\/strong> e execute o script <code>configure<\/code> com os par\u00e2metros necess\u00e1rios. O par\u00e2metro <code>--add-module<\/code> adiciona o m\u00f3dulo <strong>NAXSI<\/strong> \u00e0 compila\u00e7\u00e3o. Os demais par\u00e2metros definem os caminhos de instala\u00e7\u00e3o e os m\u00f3dulos padr\u00e3o do <strong>Nginx<\/strong>. Execute:<\/p>\n<pre><code># Acessa o diret\u00f3rio do c\u00f3digo-fonte do Nginx\ncd \/usr\/local\/src\/nginx-1.24.0\n\n# Executa o script de configura\u00e7\u00e3o com o m\u00f3dulo NAXSI\nsudo .\/configure \\\n  --add-module=\/usr\/local\/src\/naxsi\/naxsi_src \\\n  --prefix=\/etc\/nginx \\\n  --sbin-path=\/usr\/sbin\/nginx \\\n  --modules-path=\/usr\/lib\/nginx\/modules \\\n  --conf-path=\/etc\/nginx\/nginx.conf \\\n  --error-log-path=\/var\/log\/nginx\/error.log \\\n  --http-log-path=\/var\/log\/nginx\/access.log \\\n  --pid-path=\/var\/run\/nginx.pid \\\n  --lock-path=\/var\/run\/nginx.lock \\\n  --http-client-body-temp-path=\/var\/cache\/nginx\/client_temp \\\n  --http-proxy-temp-path=\/var\/cache\/nginx\/proxy_temp \\\n  --http-fastcgi-temp-path=\/var\/cache\/nginx\/fastcgi_temp \\\n  --http-uwsgi-temp-path=\/var\/cache\/nginx\/uwsgi_temp \\\n  --http-scgi-temp-path=\/var\/cache\/nginx\/scgi_temp \\\n  --user=nginx \\\n  --group=nginx \\\n  --with-http_ssl_module \\\n  --with-http_realip_module \\\n  --with-http_stub_status_module \\\n  --with-http_v2_module \\\n  --with-http_gzip_static_module \\\n  --with-http_sub_module<\/code><\/pre>\n<p>Cada flag do <code>configure<\/code> tem uma finalidade espec\u00edfica. A flag <code>--add-module=\/usr\/local\/src\/naxsi\/naxsi_src<\/code> \u00e9 a mais importante, pois instrui o compilador a incluir o <strong>NAXSI<\/strong>. As demais flags definem os diret\u00f3rios de instala\u00e7\u00e3o, os caminhos de logs, o usu\u00e1rio e grupo de execu\u00e7\u00e3o, e habilitam m\u00f3dulos essenciais como SSL, HTTP\/2 e status. A sa\u00edda do <code>configure<\/code> deve terminar com um resumo da configura\u00e7\u00e3o, sem erros.<\/p>\n<h4>Passo 5: Compilar e instalar<\/h4>\n<p>Ap\u00f3s a configura\u00e7\u00e3o bem-sucedida, compile o c\u00f3digo-fonte e instale os bin\u00e1rios gerados. Execute os comandos abaixo. O processo de compila\u00e7\u00e3o pode levar alguns minutos, dependendo da velocidade do seu servidor:<\/p>\n<pre><code># Compila o Nginx com todos os m\u00f3dulos configurados\nsudo make -j$(nproc)\n\n# Instala o bin\u00e1rio e os arquivos de configura\u00e7\u00e3o padr\u00e3o\nsudo make install<\/code><\/pre>\n<p>O comando <code>make -j$(nproc)<\/code> acelera a compila\u00e7\u00e3o utilizando todos os n\u00facleos de CPU dispon\u00edveis. O <code>make install<\/code> copia o bin\u00e1rio para <code>\/usr\/sbin\/nginx<\/code> e os arquivos de configura\u00e7\u00e3o para <code>\/etc\/nginx\/<\/code>. Ap\u00f3s a instala\u00e7\u00e3o, verifique se o bin\u00e1rio foi substitu\u00eddo corretamente:<\/p>\n<pre><code># Verifica a vers\u00e3o e os m\u00f3dulos compilados\nnginx -V 2>&1 | grep -i naxsi<\/code><\/pre>\n<p>A sa\u00edda esperada deve conter o m\u00f3dulo <strong>NAXSI<\/strong> na lista de m\u00f3dulos compilados:<\/p>\n<pre><code class=\"output\">--add-module=\/usr\/local\/src\/naxsi\/naxsi_src<\/code><\/pre>\n<p>Essa confirma\u00e7\u00e3o garante que o m\u00f3dulo <strong>NAXSI<\/strong> foi corretamente integrado ao bin\u00e1rio do <strong>Nginx<\/strong>. Agora, prossiga para a configura\u00e7\u00e3o dos arquivos de regras.<\/p>\n<h3>Passo a Passo: Instala\u00e7\u00e3o do NAXSI no CentOS\/RHEL\/Rocky Linux<\/h3>\n<p>Para sistemas baseados em Red Hat, como <strong>CentOS Stream 9<\/strong>, <strong>RHEL 9<\/strong> e <strong>Rocky Linux 9<\/strong>, o processo de instala\u00e7\u00e3o do <strong>NAXSI<\/strong> segue os mesmos princ\u00edpios, mas com comandos de gerenciamento de pacotes diferentes. Utilizaremos o <code>dnf<\/code> para instalar as depend\u00eancias e realizaremos a compila\u00e7\u00e3o a partir do c\u00f3digo-fonte, exatamente como no caso do Debian\/Ubuntu. Siga os passos abaixo com aten\u00e7\u00e3o.<\/p>\n<h4>Passo 1: Instalar depend\u00eancias de compila\u00e7\u00e3o<\/h4>\n<p>O primeiro passo \u00e9 instalar as ferramentas e bibliotecas de desenvolvimento. No CentOS\/RHEL\/Rocky, os pacotes t\u00eam nomes diferentes dos do Debian. Execute:<\/p>\n<pre><code># Instala o reposit\u00f3rio EPEL e as ferramentas de desenvolvimento\nsudo dnf install -y epel-release\nsudo dnf groupinstall -y \"Development Tools\"\n\n# Instala as bibliotecas de desenvolvimento necess\u00e1rias\nsudo dnf install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel wget git<\/code><\/pre>\n<p>O pacote <code>epel-release<\/code> adiciona o reposit\u00f3rio Extra Packages for Enterprise Linux, que cont\u00e9m pacotes adicionais n\u00e3o inclu\u00eddos nos reposit\u00f3rios oficiais. O grupo <code>\"Development Tools\"<\/code> instala o compilador GCC, o Make e outras ferramentas de constru\u00e7\u00e3o. As bibliotecas <code>pcre-devel<\/code>, <code>zlib-devel<\/code> e <code>openssl-devel<\/code> fornecem os cabe\u00e7alhos necess\u00e1rios para a compila\u00e7\u00e3o do <strong>Nginx<\/strong>.<\/p>\n<h4>Passo 2: Verificar a vers\u00e3o do Nginx e baixar os fontes<\/h4>\n<p>Assim como no procedimento para Debian, verifique a vers\u00e3o instalada do <strong>Nginx<\/strong> e baixe os c\u00f3digos-fonte correspondentes. Se o <strong>Nginx<\/strong> n\u00e3o estiver instalado, utilize a vers\u00e3o est\u00e1vel mais recente. Execute os comandos abaixo:<\/p>\n<pre><code># Verifica a vers\u00e3o do Nginx instalada\nnginx -v\n\n# Acessa o diret\u00f3rio de fontes\ncd \/usr\/local\/src\n\n# Baixa o c\u00f3digo-fonte do Nginx 1.24.0\nsudo wget http:\/\/nginx.org\/download\/nginx-1.24.0.tar.gz\n\n# Extrai o arquivo compactado\nsudo tar -xzvf nginx-1.24.0.tar.gz\n\n# Clona o reposit\u00f3rio oficial do NAXSI\nsudo git clone https:\/\/github.com\/nbs-system\/naxsi.git<\/code><\/pre>\n<p>A sa\u00edda do comando <code>nginx -v<\/code> exibir\u00e1 a vers\u00e3o atual, por exemplo <code>nginx version: nginx\/1.24.0<\/code>. O restante dos comandos baixa e extrai os fontes do <strong>Nginx<\/strong> e clona o reposit\u00f3rio do <strong>NAXSI<\/strong>, exatamente como no procedimento anterior.<\/p>\n<h4>Passo 3: Compilar e instalar<\/h4>\n<p>Agora, compile o <strong>Nginx<\/strong> com o m\u00f3dulo <strong>NAXSI<\/strong>. O comando <code>configure<\/code> \u00e9 o mesmo utilizado no Debian\/Ubuntu, pois os par\u00e2metros s\u00e3o independentes da distribui\u00e7\u00e3o. Execute:<\/p>\n<pre><code># Acessa o diret\u00f3rio do c\u00f3digo-fonte do Nginx\ncd \/usr\/local\/src\/nginx-1.24.0\n\n# Configura a compila\u00e7\u00e3o com o m\u00f3dulo NAXSI\nsudo .\/configure \\\n  --add-module=\/usr\/local\/src\/naxsi\/naxsi_src \\\n  --prefix=\/etc\/nginx \\\n  --sbin-path=\/usr\/sbin\/nginx \\\n  --modules-path=\/usr\/lib\/nginx\/modules \\\n  --conf-path=\/etc\/nginx\/nginx.conf \\\n  --error-log-path=\/var\/log\/nginx\/error.log \\\n  --http-log-path=\/var\/log\/nginx\/access.log \\\n  --pid-path=\/var\/run\/nginx.pid \\\n  --lock-path=\/var\/run\/nginx.lock \\\n  --http-client-body-temp-path=\/var\/cache\/nginx\/client_temp \\\n  --http-proxy-temp-path=\/var\/cache\/nginx\/proxy_temp \\\n  --http-fastcgi-temp-path=\/var\/cache\/nginx\/fastcgi_temp \\\n  --http-uwsgi-temp-path=\/var\/cache\/nginx\/uwsgi_temp \\\n  --http-scgi-temp-path=\/var\/cache\/nginx\/scgi_temp \\\n  --user=nginx \\\n  --group=nginx \\\n  --with-http_ssl_module \\\n  --with-http_realip_module \\\n  --with-http_stub_status_module \\\n  --with-http_v2_module \\\n  --with-http_gzip_static_module \\\n  --with-http_sub_module\n\n# Compila e instala\nsudo make -j$(nproc)\nsudo make install<\/code><\/pre>\n<p>Ap\u00f3s a instala\u00e7\u00e3o, verifique novamente se o m\u00f3dulo <strong>NAXSI<\/strong> est\u00e1 presente no bin\u00e1rio:<\/p>\n<pre><code># Verifica os m\u00f3dulos compilados\nnginx -V 2>&1 | grep -i naxsi<\/code><\/pre>\n<p>A sa\u00edda esperada ser\u00e1 a linha contendo <code>--add-module=\/usr\/local\/src\/naxsi\/naxsi_src<\/code>, confirmando o sucesso da compila\u00e7\u00e3o.<\/p>\n<h3>Configura\u00e7\u00e3o Detalhada do NAXSI: arquivos de regras e diretivas principais<\/h3>\n<p>Agora que o m\u00f3dulo <strong>NAXSI<\/strong> est\u00e1 compilado e instalado, \u00e9 hora de configur\u00e1-lo. O <strong>NAXSI<\/strong> utiliza dois arquivos de regras principais: <code>naxsi_core.rules<\/code> (regras principais) e <code>naxsi.rules<\/code> (regras de configura\u00e7\u00e3o e whitelist). Voc\u00ea deve copiar esses arquivos do diret\u00f3rio de fontes para o diret\u00f3rio de configura\u00e7\u00e3o do <strong>Nginx<\/strong>. Execute os comandos abaixo:<\/p>\n<pre><code># Copia as regras principais do NAXSI para \/etc\/nginx\/\nsudo cp \/usr\/local\/src\/naxsi\/naxsi_config\/naxsi_core.rules \/etc\/nginx\/naxsi_core.rules\n\n# Copia o arquivo de regras de configura\u00e7\u00e3o e whitelist\nsudo cp \/usr\/local\/src\/naxsi\/naxsi_config\/naxsi.rules \/etc\/nginx\/naxsi.rules<\/code><\/pre>\n<p>O arquivo <code>naxsi_core.rules<\/code> cont\u00e9m milhares de regras de detec\u00e7\u00e3o categorizadas por tipo de ataque. Ele \u00e9 fornecido pelo projeto <strong>NAXSI<\/strong> e raramente precisa ser modificado. O arquivo <code>naxsi.rules<\/code> cont\u00e9m as <code>BasicRules<\/code>, <code>CheckRules<\/code> e <code>Whitelists<\/code> que voc\u00ea personalizar\u00e1 de acordo com suas necessidades.<\/p>\n<p>O pr\u00f3ximo passo \u00e9 editar o arquivo <code>\/etc\/nginx\/nginx.conf<\/code> para incluir as diretivas do <strong>NAXSI<\/strong> nos blocos <code>http<\/code>, <code>server<\/code> e <code>location<\/code>. Abaixo est\u00e1 um exemplo completo de configura\u00e7\u00e3o com <strong>NAXSI<\/strong> ativo. Preste aten\u00e7\u00e3o aos coment\u00e1rios explicativos:<\/p>\n<pre><code>user nginx;\nworker_processes auto;\nerror_log \/var\/log\/nginx\/error.log warn;\npid \/var\/run\/nginx.pid;\n\nevents {\n    worker_connections 1024;\n}\n\nhttp {\n    include \/etc\/nginx\/mime.types;\n    default_type application\/octet-stream;\n    sendfile on;\n    keepalive_timeout 65;\n\n    # Inclui as regras principais do NAXSI (MainRules)\n    include \/etc\/nginx\/naxsi_core.rules;\n\n    server {\n        listen 80;\n        server_name exemplo.com.br;\n\n        # Ativa o modo de aprendizado em fase inicial\n        # LearningMode;\n\n        # Ativa o processamento das regras do NAXSI\n        SecRulesEnabled;\n\n        # Define a URL de bloqueio (p\u00e1gina de erro customizada)\n        DeniedUrl \"\/403.html\";\n\n        # Inclui as regras de configura\u00e7\u00e3o e whitelist\n        include \/etc\/nginx\/naxsi.rules;\n\n        # Verifica\u00e7\u00f5es de pontua\u00e7\u00e3o para bloqueio\n        CheckRule \"$SQL >= 8\" BLOCK;\n        CheckRule \"$RFI >= 8\" BLOCK;\n        CheckRule \"$TRAVERSAL >= 5\" BLOCK;\n        CheckRule \"$XSS >= 8\" BLOCK;\n        CheckRule \"$UPLOAD >= 8\" BLOCK;\n        CheckRule \"$EVADE >= 4\" BLOCK;\n\n        location \/ {\n            root \/usr\/share\/nginx\/html;\n            index index.html;\n        }\n\n        location \/403.html {\n            internal;\n            root \/usr\/share\/nginx\/html;\n            return 403;\n        }\n\n        location \/admin {\n            # Ativa prote\u00e7\u00e3o refor\u00e7ada para \u00e1rea administrativa\n            SecRulesEnabled;\n            CheckRule \"$SQL >= 4\" BLOCK;\n            CheckRule \"$XSS >= 4\" BLOCK;\n            proxy_pass http:\/\/127.0.0.1:8080;\n            proxy_set_header Host $host;\n            proxy_set_header X-Real-IP $remote_addr;\n            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        }\n    }\n}<\/code><\/pre>\n<p>Cada diretiva tem um papel crucial. A diretiva <code>SecRulesEnabled;<\/code> ativa o processamento das regras do <strong>NAXSI<\/strong> para o contexto onde est\u00e1 inserida. A diretiva <code>DeniedUrl<\/code> define a URL interna para onde as requisi\u00e7\u00f5es bloqueadas ser\u00e3o redirecionadas. A diretiva <code>CheckRule<\/code> estabelece os limiares de pontua\u00e7\u00e3o por categoria, como <code>$SQL<\/code>, <code>$XSS<\/code>, <code>$RFI<\/code>, <code>$TRAVERSAL<\/code>, <code>$UPLOAD<\/code> e <code>$EVADE<\/code>. Quando a pontua\u00e7\u00e3o acumulada em uma categoria ultrapassa o valor definido, a requisi\u00e7\u00e3o \u00e9 negada com HTTP 403.<\/p>\n<p>O modo de aprendizado, representado pela diretiva <code>LearningMode;<\/code>, \u00e9 fundamental nas primeiras semanas de implanta\u00e7\u00e3o. Com ela ativa, o <strong>NAXSI<\/strong> N\u00c3O bloqueia requisi\u00e7\u00f5es, mas registra em <code>\/var\/log\/nginx\/error.log<\/code> todas as detec\u00e7\u00f5es que teriam sido bloqueadas. Isso permite identificar falsos positivos e criar whitelists antes de ativar o bloqueio real. Para desativar o modo de aprendizado e ativar o bloqueio, basta comentar ou remover a linha <code>LearningMode;<\/code> e recarregar o <strong>Nginx<\/strong>.<\/p>\n<p>O arquivo <code>\/etc\/nginx\/naxsi.rules<\/code> \u00e9 onde voc\u00ea define as <code>BasicRules<\/code> e as <code>Whitelists<\/code>. Abaixo est\u00e1 um exemplo completo de conte\u00fado para esse arquivo, com regras comentadas e explicadas:<\/p>\n<pre><code># Arquivo \/etc\/nginx\/naxsi.rules\n# Regras de configura\u00e7\u00e3o e whitelist do NAXSI\n\n# ===== Whitelists globais =====\n\n# Libera o par\u00e2metro 'query' do aplicativo de busca, que pode conter caracteres especiais\nBasicRule wl:1000 \"mz:ARGS|NAME:query\";\n\n# Libera o cabe\u00e7alho User-Agent para todos os tipos de detec\u00e7\u00e3o SQL\nBasicRule wl:1001 \"mz:HEADERS|NAME:User-Agent\";\n\n# Libera o par\u00e2metro 'token' do tipo XSS\nBasicRule wl:1002 \"mz:ARGS|NAME:token:^[a-zA-Z0-9_-]+$\";\n\n# ===== Regras customizadas =====\n\n# Bloqueia acesso direto a arquivos .env, atribuindo pontua\u00e7\u00e3o alta\nBasicRule str:.env \"mz:URL|BODY|ARGS\" \"s:DENY:10\";\n\n# Bloqueia tentativas de path traversal com padr\u00e3o ..\/ ou ..\\\nBasicRule str:..\/ \"mz:URL|ARGS|BODY\" \"s:TRAVERSAL:8\";\n\n# Detecta a presen\u00e7a da string 'union select' em argumentos e corpo\nBasicRule str:\"union select\" \"mz:ARGS|BODY\" \"s:SQL:8\";\n\n# ===== Fim do arquivo =====<\/code><\/pre>\n<p>Nesse arquivo, as whitelists utilizam a sintaxe <code>BasicRule wl:ID \"contexto:padr\u00e3o\";<\/code>. O <code>ID<\/code> \u00e9 um n\u00famero \u00fanico para cada whitelist. O contexto pode ser <code>mz:ARGS|NAME:query<\/code>, que significa &#8220;apenas o argumento chamado query&#8221;. As regras customizadas utilizam <code>BasicRule<\/code> com o tipo de casamento (<code>str:<\/code> para string literal), o padr\u00e3o a detectar, o contexto e a pontua\u00e7\u00e3o atribu\u00edda. A flag <code>s:<\/code> define a categoria e o escore, por exemplo <code>s:SQL:8<\/code> atribui 8 pontos \u00e0 categoria SQL.<\/p>\n<p>\u00c9 importante destacar que o <strong>NAXSI<\/strong> j\u00e1 possui milhares de regras de detec\u00e7\u00e3o gen\u00e9ricas no arquivo <code>naxsi_core.rules<\/code>. As customiza\u00e7\u00f5es no arquivo <code>naxsi.rules<\/code> servem para refinar a prote\u00e7\u00e3o, adicionar regras espec\u00edficas do seu ambiente ou criar exce\u00e7\u00f5es para evitar falsos positivos. Em nossos projetos na JRT Technology Solutions, sempre recomendamos iniciar com o modo de aprendizado ativado e, ap\u00f3s coletar dados por pelo menos uma semana, revisar os logs e ajustar as whitelists antes de ativar o bloqueio definitivo.<\/p>\n<h3>Verificando a Instala\u00e7\u00e3o \/ Testando a Configura\u00e7\u00e3o<\/h3>\n<p>Ap\u00f3s configurar o <strong>NAXSI<\/strong>, \u00e9 essencial verificar se a instala\u00e7\u00e3o est\u00e1 correta e se o WAF est\u00e1 bloqueando requisi\u00e7\u00f5es maliciosas. O primeiro passo \u00e9 testar a sintaxe do arquivo de configura\u00e7\u00e3o do <strong>Nginx<\/strong>. Execute o comando abaixo:<\/p>\n<pre><code># Testa a sintaxe da configura\u00e7\u00e3o do Nginx\nsudo nginx -t<\/code><\/pre>\n<p>A sa\u00edda esperada, se tudo estiver correto, ser\u00e1:<\/p>\n<pre><code class=\"output\">nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok\nnginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/code><\/pre>\n<p>Em seguida, recarregue o <strong>Nginx<\/strong> para aplicar as altera\u00e7\u00f5es:<\/p>\n<pre><code># Recarrega a configura\u00e7\u00e3o do Nginx\nsudo systemctl reload nginx\n\n# Verifica o status do servi\u00e7o\nsudo systemctl status nginx --no-pager -l | head -20<\/code><\/pre>\n<p>A sa\u00edda esperada do status deve mostrar o <strong>Nginx<\/strong> ativo e sem erros, similar a:<\/p>\n<pre><code class=\"output\">\u25cf nginx.service - A high performance web server and reverse proxy server\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/nginx.service; disabled; vendor preset: disabled)\n   Active: active (running) since Sun 2026-08-30 10:15:22 UTC; 5s ago\n     Docs: man:nginx(8)\n  Process: 12345 ExecStart=\/usr\/sbin\/nginx -c \/etc\/nginx\/nginx.conf (code=exited, status=0\/SUCCESS)\n Main PID: 12346 (nginx)\n    Tasks: 3 (limit: 4915)\n   Memory: 4.2M\n   CGroup: \/system.slice\/nginx.service\n           \u251c\u250012346 nginx: master process \/usr\/sbin\/nginx -c \/etc\/nginx\/nginx.conf\n           \u251c\u250012347 nginx: worker process\n           \u2514\u250012348 nginx: worker process<\/code><\/pre>\n<p>Agora, teste o bloqueio de uma tentativa de SQL injection enviando uma requisi\u00e7\u00e3o maliciosa com <code>curl<\/code>. Execute:<\/p>\n<pre><code># Envia uma requisi\u00e7\u00e3o com payload de SQL injection\ncurl -v \"http:\/\/localhost\/?id=1' OR '1'='1\" 2>&1 | grep -E \"HTTP\/|403|denied\"<\/code><\/pre>\n<p>Se o <strong>NAXSI<\/strong> estiver ativo e configurado corretamente, a sa\u00edda deve mostrar o c\u00f3digo HTTP 403 Forbidden:<\/p>\n<pre><code class=\"output\">< HTTP\/1.1 403 Forbidden\n< Server: nginx\/1.24.0\n< Content-Type: text\/html\n< Content-Length: 153\n< Connection: keep-alive<\/code><\/pre>\n<p>Para confirmar que o bloqueio foi registrado, verifique o log de erros do <strong>Nginx<\/strong>:<\/p>\n<pre><code># Verifica os registros de detec\u00e7\u00e3o do NAXSI no log de erros\nsudo tail -50 \/var\/log\/nginx\/error.log | grep -i naxsi<\/code><\/pre>\n<p>A sa\u00edda esperada deve conter as informa\u00e7\u00f5es da detec\u00e7\u00e3o, incluindo a regra acionada e a pontua\u00e7\u00e3o:<\/p>\n<pre><code class=\"output\">2026\/08\/30 10:20:15 [error] 12348#12348: *1 NAXSI_FMT: ip=127.0.0.1&server=localhost&uri=\/&id=1000&zone=<\/p>\n<div style=\"margin:52px 0 40px;padding:36px 28px;background:linear-gradient(135deg,#0f172a 0%,#1a2744 100%);border:2px solid #25D366;border-radius:18px;text-align:center;box-shadow:0 4px 28px rgba(37,211,102,0.18)\">\n<p style=\"margin:0 0 10px;font-size:18px;color:#ffffff;font-weight:700;line-height:1.4\">Quer aprender na pr\u00e1tica com especialistas?<\/p>\n<p style=\"margin:0 0 28px;font-size:15px;color:#94a3b8;font-weight:400;line-height:1.6\">A JRT Technology Solutions oferece treinamentos e implementa\u00e7\u00e3o de Seguran\u00e7a Linux para equipes corporativas.<\/p>\n<p>  <a href=\"https:\/\/api.whatsapp.com\/send\/?phone=5521980606699&#038;text=Ol%C3%A1!%20Tenho%20interesse%20no%20treinamento%20de%20Seguran%C3%A7a%20Linux.&#038;type=phone_number&#038;app_absent=0\"\n     target=\"_blank\" rel=\"noopener noreferrer\"\n     style=\"display:inline-flex;align-items:center;gap:12px;background:#25D366;color:#ffffff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;font-weight:700;padding:15px 32px;border-radius:100px;text-decoration:none;box-shadow:0 4px 16px rgba(37,211,102,0.45);letter-spacing:0.01em\"><br \/>\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"#ffffff\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/><\/svg><br \/>\n    Falar no WhatsApp<br \/>\n  <\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>O NAXSI \u2014 abrevia\u00e7\u00e3o de Nginx Anti XSS &#038; SQL Injection \u2014 \u00e9 um Web Application Firewall (WAF) de c\u00f3digo aberto projetado especificamente para operar como m\u00f3dulo do Nginx. Diferentemente de solu\u00e7\u00f5es que dependem de assinaturas extensas e atualiza\u00e7\u00f5es constantes, o NAXSI adota um modelo de detec\u00e7\u00e3o baseado em pontua\u00e7\u00e3o e em regras gen\u00e9ricas de &#8230; <a title=\"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o\" class=\"read-more\" href=\"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/\" aria-label=\"Read more about Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o\">Ler mais<\/a><\/p>\n","protected":false},"author":1,"featured_media":2574,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"iawp_total_views":0,"footnotes":""},"categories":[8],"tags":[3395],"class_list":["post-2575","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-falhas-de-seguranca","tag-seguranca-linux-do-zero-ao-avancado-naxsi-waf-alternativo-para-nginx-configuracao-e-regras-de-protecao"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"O NAXSI \u2014 abrevia\u00e7\u00e3o de Nginx Anti XSS &amp; SQL Injection \u2014 \u00e9 um Web Application Firewall (WAF) de c\u00f3digo aberto projetado especificamente para operar como m\u00f3dulo do Nginx. Diferentemente de solu\u00e7\u00f5es que dependem de assinaturas extensas e atualiza\u00e7\u00f5es constantes, o NAXSI adota um modelo de detec\u00e7\u00e3o baseado em pontua\u00e7\u00e3o e em regras gen\u00e9ricas de\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Thiago Paes Rodrigues\"\/>\n\t<meta name=\"google-site-verification\" content=\"QKPfpDCzHmzKyfFk5j1KZW3HhROYTPeqwBN5qcJ8qcg\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_BR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"BLOG - JRT Technology Solutions - Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta property=\"og:description\" content=\"O NAXSI \u2014 abrevia\u00e7\u00e3o de Nginx Anti XSS &amp; SQL Injection \u2014 \u00e9 um Web Application Firewall (WAF) de c\u00f3digo aberto projetado especificamente para operar como m\u00f3dulo do Nginx. Diferentemente de solu\u00e7\u00f5es que dependem de assinaturas extensas e atualiza\u00e7\u00f5es constantes, o NAXSI adota um modelo de detec\u00e7\u00e3o baseado em pontua\u00e7\u00e3o e em regras gen\u00e9ricas de\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"100\" \/>\n\t\t<meta property=\"og:image:height\" content=\"75\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-08-30T21:13:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-08-30T21:13:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61590814880509\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta name=\"twitter:description\" content=\"O NAXSI \u2014 abrevia\u00e7\u00e3o de Nginx Anti XSS &amp; SQL Injection \u2014 \u00e9 um Web Application Firewall (WAF) de c\u00f3digo aberto projetado especificamente para operar como m\u00f3dulo do Nginx. Diferentemente de solu\u00e7\u00f5es que dependem de assinaturas extensas e atualiza\u00e7\u00f5es constantes, o NAXSI adota um modelo de detec\u00e7\u00e3o baseado em pontua\u00e7\u00e3o e em regras gen\u00e9ricas de\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#blogposting\",\"name\":\"Aula 30: NAXSI \\u2014 WAF alternativo para Nginx: configura\\u00e7\\u00e3o e regras de prote\\u00e7\\u00e3o - BLOG - JRT Technology Solutions\",\"headline\":\"Aula 30: NAXSI \\u2014 WAF alternativo para Nginx: configura\\u00e7\\u00e3o e regras de prote\\u00e7\\u00e3o\",\"author\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ai-image-1788124373294.jpg\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 30: NAXSI \\u2014 WAF alternativo para Nginx: configura\\u00e7\\u00e3o e regras de prote\\u00e7\\u00e3o\"},\"datePublished\":\"2026-08-30T18:13:00-03:00\",\"dateModified\":\"2026-08-30T18:13:00-03:00\",\"inLanguage\":\"pt-BR\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#webpage\"},\"articleSection\":\"Falhas de Seguran\\u00e7a, Seguran\\u00e7a Linux \\u2014 Do Zero ao Avan\\u00e7ado: NAXSI \\u2014 WAF alternativo para Nginx: configura\\u00e7\\u00e3o e regras de prote\\u00e7\\u00e3o\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jrtx.com.br\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/falhas-de-seguranca\\\/#listItem\",\"name\":\"Falhas de Seguran\\u00e7a\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/falhas-de-seguranca\\\/#listItem\",\"position\":2,\"name\":\"Falhas de Seguran\\u00e7a\",\"item\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/falhas-de-seguranca\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#listItem\",\"name\":\"Aula 30: NAXSI \\u2014 WAF alternativo para Nginx: configura\\u00e7\\u00e3o e regras de prote\\u00e7\\u00e3o\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#listItem\",\"position\":3,\"name\":\"Aula 30: NAXSI \\u2014 WAF alternativo para Nginx: configura\\u00e7\\u00e3o e regras de prote\\u00e7\\u00e3o\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/falhas-de-seguranca\\\/#listItem\",\"name\":\"Falhas de Seguran\\u00e7a\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\",\"name\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"description\":\"Um espa\\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\\u00e1tica e atual. Aqui voc\\u00ea encontra novidades, an\\u00e1lises, tutoriais e reflex\\u00f5es sobre inova\\u00e7\\u00e3o, intelig\\u00eancia artificial, gadgets, programa\\u00e7\\u00e3o e tend\\u00eancias digitais. Nosso objetivo \\u00e9 simplificar o complexo, ajudar voc\\u00ea a se manter atualizado e transformar conhecimento em pr\\u00e1tica no seu dia a dia.\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/\",\"telephone\":\"+552138277513\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/cropped-logo-mini.jpg\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#organizationLogo\",\"width\":100,\"height\":75},\"image\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61590814880509\",\"https:\\\/\\\/www.instagram.com\\\/jrtx.tech\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/\",\"name\":\"Thiago Paes Rodrigues\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#authorImage\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/cropped-foto-rascunho3-96x96.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Thiago Paes Rodrigues\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#webpage\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/\",\"name\":\"Aula 30: NAXSI \\u2014 WAF alternativo para Nginx: configura\\u00e7\\u00e3o e regras de prote\\u00e7\\u00e3o - BLOG - JRT Technology Solutions\",\"description\":\"O NAXSI \\u2014 abrevia\\u00e7\\u00e3o de Nginx Anti XSS & SQL Injection \\u2014 \\u00e9 um Web Application Firewall (WAF) de c\\u00f3digo aberto projetado especificamente para operar como m\\u00f3dulo do Nginx. Diferentemente de solu\\u00e7\\u00f5es que dependem de assinaturas extensas e atualiza\\u00e7\\u00f5es constantes, o NAXSI adota um modelo de detec\\u00e7\\u00e3o baseado em pontua\\u00e7\\u00e3o e em regras gen\\u00e9ricas de\",\"inLanguage\":\"pt-BR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ai-image-1788124373294.jpg\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#mainImage\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 30: NAXSI \\u2014 WAF alternativo para Nginx: configura\\u00e7\\u00e3o e regras de prote\\u00e7\\u00e3o\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/30\\\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\\\/#mainImage\"},\"datePublished\":\"2026-08-30T18:13:00-03:00\",\"dateModified\":\"2026-08-30T18:13:00-03:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/\",\"name\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"alternateName\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"description\":\"Um espa\\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\\u00e1tica e atual. Aqui voc\\u00ea encontra novidades, an\\u00e1lises, tutoriais e reflex\\u00f5es sobre inova\\u00e7\\u00e3o, intelig\\u00eancia artificial, gadgets, programa\\u00e7\\u00e3o e tend\\u00eancias digitais. Nosso objetivo \\u00e9 simplificar o complexo, ajudar voc\\u00ea a se manter atualizado e transformar conhecimento em pr\\u00e1tica no seu dia a dia.\",\"inLanguage\":\"pt-BR\",\"publisher\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o - BLOG - JRT Technology Solutions","description":"O NAXSI \u2014 abrevia\u00e7\u00e3o de Nginx Anti XSS & SQL Injection \u2014 \u00e9 um Web Application Firewall (WAF) de c\u00f3digo aberto projetado especificamente para operar como m\u00f3dulo do Nginx. Diferentemente de solu\u00e7\u00f5es que dependem de assinaturas extensas e atualiza\u00e7\u00f5es constantes, o NAXSI adota um modelo de detec\u00e7\u00e3o baseado em pontua\u00e7\u00e3o e em regras gen\u00e9ricas de","canonical_url":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"QKPfpDCzHmzKyfFk5j1KZW3HhROYTPeqwBN5qcJ8qcg","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#blogposting","name":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o - BLOG - JRT Technology Solutions","headline":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o","author":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"publisher":{"@id":"https:\/\/jrtx.com.br\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/08\/ai-image-1788124373294.jpg","width":1440,"height":1024,"caption":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o"},"datePublished":"2026-08-30T18:13:00-03:00","dateModified":"2026-08-30T18:13:00-03:00","inLanguage":"pt-BR","mainEntityOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#webpage"},"isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#webpage"},"articleSection":"Falhas de Seguran\u00e7a, Seguran\u00e7a Linux \u2014 Do Zero ao Avan\u00e7ado: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o"},{"@type":"BreadcrumbList","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog#listItem","position":1,"name":"Home","item":"https:\/\/jrtx.com.br\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/#listItem","name":"Falhas de Seguran\u00e7a"}},{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/#listItem","position":2,"name":"Falhas de Seguran\u00e7a","item":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#listItem","name":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#listItem","position":3,"name":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o","previousItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/#listItem","name":"Falhas de Seguran\u00e7a"}}]},{"@type":"Organization","@id":"https:\/\/jrtx.com.br\/blog\/#organization","name":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","description":"Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","url":"https:\/\/jrtx.com.br\/blog\/","telephone":"+552138277513","logo":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#organizationLogo","width":100,"height":75},"image":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61590814880509","https:\/\/www.instagram.com\/jrtx.tech\/"]},{"@type":"Person","@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author","url":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/","name":"Thiago Paes Rodrigues","image":{"@type":"ImageObject","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#authorImage","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/09\/cropped-foto-rascunho3-96x96.jpeg","width":96,"height":96,"caption":"Thiago Paes Rodrigues"}},{"@type":"WebPage","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#webpage","url":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/","name":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o - BLOG - JRT Technology Solutions","description":"O NAXSI \u2014 abrevia\u00e7\u00e3o de Nginx Anti XSS & SQL Injection \u2014 \u00e9 um Web Application Firewall (WAF) de c\u00f3digo aberto projetado especificamente para operar como m\u00f3dulo do Nginx. Diferentemente de solu\u00e7\u00f5es que dependem de assinaturas extensas e atualiza\u00e7\u00f5es constantes, o NAXSI adota um modelo de detec\u00e7\u00e3o baseado em pontua\u00e7\u00e3o e em regras gen\u00e9ricas de","inLanguage":"pt-BR","isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#breadcrumblist"},"author":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"creator":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/08\/ai-image-1788124373294.jpg","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#mainImage","width":1440,"height":1024,"caption":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o"},"primaryImageOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/#mainImage"},"datePublished":"2026-08-30T18:13:00-03:00","dateModified":"2026-08-30T18:13:00-03:00"},{"@type":"WebSite","@id":"https:\/\/jrtx.com.br\/blog\/#website","url":"https:\/\/jrtx.com.br\/blog\/","name":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","alternateName":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","description":"Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","inLanguage":"pt-BR","publisher":{"@id":"https:\/\/jrtx.com.br\/blog\/#organization"}}]},"og:locale":"pt_BR","og:site_name":"BLOG - JRT Technology Solutions - Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","og:type":"article","og:title":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o - BLOG - JRT Technology Solutions","og:description":"O NAXSI \u2014 abrevia\u00e7\u00e3o de Nginx Anti XSS &amp; SQL Injection \u2014 \u00e9 um Web Application Firewall (WAF) de c\u00f3digo aberto projetado especificamente para operar como m\u00f3dulo do Nginx. Diferentemente de solu\u00e7\u00f5es que dependem de assinaturas extensas e atualiza\u00e7\u00f5es constantes, o NAXSI adota um modelo de detec\u00e7\u00e3o baseado em pontua\u00e7\u00e3o e em regras gen\u00e9ricas de","og:url":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/","og:image":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","og:image:secure_url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","og:image:width":100,"og:image:height":75,"article:published_time":"2026-08-30T21:13:00+00:00","article:modified_time":"2026-08-30T21:13:00+00:00","article:publisher":"https:\/\/www.facebook.com\/profile.php?id=61590814880509","twitter:card":"summary_large_image","twitter:title":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o - BLOG - JRT Technology Solutions","twitter:description":"O NAXSI \u2014 abrevia\u00e7\u00e3o de Nginx Anti XSS &amp; SQL Injection \u2014 \u00e9 um Web Application Firewall (WAF) de c\u00f3digo aberto projetado especificamente para operar como m\u00f3dulo do Nginx. Diferentemente de solu\u00e7\u00f5es que dependem de assinaturas extensas e atualiza\u00e7\u00f5es constantes, o NAXSI adota um modelo de detec\u00e7\u00e3o baseado em pontua\u00e7\u00e3o e em regras gen\u00e9ricas de","twitter:image":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg"},"aioseo_meta_data":{"post_id":"2575","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-09-01 14:23:37","updated":"2026-09-01 14:57:13","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtx.com.br\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/\" title=\"Falhas de Seguran\u00e7a\">Falhas de Seguran\u00e7a<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/jrtx.com.br\/blog"},{"label":"Falhas de Seguran\u00e7a","link":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/"},{"label":"Aula 30: NAXSI \u2014 WAF alternativo para Nginx: configura\u00e7\u00e3o e regras de prote\u00e7\u00e3o","link":"https:\/\/jrtx.com.br\/blog\/2026\/08\/30\/aula-30-naxsi-waf-alternativo-para-nginx-configuracao-e-regr\/"}],"_links":{"self":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/2575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/comments?post=2575"}],"version-history":[{"count":0,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/2575\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media\/2574"}],"wp:attachment":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}