Metodologia del Quick Check
Cosa esegue la scansione, con quali strumenti, come calcoliamo i punteggi CVSS e il punteggio di sicurezza, e cosa resta fuori.
Ultimo aggiornamento: · Hyperion S.r.l.
In breve
Il Quick Check di Tessera è una scansione automatica, dall'esterno e senza credenziali, che esegue quattro controlli in sequenza: header di sicurezza HTTP, configurazione TLS con testssl.sh, vulnerabilità note con Nuclei e scansione applicativa con OWASP ZAP. Ogni problema riceve un punteggio CVSS v3.1 calcolato con la formula ufficiale di FIRST e un livello di rischio derivato da quel punteggio. Il report dichiara sempre cosa non è stato testato.
Prima della scansione: autorizzazione e destinazioni
- Verifica del dominio. Prima della prima scansione di un sito il cliente dimostra di controllarlo con un record DNS TXT (
_tessera-verification.<dominio>) o con un file in/.well-known/tessera-verification.txtche contiene un codice personale. La verifica vale per il nome esatto, dura 30 giorni e si rinnova da sola se il record o il file restano al loro posto. - Solo indirizzi pubblici. Ogni connessione degli scanner verso il sito, redirect compresi, viene controllata: localhost, reti private, indirizzi link-local e di metadata cloud e gli altri intervalli riservati sono bloccati.
I quattro controlli
| Controllo | Strumento | Cosa verifica |
|---|---|---|
| Header di sicurezza | Richiesta HTTP diretta | Presenza di Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options; segnala l'header X-Powered-By. |
| Configurazione TLS | testssl.sh (modalità rapida) | Protocolli offerti (SSLv2–TLS 1.3), categorie di cifrari, catena del certificato, scadenza, vulnerabilità TLS note (Heartbleed, ROBOT, POODLE, SWEET32, FREAK, DROWN, LUCKY13 e altre). |
| Vulnerabilità note | Nuclei 3.0.4 | Template delle categorie esposizioni di file, errori di configurazione, credenziali predefinite e fingerprint di tecnologie, con severità media, alta o critica. Limite di 150 richieste al secondo. |
| Scansione applicativa | OWASP ZAP 2.17.0 | Spider (fino a 90 secondi), scansione passiva e scansione attiva con un tetto di 120 secondi: se il tetto scatta, il report lo dichiara come copertura parziale. |
Come calcoliamo il CVSS
Il punteggio è calcolato con la formula ufficiale CVSS v3.1 pubblicata da FIRST, non stimato. La fonte del vettore dipende dallo strumento:
- Nuclei: il vettore indicato dagli autori del template, quando presente.
- ZAP: ZAP non fornisce CVSS. Per gli alert più comuni il vettore è valutato da noi secondo la metodologia ufficiale e dichiarato nel report accanto al punteggio, così chiunque può ricalcolarlo.
- testssl.sh: vettore valutato da noi per ogni tipo di problema TLS (per esempio protocolli deprecati, cifrari deboli, certificato non valido).
- Osservazioni informative: nessun CVSS, perché non hanno impatto diretto sulla sicurezza.
Alcuni dei vettori che usiamo per gli alert ZAP:
| Alert | Vettore CVSS v3.1 | Punteggio |
|---|---|---|
| Strict-Transport-Security Header Not Set | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N | 4.8 |
| Missing Anti-clickjacking Header | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N | 4.3 |
| Content Security Policy (CSP) Header Not Set | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N | 4.2 |
| Server Leaks Information via "X-Powered-By" | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N | 3.7 |
| HTTPS Content Available via HTTP | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N | 3.7 |
| Cookie without SameSite Attribute | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N | 3.1 |
| X-Content-Type-Options Header Missing | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N | 3.1 |
| Cookie No HttpOnly Flag | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N | 3.1 |
Livelli di rischio
Alto, Medio e Basso derivano dal punteggio CVSS e non dall'etichetta dello strumento, così etichetta e punteggio non possono mai essere in contraddizione:
| Livello | Punteggio CVSS | Significato |
|---|---|---|
| Alto | da 7.0 a 10.0 | Problema sfruttabile con impatto serio: richiede un intervento urgente. |
| Medio | da 4.0 a 6.9 | Sfruttabile in condizioni specifiche o debolezza significativa dei controlli: da correggere a breve. |
| Basso | da 0.1 a 3.9 | Lacuna di hardening o di difesa in profondità: da affrontare nella normale manutenzione. |
| Informativo | non applicabile | Osservazione senza impatto diretto, inclusa per completezza. |
Punteggio di sicurezza
In apertura il report riassume il risultato in un punteggio da 0 a 100 e in una classe. Il calcolo usa solo i finding del report:
- si parte da 100 e si tolgono 25 punti per ogni problema Alto, 10 per ogni Medio e 3 per ogni Basso; gli informativi non contano;
- con almeno un problema Alto il punteggio non supera 49, con almeno un Medio non supera 79: un solo problema serio pesa più di tanti dettagli;
- il punteggio non scende sotto 0.
| Classe | Punteggio | Giudizio |
|---|---|---|
| A | da 90 a 100 | Ottimo |
| B | da 75 a 89 | Buono |
| C | da 60 a 74 | Discreto |
| D | da 40 a 59 | Da migliorare |
| F | da 0 a 39 | Critico |
Per esempio, un sito con quattro problemi Bassi e nessun Alto o Medio ottiene 88 (classe B); un sito con un solo problema Alto non supera 49 (classe D). Il punteggio è un riassunto: per decidere cosa correggere contano i singoli finding e le raccomandazioni.
Sintesi e raccomandazioni
La sintesi e le raccomandazioni per priorità sono scritte da Claude (Anthropic) a partire esclusivamente dai finding già determinati dagli strumenti: il modello non decide le severità e non aggiunge finding. Nei report in italiano le descrizioni degli strumenti, originariamente in inglese, vengono tradotte con le stesse regole. Se il servizio non è disponibile, il report usa testi fissi e lo dichiara.
Cosa non copre
- Aree che richiedono login: la scansione non usa credenziali.
- Logica applicativa e autorizzazioni tra ruoli: richiedono un test manuale.
- Codice sorgente e infrastruttura non esposta pubblicamente.
- Verifica manuale dei finding: i risultati sono automatici e nessun operatore li conferma uno per uno.
Per questo il Quick Check non è un penetration test: vedi le differenze tra penetration test e scansione automatica.
Standard di riferimento
Il report usa CVSS v3.1 e la classificazione CWE di MITRE. La struttura (sintesi, scope e regole di ingaggio, metodologia, finding, raccomandazioni, appendici) segue il Penetration Testing Execution Standard e la guida NIST SP 800-115; la OWASP Web Security Testing Guide è il riferimento per le aree effettivamente coperte.
Dati e conservazione
I report si aprono con un link firmato valido 7 giorni e vengono cancellati dopo 90 giorni. I dettagli sono nell'informativa privacy. Un report completo su un sito fittizio è disponibile come report d'esempio.