Motore delle minacce
26 categorie, resistenza all'evasione a doppio passaggio, tag MITRE. Questa pagina offre una panoramica sincera: cosa viene rilevato, cosa no e dove leggere i dettagli.
Cosa NON fa: limiti e falsi positivi
La credibilita deriva dal dichiarare i limiti. Leggi questa sezione prima di fidarti di un report.
| Limite | Perche | Cosa fare |
|---|---|---|
| Basato su pattern, non semantico | Cerca sottostringhe di payload note, non esegue codice | Esamina gli IP raggruppati: non bloccare automaticamente con confidenza bassa |
| Filtro di confidenza | Il valore predefinito di guard è --detect-confidence 8; alcuni hit sono 5–6 | Aumenta a 9 per app più rumorose; 0 disabilita solo i blocchi da pattern, non guard |
| I percorsi legittimi possono sembrare dannosi | ?url=https://…, ?code={{var}}, __proto__ nella documentazione | Usa --never-block / whitelist e controlla -f html prima di bloccare |
| Le euristiche comportamentali richiedono stato | ua_rotation, object_enumeration, beaconing richiedono ≥10 campioni per IP/percorso | Esegui su ≥1h di traffico; i log con una singola richiesta non le attivano |
| Non e un WAF | Rilevamento offline/al momento del log, non blocco inline delle richieste | Usa guard per bloccare dopo il rilevamento; non aspettarti un deny prima della richiesta |
| GeoIP/blocklist sono best-effort | DB-IP lite + 8 feed, cache 7g, rete necessaria per l'aggiornamento | Fissa --geoip-db e controlla l'eta di blocklist list |
guard che modifica il firewall e contrassegnato con modifica il firewall. Su un host remoto, usa sempre --never-block YOUR_IP. In caso di dubbi, usa prima i comandi in sola lettura (blocklist list, --detect -f html).Protezione dall'auto-ban e falsi positivi
Il default di guard --protect-self=true esclude dai ban gli IP rilevati delle interfacce e di uscita pubblica del server, inclusi quelli dinamici e le subnet che li contengono. Non considera sicura ogni richiesta periodica e non autorizza automaticamente altri utenti. Le sorgenti dietro lo stesso NAT che arrivano con l'IP pubblico protetto condividono l'esenzione. Gli IP amministratore espliciti vanno ancora in --never-block/whitelist; Fail2Ban e i comandi manuali block sono separati.
Il rilevamento richiede HTTPS diretto. Un errore impedisce l'avvio o sospende i nuovi ban, indicando --protect-self=false. Disabilitalo e usa whitelist esplicite nelle reti limitate. Consulta guard per aggiornamento, rimozione dei ban salvati e ambito.
Cosa fa
- Motore a doppio passaggio — ogni URI viene controllato sia grezzo sia dopo URL-unescape (split
?+PathUnescape/QueryUnescape+ fallback manuale%) per rilevare bypass%2e%2ee doppia codifica. Guard esegue lo stessoDetectorper finestra. - 26 categorie — da
sql_injectionabeaconing, ognuna etichettata con ID MITRE ATT&CK verificati. - Raggruppato per IP — il report dei sospetti mostra gli IP principali con confidenza, URI e tecniche.
- Esportabile — 23 categorie basate su pattern come regole Sigma; le 3 comportamentali (
ua_rotation,object_enumeration,beaconing) sono stateful e non vengono esportate.
Dove proseguire
Verifica rapida
caddy-analyze --detect testdata/sample.log
# should list 26 categories firing (68 lines, all TEST-NET)
caddy-analyze --detect -f html -o report.html testdata/large.log && open report.html
caddy-analyze tail docker://caddy --detect # live, severity-colored