NgixProxy_Pathfinder/.gemini/workflows/hardening_guidelines.md

4.0 KiB

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.