diff --git a/README.md b/README.md new file mode 100644 index 0000000..89053c4 --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# Nginx Pathfinder - Sites e Configurações + +Este diretório é o cérebro operacional do Proxy. Aqui ficam as definições de domínios, snippets de configuração e persistência de logs/segurança. + +## 🧠 O que este repositório faz: +* **Gerenciamento de Sites:** Definição de VHosts em `conf.d/`. +* **Snippets Reutilizáveis:** Componentes de configuração (SSL, Proxy, WAF, ACME). +* **Segurança Dinâmica:** Gerenciamento da `blacklist.conf` alimentada pelo Fail2Ban. +* **Análise de Dados:** Logs detalhados em formato JSON (`detailed_proxy`). +* **Certificados:** Persistência de SSL via Certbot. + +## 📂 Estrutura de Pastas +```text +. +├── nginx.conf # Configuração mestre (Global) +├── conf.d/ # Arquivos de site (Ex: dominio.com.br.conf) +├── snippets/ # Peças modulares (SSL, ModSec, Proxy, Blacklist) +├── modsec/ # Regras do WAF e OWASP CRS +└── logs/ # Logs JSON para análise e Fail2Ban +``` + +## 🛠️ Como Adicionar um Site +1. Crie o arquivo em `conf.d/meusite.conf`. +2. Utilize os snippets para manter o padrão: +```nginx +server { + listen 443 quic reuseport; # HTTP3 + listen 443 ssl; + server_name meusite.com.br; + + include snippets/ssl_params.conf; + include snippets/proxy_params.conf; + include snippets/modsecurity.conf; + + location / { + proxy_pass http://ip_interno:porta; + } +} +``` +3. Valide e aplique as mudanças usando o script na pasta de produção: +`../producao/safe-deploy.sh` + +--- + +> [!NOTE] +> **Gestão do Motor:** Para atualizar a imagem docker, portas ou o Fail2Ban, utilize o repositório: +> [NGINX Pathfinder - Infraestrutura](../producao)