From 93d0324426d1949287fdbdfd5519e21d4685adb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Toledo?= Date: Sat, 7 Feb 2026 12:46:56 -0300 Subject: [PATCH] docs(README): finalize 7-vector WAF documentation and combinatorial matrix details --- README.md | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index bbc763f..bbd2058 100644 --- a/README.md +++ b/README.md @@ -73,17 +73,31 @@ O Pathfinder Proxy utiliza o **ModSecurity v3** compilado sob medida para o Ngin - **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. +- **CVE Hardening**: Regras específicas para vulnerabilidades críticas de 2024-2025: + - **WordPress**: Auth Bypass (Really Simple Security) e Plugin Installs maliciosos. + - **React/Metro**: Proteção contra RCE (React2Shell/Metro4Shell). + - **Servidores**: Mitigação de exploits em Nginx (IngressNightmare), Apache (Source Disclosure) e IIS. + - **Infra**: Bloqueio de exfiltração em PostgreSQL e bypass em FortiWeb/ScreenConnect. - **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) +## 🧠 Motor de Segurança PSDE "Elite" (7-Vector Matrix) -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. +Diferente de firewalls comuns, o Pathfinder utiliza uma **Matriz de Pontuação Combinatória** no `security_maps.conf` que analisa 7 vetores simultâneos: + +1. **🛡️ Bot:** Bloqueio de 600+ user-agents maliciosos. +2. **🌐 URI:** Acesso a arquivos sensíveis e assinaturas de CVEs recentes. +3. **⚙️ Method:** Métodos HTTP perigosos (TRACE, DEBUG) em rotas críticas. +4. **🔥 Payload:** Inspeção profunda de `$args` (SQLi, XSS, RCE, Log4j). +5. **🌍 Geo:** Risco por país (CN, RU, KP, IR) via **GeoIP2**. +6. **🚦 Protocol:** Violações como User-Agents vazios ou falsificados. +7. **🔗 Referer:** 400+ domínios de spam e phishing bloqueados instantaneamente. + +### 📈 Lógica de Decisão +- **Nivel 3 (ATAQUE_CRITICO)**: Payloads maliciosos, Referer Spam ou qualquer combinação de 3+ vetores. +- **Nivel 2 (RISCO_ALTO)**: Combinação de 2 vetores de risco (ex: Bot + Geo-Risco). +- **Nivel 1 (SUSPEITO)**: Detecção de sinais individuais. --- @@ -148,8 +162,11 @@ 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). +### Auditoria e Diagnósticos +O Pathfinder agora reporta a **razão exata** do bloqueio nos logs JSON: +`tail -f /var/log/nginx/access_json.log | jq -r '"[\(.risk_category)] -> \(.risk_reason) | \(.request)"'` + +- **`risk_category`**: TAG curta para máquinas (LIMPO, SUSPEITO, RISCO_ALTO, ATAQUE_CRITICO). +- **`risk_reason`**: Motivo humano detalhado (ex: "COMBINACAO: Bot conhecido em local sensivel"). --- \ No newline at end of file