--- description: Guia detalhado para garantir a segurança máxima (Hardening) em sites e no sistema Pathfinder Proxy. --- # Workflow: Hardening de Segurança Pathfinder Este workflow orienta o agente na aplicação das proteções mais rígidas para o ecossistema Nginx + ModSecurity + Fail2Ban. ### 1. Uso de Snippets de Segurança Existentes Sempre utilize os snippets em `producao/nginx/snippets/` como base: - **`ssl_params.conf`**: Configuração base de TLS e HTTP/3. - **`security_headers.conf`**: Headers de borda modernos (Referrer, COOP, COEP). - **`modsecurity.conf`**: Ativação do WAF e integração com a `blacklist.conf`. - **`security_maps.conf`**: Inteligência de Scoring (PSDE). - **`security_actions.conf`**: Decisão final de bloqueio (444). - **`well_known.conf`**: Agregador de arquivos de raiz (robots, security, humans). - **`rate_limit.conf`**: Limites de tráfego e zonas de punição. ### 2. Criação de Novos Snippets Se as proteções atuais não forem suficientes para um sistema específico: - **Crie um novo snippet** em `producao/nginx/snippets/` com nome descritivo. - **Siga o padrão**: Use comentários claros e mantenha a modularidade. - **Documentação Obrigatória**: Se criar um snippet novo, você **DEVE** adicionar sua descrição na seção `🛠️ Snippets` do arquivo `GEMINI.md` imediatamente. ### 3. Reforço da Camada SSL/TLS (Snippet `ssl_params`) - **Protocolos**: Garanta o uso exclusivo de TLS 1.2 e TLS 1.3. Desative versões legadas. - **HSTS**: Verifique se o header `Strict-Transport-Security` está ativo com pelo menos 1 ano (`31536000s`) e inclui subdomínios. - **OCSP Stapling**: Certifique-se de que a validação de certificado é feita no servidor para reduzir latência e aumentar a privacidade. - **HTTP/3**: Sempre anuncie os headers de QUIC (`Alt-Svc`) para navegadores compatíveis. ### 4. Implementação de Headers de Proteção de Borda - **Anti-Clickjacking**: Use `X-Frame-Options: SAMEORIGIN` em todos os VHosts, a menos que o site precise ser emoldurado por domínios específicos. - **Anti-Sniffing**: O header `X-Content-Type-Options: nosniff` deve ser obrigatório para evitar que o navegador execute arquivos com tipos MIME incorretos. - **Segurança de Conteúdo (CSP)**: Analise os recursos (Scripts, Imagens, Estilos) e crie uma política que restrinja fontes externas não confiáveis. - **Permissions-Policy**: Desative acessos desnecessários a hardware (Câmera, Microfone, Geolocalização) diretamente no nível de header. ### 5. Orquestração ModSecurity + PSDE - **Motor Ativo**: O ModSecurity deve estar em modo de bloqueio (`SecRuleEngine On`) para todas as rotas sensíveis. - **Sincronização com PSDE**: A lógica descrita no `security_maps.conf` deve atuar como a primeira linha de defesa (Fast-fail) para bots e URIs suspeitas. - **Tratamento de Falsos Positivos**: Em caso de bloqueio indevido, a correção deve ser feita via remoção seletiva de regras por ID nos respectivos VHosts. ### 6. Blindagem contra Robôs e Scrapers (Snippet `well_known`) - **Arquivos de Raiz (Well-Known)**: Utilize o snippet `well_known.conf` que já consolida as melhores práticas de identificação e bloqueio. - **`robots_disallow.conf`**: Já configurado para retornar `Disallow: /`, instruindo robôs legítimos a não indexarem o site. - **`security.txt.conf`**: Define o contato padrão de segurança (`mailto:suporte@itguys.com.br`). - **`ads_disallow.conf`**: Bloqueia vendedores de anúncios não autorizados. - **Bloqueio de IA e Má-Fé**: O sistema já possui no `security_maps.conf` uma lista extensa de assinaturas de IAs (GPTBot, ClaudeBot, Gemini-Ai, etc.) e Scrapers que ignoram o `robots.txt`. O agente deve apenas garantir que este mapeamento esteja ativo via `security_actions.conf`. ### 7. Gestão de Blacklist e Fail2Ban - **Ação do Firewall**: O Nginx deve incluir o snippet `blacklist.conf` dentro do bloco do ModSecurity. - **Isolamento de Erros**: Configurações de VHost que geram excesso de erros 403/404 devem ser monitoradas agressivamente pelo Fail2Ban.