NgixProxy_Pathfinder/README.md

2.4 KiB

Nginx Pathfinder Proxy - Repositório de Configuração

Este repositório é a fonte da verdade para as configurações do Pathfinder Proxy. Ele armazena as definições de domínios, segurança e parâmetros do Nginx e Fail2Ban.

[!IMPORTANT] Repositório de Configuração (Config Management): Este repositório NÃO gerencia a execução do Docker, build de imagens ou certificados SSL. Ele serve apenas para versionar os arquivos .conf que serão baixados no servidor.

🧠 O que este repositório armazena:

  • Gerenciamento de Sites: Definição de VHosts em nginx/conf.d/.
  • Snippets Reutilizáveis: Componentes modulares (SSL, Proxy, WAF) em nginx/snippets/.
  • Segurança Dinâmica: Estrutura para blacklist.conf (alimentada externamente).
  • Fail2Ban: Regras de jails e filters customizados em fail2ban/.

📂 Estrutura de Pastas

.
├── nginx/
│   ├── nginx.conf           # Configuração mestre (Global)
│   ├── conf.d/              # Arquivos de site (Ex: ferreirareal.com.br.conf)
│   ├── snippets/            # Peças modulares (SSL, ModSec, Proxy, Blacklist)
│   ├── dynamic/             # Configurações dinâmicas (Blacklist - gerado pelo Fail2Ban)
│   └── modsec/              # Regras do WAF
└── fail2ban/                # Configurações do sidecar de segurança

🛠️ Como Adicionar um Site

  1. Crie o arquivo em nginx/conf.d/meusite.conf.
  2. Utilize os snippets para manter o padrão e segurança:
server {
    listen 443 quic reuseport; # Suporte a HTTP/3
    listen 443 ssl;
    server_name meusite.com.br;

    # Certificados (Gerenciados no Servidor/Portainer)
    ssl_certificate /etc/letsencrypt/live/meusite.com.br/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/meusite.com.br/privkey.pem;

    include snippets/ssl_params.conf;
    include snippets/proxy_params.conf;
    include snippets/modsecurity.conf;

    location / {
        proxy_pass http://ip_interno:porta;
    }
}
  1. Commit e Push para a branch producao.
  2. No servidor (Portainer/Docker), faça o Pull das alterações.

⚙️ Notas Operacionais

  • Logs e SSL: As pastas logs, ssl e certbot não são versionadas aqui para segurança. Elas existem apenas no servidor.
  • Fail2Ban: O Fail2Ban lê os logs do Nginx e escreve bloqueios em nginx/dynamic/blacklist.conf.