Repositorio onde Ficará todos os arquivos de configuraçao do nosso proxy com atualização automatica aqui assim que for mudado qualquer coisa nele.
Go to file
João Pedro Toledo Goncalves aa219f8510 Merge branch 'producao' of https://git.itguys.com.br/joao.goncalves/NgixProxy_Pathfinder into producao 2026-02-07 01:56:37 -03:00
.gemini feat(nginx): Recompilacao com Stream, AIO threads e correcao de logs 2026-02-07 01:55:53 -03:00
antes-do-docker feat(nginx): Recompilacao com Stream, AIO threads e correcao de logs 2026-02-07 01:55:53 -03:00
fail2ban/data feat(elite): expansao da stack elite 2026 - modulos, performance, forense e upgrade zero-downtime 2026-02-07 00:20:07 -03:00
nginx feat(elite): expansao da stack elite 2026 - modulos, performance, forense e upgrade zero-downtime 2026-02-07 00:20:07 -03:00
producao@78c3c82a69 feat(nginx): Recompilacao com Stream, AIO threads e correcao de logs 2026-02-07 01:55:53 -03:00
scripts feat(elite): expansao da stack elite 2026 - modulos, performance, forense e upgrade zero-downtime 2026-02-07 00:20:07 -03:00
temp_deploy/fail2ban feat(nginx): Recompilacao com Stream, AIO threads e correcao de logs 2026-02-07 01:55:53 -03:00
.gitignore chore: pivot repository to configuration-only (removed docker artifacts and sensitive data) 2026-02-06 16:41:59 -03:00
README.md feat(elite): expansao da stack elite 2026 - modulos, performance, forense e upgrade zero-downtime 2026-02-07 00:20:07 -03:00
snippets.tar.gz feat(nginx): Recompilacao com Stream, AIO threads e correcao de logs 2026-02-07 01:55:53 -03:00

README.md

🛡️ Nginx Pathfinder Proxy

Este repositório é o núcleo de inteligência e configuração do Pathfinder Proxy, instalado nativamente em Ubuntu 24.04. Ele combina performance extrema (HTTP/3, Brotli) com um motor de segurança multicamadas (PSDE + WAF + Fail2Ban).


🏗️ Estrutura de Pastas e Componentes

A configuração é modular para permitir manutenção rápida e alta disponibilidade.

  • nginx.conf: O "cérebro" global. Configura workers, logs JSON e carrega os módulos dinâmicos.
  • conf.d/: Contém as definições de cada site (VHosts).
  • snippets/: Componentes reutilizáveis (SSL, Proxy, Cache, WAF, Headers).
  • modsec/: Configuração do ModSecurity, regras OWASP CRS v4 e tunings específicos.
  • dynamic/: Arquivos modificados em tempo real (ex: blacklist.conf pelo Fail2Ban).
  • scripts/: Scripts de utilidade (Ex: install_modsecurity.sh).

🧩 Guia de Snippets (Uso Obrigatório)

Para garantir o Padrão Ouro, todo site deve incluir os snippets básicos:

  1. include snippets/ssl_params.conf;: Ativa TLS 1.3, HSTS e anuncia HTTP/3 (QUIC).
  2. include snippets/proxy_params.conf;: Headers padrão e ofuscação de tecnologia de backend (Server, X-Powered-By).
  3. include snippets/security_headers.conf;: Headers de 2026 (COOP, COEP, CORP) para proteção de isolamento do navegador.
  4. include snippets/modsecurity.conf;: Ativa o WAF e a Blacklist dinâmica.
  5. include snippets/security_actions.conf;: Toma a decisão final de bloquear (444) se o motor PSDE detectar risco alto.
  6. include snippets/cache_optimizer.conf;: Otimiza a entrega de estáticos com cache inteligente (SWR).

🛡️ Camada de WAF (ModSecurity 3.0.14)

O Pathfinder Proxy utiliza o ModSecurity v3 compilado sob medida para o Nginx Mainline.

  • Versão Nginx: 1.29.5 Mainline (Oficial).
  • Versão ModSec: 3.0.14.
  • Regras: OWASP Core Rule Set (CRS) v4.
  • Plugins: Utiliza plugins oficiais do CRS para Nextcloud e WordPress, garantindo zero falsos positivos nessas plataformas.
  • Tuning: Arquivo modsec/app_specific_modsec_tuning.conf centraliza exceções para UniFi, vCenter, Exchange, Zabbix e Veeam.

🧠 Motor de Segurança PSDE (Pathfinder Security Engine)

Diferente de firewalls comuns, o Pathfinder usa o security_maps.conf para calcular um Security Score em tempo real baseado em:

  • Bad Bots: Crawlers maliciosos e ferramentas de scan.
  • Suspicious URIs: Tentativas de acesso a .env, wp-admin, .git, etc.
  • Methods: Bloqueio de métodos HTTP incomuns em rotas sensíveis.
  • Risk Level: Traduz o score em níveis (Limpo, Suspeito, Crítico) para os logs JSON.

🛠️ Workflow Operacional: Ativando um Novo Site

Siga este procedimento para colocar um novo sistema no ar com segurança máxima:

1. Preparação no Repositório (Local)

  1. Crie o arquivo nginx/conf.d/nome-do-site.conf seguindo o Padrão Ouro.
  2. Atenção: Aponte os caminhos de certificado para /etc/letsencrypt/live/nome-do-site/.
  3. Faça o commit e push para a branch producao.

2. Sincronização no Servidor (SSH)

  1. Entre no servidor e vá para o diretório de scripts: cd /etc/nginx/scripts/.
  2. Execute o deploy seguro: sudo python3 deploy_pathfinder.py.
    • Nota: Este script faz backup automático e rollback se a configuração estiver errada.

Automação de Deploy (Safe-Rollback)

O Pathfinder inclui um script robusto para evitar downtime:

  • scripts/deploy_pathfinder.py:
    • Faz backup datado de /etc/nginx e /etc/fail2ban.
    • Sincroniza os novos arquivos da pasta temporária.
    • Valida com nginx -t.
    • Auto-Rollback: Se houver erro (ex: módulo Brotli faltando), ele restaura os backups originais e reinicia os serviços em milissegundos.

🔐 Gestão de SSL (Let's Encrypt)

O Pathfinder Proxy usa o desafio HTTP-01 via snippet acme_challenge.conf. Isso permite emitir certificados sem parar o Nginx.

Emissão do Primeiro Certificado

Rode os comandos abaixo (substitua o domínio):

  1. Criar pasta de desafios (se não existir):

    sudo mkdir -p /var/lib/letsencrypt && sudo chown www-data:www-data /var/lib/letsencrypt
    
  2. Gerar o certificado:

    sudo certbot certonly --webroot -w /var/lib/letsencrypt/ -d meusite.com.br -d www.meusite.com.br
    

[!TIP] Atenção aos Caminhos: Se o Certbot gerar uma pasta com final -0001, certifique-se de que o arquivo .conf do seu site em /etc/nginx/conf.d/ aponta para o caminho exato gerado por ele. Você pode conferir os caminhos ativos com sudo certbot certificates.


🚀 Manutenção e Logs

Recompilar WAF e Performance (Se necessário)

Se o Nginx for atualizado ou se precisar habilitar o Brotli, o módulo precisará ser recompilado usando o script: sudo ./scripts/setup_pathfinder.sh

Validação

Sempre teste a configuração antes do reload:

sudo nginx -t
sudo systemctl reload nginx

Auditoria em Tempo Real

Para visualizar ataques bloqueados e o PSDE Scoring em formato amigável: tail -f /var/log/nginx/access_json.log | jq (necessários logs JSON ativos e jq instalado).