naxsi: Módulo Anti XSS & SQL Injection do NGINX
Instalação
Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:
- RedHat Enterprise Linux 7, 8, 9 e 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 e Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-naxsi
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-naxsi
Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:
load_module modules/ngx_http_naxsi_module.so;
Este documento descreve o nginx-module-naxsi v1.6 lançado em 28 de novembro de 2023.

O que é Naxsi?
NAXSI significa Nginx Anti XSS & SQL Injection.
Tecnicamente, é um módulo de terceiros do nginx, disponível como um pacote para muitas plataformas semelhantes ao UNIX. Este módulo, por padrão, lê um pequeno subconjunto de regras simples (e legíveis) contendo 99% dos padrões conhecidos envolvidos em vulnerabilidades de sites. Por exemplo, <, | ou drop não devem fazer parte de uma URI.
Sendo muito simples, esses padrões podem coincidir com consultas legítimas, é dever do administrador do Naxsi adicionar regras específicas que irão permitir comportamentos legítimos. O administrador pode adicionar listas de permissões manualmente analisando o log de erros do nginx, ou (recomendado) iniciar o projeto com uma fase intensiva de auto-aprendizagem que irá gerar automaticamente regras de whitelist em relação ao comportamento de um site.
Em resumo, o Naxsi se comporta como um firewall que descarta por padrão, a única tarefa é adicionar as regras de ACEITAR necessárias para que o site alvo funcione corretamente.
Por que é diferente?
Ao contrário da maioria dos Firewalls de Aplicações Web, o Naxsi não depende de uma base de assinaturas como um antivírus, e, portanto, não pode ser contornado por um padrão de ataque "desconhecido".
O Naxsi é Software Livre (no sentido de liberdade) e gratuito (no sentido de cerveja grátis) para usar.
Em que ele roda?
O Naxsi deve ser compatível com qualquer versão do nginx.
Ele depende do libpcre para seu suporte a regexp e é relatado que funciona muito bem no NetBSD, FreeBSD, OpenBSD, Debian, Ubuntu e CentOS.
Por que usar este repositório
O projeto original está (oficialmente) abandonado, mas você pode solicitar suporte aqui, pois estou disposto a manter o projeto funcionando como o último desenvolvedor remanescente.
Documentação
Suporte
Você pode solicitar suporte em relação ao NAXSI aqui ou no repositório original https://github.com/nbs-system/naxsi
Planos futuros
- Reintroduzir o nxapi via py3
- Criação de uma ferramenta simples para criar regras e testá-las
GitHub
Você pode encontrar dicas de configuração adicionais e documentação para este módulo no repositório do GitHub para nginx-module-naxsi.