Vai al contenuto

Test HTTPS e header di sicurezza

Risposta breve

Controlla HTTPS, il reindirizzamento da HTTP a HTTPS, i contenuti misti, HSTS e gli header di sicurezza e indicizzazione inviati dalla pagina.

Cosa non fa: Non esamina il certificato TLS né la sua scadenza (lo fa il controllo di uptime) e controlla le intestazioni del solo URL che inserisci.

Gratuito · Senza registrazione · Recuperato dal nostro server
Recuperiamo l’URL dal nostro server per eseguire la verifica. I risultati non vengono salvati.

Cosa fa

Verifica la configurazione HTTPS di un sito e gli header di risposta che la proteggono. La parte HTTPS controlla che la pagina si carichi via HTTPS, che l'HTTP semplice reindirizzi ad essa in modo permanente, che la pagina sicura non carichi nulla via HTTP semplice e che l'HSTS sia impostato con un max-age sufficientemente lungo. La parte sugli header controlla X-Content-Type-Options, Content-Security-Policy, la protezione dal clickjacking, se il server rivela la propria tecnologia e se un header X-Robots-Tag tiene la pagina fuori dai risultati di ricerca.

Perché è importante

HTTPS è un segnale di ranking leggero per Google dal 2014, e i browser contrassegnano le pagine in HTTP semplice come non sicure. Un redirect temporaneo, un header HSTS mancante o un header `noindex` sfuggito sono facili da non notare, perché la pagina continua a sembrare a posto nel browser.

Come funziona

  1. Inserisci l'URL di una pagina

  2. Richiediamo la pagina HTTPS e la versione in HTTP semplice dello stesso indirizzo

  3. Controlliamo il redirect, l'HSTS e i contenuti misti, poi leggiamo gli header di risposta

  4. Restituiamo un risultato per ciascuna parte, indicando cosa correggere

Esempio di input e output

INPUT
url: https://rankproof.eu
OUTPUT
HTTPS e reindirizzamenti
  il sito si carica in HTTPS                OK
  reindirizzamento HTTP → HTTPS: 301        OK
  contenuti misti nella pagina sicura: 0    OK
  HSTS max-age: 365 giorni                  OK

Intestazioni di sicurezza e indicizzazione
  X-Content-Type-Options impostato          OK
  Content-Security-Policy impostato         OK
  protezione dal clickjacking               OK
  tecnologia del server nascosta            OK
  la pagina è indicizzabile                 OK

2 di 2 aree sono a posto

Come leggere il risultato

Due parti
Il report ha una parte su HTTPS e reindirizzamenti e una sulle intestazioni di sicurezza e indicizzazione. Ognuna ha il suo punteggio, e il riepilogo diventa verde solo quando lo sono entrambe, così intestazioni perfette non possono nascondere un reindirizzamento mancante.
Il sito si carica in HTTPS
L'indirizzo inserito ha risposto in HTTPS. Se inserisci un indirizzo http://, questo controllo fallisce: inserisci l'indirizzo https:// che vuoi far usare ai visitatori.
Reindirizzamento HTTP → HTTPS (301 nell'esempio)
Richiediamo la versione http:// semplice dello stesso indirizzo senza seguire i reindirizzamenti. Un 301 o 308 verso un indirizzo https:// supera il controllo; un 302 o 307 temporaneo costa punti, perché i motori di ricerca possono continuare a mostrare l'indirizzo http://. Se l'HTTP semplice non risponde affatto, non conta contro di te.
Contenuti misti (0)
Immagini, script, fogli di stile, frame e altre risorse che la pagina sicura carica in http:// semplice. I browser bloccano script e frame non sicuri e bloccano o aggiornano i contenuti multimediali non sicuri, quindi ognuno è rotto o un avviso nella barra degli indirizzi.
HSTS max-age (365 giorni)
Per quanto tempo si dice ai browser di usare solo HTTPS per il sito. Un anno o più supera il controllo; un valore più breve o l'assenza dell'intestazione riceve un avviso. includeSubDomains e preload non sono valutati.
Intestazioni di sicurezza
X-Content-Type-Options impedisce ai browser di indovinare i tipi di file; Content-Security-Policy limita da dove possono caricarsi gli script; X-Frame-Options o la direttiva frame-ancestors impedisce ad altri siti di incorniciare la tua pagina (clickjacking). «Tecnologia del server nascosta» significa che nessuna intestazione X-Powered-By nomina il tuo software.
La pagina è indicizzabile
Un'intestazione X-Robots-Tag con noindex tiene la pagina fuori dai risultati di ricerca senza comparire da nessuna parte nell'HTML. È l'unico problema di intestazione che da solo rende rossa questa parte.

Chi lo usa

  • Ingegnere DevOps

    Eseguilo dopo una modifica al server o alla CDN per confermare che redirect, HSTS e header di sicurezza siano sopravvissuti.

  • Auditor di sicurezza

    Rivedi ogni dominio di produzione alla ricerca di contenuti misti, HSTS debole e header di sicurezza mancanti.

  • Specialista SEO

    Prima che una migrazione vada online, verifica che l'HTTP reindirizzi in modo permanente e che nessun header blocchi l'indicizzazione.

Problemi comuni e come risolverli

  1. L'HTTP non reindirizza, o reindirizza con 302

    Reindirizza ogni richiesta HTTP semplice allo stesso percorso in HTTPS con un 301, nel server web o nella CDN e non nel codice della pagina, così sono coperti anche immagini e file.

    # nginx
    server {
      listen 80;
      server_name example.com www.example.com;
      return 301 https://example.com$request_uri;
    }
  2. Contenuti misti nella pagina sicura

    Cambia gli indirizzi delle risorse da http:// a https:// o, per i tuoi file, in percorsi relativi. Se una terza parte non ha una versione HTTPS, ospita il file tu stesso o rimuovilo. La direttiva upgrade-insecure-requests può aggiornare il resto mentre li sistemi.

    Content-Security-Policy: upgrade-insecure-requests
  3. Nessun HSTS, o un max-age breve

    Aggiungi Strict-Transport-Security quando ogni pagina funziona in HTTPS e porta max-age ad almeno un anno (31536000 secondi). Aggiungi includeSubDomains solo quando tutti i sottodomini hanno HTTPS, e preload per ultimo: uscire dalle liste di preload è lento.

    Strict-Transport-Security: max-age=31536000; includeSubDomains
  4. Mancano intestazioni di sicurezza

    Invia X-Content-Type-Options: nosniff su ogni risposta. Contro il clickjacking, frame-ancestors in Content-Security-Policy è lo standard attuale e X-Frame-Options copre i browser più vecchi. Una policy completa per gli script richiede test, quindi parti da queste due e ampliala gradualmente.

    X-Content-Type-Options: nosniff
    Content-Security-Policy: frame-ancestors 'self'
    X-Frame-Options: SAMEORIGIN
  5. Un'intestazione noindex che non hai impostato

    Cerca X-Robots-Tag nelle impostazioni del server, della CDN o del framework; impostazioni copiate da un sito di staging sono uno dei modi in cui succede. Rimuovila dalle pagine che devono essere trovate, poi richiedi l'indicizzazione della pagina in Search Console.

  6. Le intestazioni nominano il software del server

    Disattiva X-Powered-By (e i numeri di versione nell'intestazione Server) nelle impostazioni del framework o del server. Non ferma gli attacchi, ma smette di annunciare quale versione colpire.

    # php.ini
    expose_php = Off
    
    // Express (Node.js)
    app.disable('x-powered-by');

Domande frequenti

Verifica il certificato SSL/TLS?
No. Verifica se la pagina si carica via HTTPS, come l'HTTP reindirizza ad essa, l'HSTS, i contenuti misti e gli header di risposta. Non ispeziona il certificato né la sua data di scadenza.
Cos'è l'HSTS?
HTTP Strict Transport Security: un header che dice ai browser di usare HTTPS per il tuo dominio anche quando qualcuno digita `http://`. Punta a un max-age di almeno un anno.
Cosa sono i contenuti misti?
Una pagina HTTPS che carica risorse (immagini, script, CSS) via HTTP semplice. I browser bloccano gli script non sicuri e aggiornano o segnalano le immagini non sicure.
Quali header vengono controllati?
X-Content-Type-Options, Content-Security-Policy, X-Frame-Options o la direttiva CSP frame-ancestors, X-Powered-By e X-Robots-Tag. Il report elenca anche gli header di risposta restituiti dalla pagina.
Come può un header bloccare l'indicizzazione?
Un header `X-Robots-Tag: noindex` tiene una pagina fuori dai risultati di ricerca proprio come un tag meta robots, ma non compare nel codice sorgente della pagina, quindi spesso passa inosservato.
Quando dovrei eseguirlo?
Dopo una migrazione e dopo qualsiasi modifica al server o alla CDN.

Fonti

La documentazione su cui si basano questo strumento e le spiegazioni di questa pagina.