Vai al contenuto

Impostazioni cookie

Scelga per ogni tipo quali cookie consente. Può modificare la sua scelta in qualsiasi momento tramite Impostazioni cookie in fondo a ogni pagina. Informativa sulla privacy

Necessari

Sempre attivi

Servono per accedere, conservare il carrello e ricordare le sue scelte. Sono sempre attivi.

Quali cookie?
  • weboke_sessie, weboke_klant, weboke_remember: la sua sessione e la permanenza dell'accesso
  • weboke_basket: il suo carrello
  • wkBtwIncl: visualizzazione dei prezzi con o senza IVA
  • wok_cookies: la sua scelta sui cookie, 12 mesi

Misurano quale annuncio porta a una visita o a un ordine, così non paghiamo annunci che non funzionano.

Quali cookie?
  • Google Ads tramite Google Tag Manager (_gcl_au, _gcl_aw), fino a 90 giorni
  • OpenAI Ads, annunci in ChatGPT
  • wok_aff: tramite quale partner è arrivato da noi (programma di affiliazione), 60 giorni

4,6

Paese e lingua

Ogni paese ha il suo sito, con i prezzi e l'IVA di quel paese.

Vedi

HSTS e intestazioni di sicurezza per il Suo sito web

Con ogni pagina il Suo server web invia anche delle header: brevi righe con istruzioni per il browser. In parte determinano quanto il browser tratta il Suo sito in modo sicuro. Qui trova che cos'è HSTS, quali altre header di sicurezza esistono e come impostarle e testarle.

Prima di tutto il Suo sito deve avere un certificato funzionante e reindirizzare i visitatori su https. Come fare lo trova in Attivare e rinnovare un certificato SSL e risolvere i problemi e in Reindirizzare obbligatoriamente i visitatori su https.

Che cosa fa HSTS?

Il reindirizzamento su https ha un momento debole: la prima richiesta via http viaggia ancora non cifrata. Qualcuno sulla stessa rete, per esempio su una rete wifi pubblica, può intercettare quella richiesta. HSTS (HTTP Strict Transport Security) risolve questo problema. Il Suo sito invia via https questa header:

Strict-Transport-Security: max-age=31536000

Il browser ricorda così che può aprire il Suo sito solo via https. Se in seguito un visitatore digita http://, il browser lo trasforma da solo in https, prima ancora che qualcosa passi sulla rete. Una header HSTS ricevuta tramite semplice http viene ignorata dal browser.

ElementoSignificato
max-agePer quanto tempo il browser lo ricorda, in secondi. Il test di internet.nl considera sufficiente almeno un anno (31536000).
includeSubDomainsVale anche per tutti i sottodomini, come shop.ilsuodominio.it e mail.ilsuodominio.it.
preloadRichiede l'inserimento nell'elenco integrato nei browser (hstspreload.org). In questo modo anche la primissima visita è protetta. Servono tra l'altro un anno, includeSubDomains e https su tutti i sottodomini. Uscire di nuovo dall'elenco richiede molto tempo.
max-age=0Cancella l'istruzione memorizzata, alla visita successiva via https.
Attivi HSTS solo quando https funziona ovunque. Se un browser ha memorizzato HSTS e rileva un errore del certificato, il visitatore non riceve alcun pulsante per proseguire comunque. Se il Suo certificato scade o non è valido per www, il Suo sito resta irraggiungibile per quei visitatori finché il problema non viene risolto. Con includeSubDomains ciò vale anche per ogni sottodominio, come una vecchia pagina di una telecamera o di una stampante senza certificato. Proceda quindi per gradi: inizi con un max-age breve, per esempio un giorno (86400), verifichi che tutto funzioni e aumenti il valore a passi fino a un anno.

HSTS presso WebOké

Sulla maggior parte dei nostri server il server web invia HSTS per impostazione predefinita per ogni sito web aperto via https: Strict-Transport-Security: max-age=31536000. Si tratta di un anno, senza includeSubDomains e senza preload. Per questo non deve fare nulla. Su alcuni server non è attivo per impostazione predefinita; lì lo attiva Lei stesso. Se il Suo sito invia già HSTS e con quale max-age, lo può vedere negli strumenti per sviluppatori del Suo browser o nel test di internet.nl (vedere più avanti).

L'interruttore HSTS in DirectAdmin

In DirectAdmin vada su Domain Setup e clicchi sul nome del Suo dominio. Se Secure SSL è attivo, accanto a HSTS vedrà l'interruttore Enable HTTP Strict Transport Security (HSTS). Clicchi poi su Save per salvare. Come fare passo dopo passo lo trova in Reindirizzare sempre i visitatori su https.

Se il Suo sito invia già HSTS, l'interruttore non Le serve. Lo attivi solo se il Suo sito non invia ancora HSTS. Imposti HSTS in un solo punto: in DirectAdmin oppure in .htaccess, non in entrambi. Se il browser riceve due header HSTS, utilizza solo la prima.

Le altre header di sicurezza

HeaderContro che cosaValore con cui iniziare
X-Content-Type-OptionsIl browser tenta di indovinare da solo che tipo di file sia, per cui una "immagine" caricata può essere eseguita come script.nosniff (l'unico valore valido)
Content-Security-Policy: frame-ancestors oppure X-Frame-OptionsClickjacking: un altro sito carica la Sua pagina in modo invisibile in un frame, così i visitatori cliccano senza accorgersene sui Suoi pulsanti.frame-ancestors 'self', oppure la header più vecchia X-Frame-Options: SAMEORIGIN
Referrer-PolicyQuando si clicca verso un altro sito, il browser invia anche l'indirizzo della pagina precedente, a volte con un termine di ricerca o un numero d'ordine al suo interno.strict-origin-when-cross-origin, oppure più restrittivo same-origin o no-referrer. Internet.nl considera corretti solo i valori restrittivi.
Permissions-PolicyStabilisce quali funzioni del browser possono usare la Sua pagina e i frame incorporati, come fotocamera, microfono e posizione.camera=(), microphone=(), geolocation=() disattiva queste tre funzioni. Se il Suo sito utilizza una di queste funzioni, la ometta.
Content-Security-Policy (completa)Limita le origini da cui possono essere caricati script, stili e immagini. Ciò rende molto più difficile l'inserimento di script dannosi (XSS).Su misura per ogni sito. Eviti unsafe-inline, unsafe-eval e i caratteri jolly.

Impostazione in .htaccess

Inserisca queste righe all'inizio del file .htaccess nella cartella public_html del Suo dominio. Faccia prima una copia del file.

<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
  Header always set Content-Security-Policy "frame-ancestors 'self'"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
  # Solo se il Suo sito non invia ancora HSTS (vedere sopra):
  # Header always set Strict-Transport-Security "max-age=31536000"
</IfModule>

Aggiunga includeSubDomains solo quando è certo che ogni sottodominio abbia https. Se utilizza WordPress, può impostare le header anche con un plugin. Scelga un plugin noto e ancora aggiornato, e imposti ogni header in un solo punto: nel plugin oppure in .htaccess.

Una Content-Security-Policy completa può compromettere il funzionamento del Suo sito: una regola troppo restrittiva blocca per esempio le Sue statistiche, il Suo pulsante di pagamento, un video incorporato o la finestra della chat. La testi prima con la header Content-Security-Policy-Report-Only. Questa non blocca nulla, ma mostra nella console del browser che cosa verrebbe bloccato. In caso di dubbio lasci questo compito al Suo sviluppatore web, oppure inizi solo con frame-ancestors.

Su un VPS con nginx o Caddy

Su un VPS non utilizza DirectAdmin e spesso nemmeno .htaccess. Le header vanno quindi inserite nella configurazione del Suo server web. Nessuno dei due invia automaticamente HSTS o queste header.

nginx: nel blocco server per la porta 443:

add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "frame-ancestors 'self'" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Con always le header vengono inviate anche con le pagine di errore. Attenzione: se in un blocco location è presente a sua volta un add_header, le regole del blocco server non valgono più per quella location. In tal caso le ripeta lì, oppure le inserisca in un file separato da includere ovunque con include. Verifichi la configurazione con nginx -t e la carichi con systemctl reload nginx.

Caddy: nel blocco del Suo sito nel Caddyfile:

header {
	Strict-Transport-Security "max-age=31536000"
	X-Content-Type-Options "nosniff"
	Content-Security-Policy "frame-ancestors 'self'"
	Referrer-Policy "strict-origin-when-cross-origin"
}

Carichi la modifica con systemctl reload caddy. Per la configurazione di un sito con nginx o Caddy, consulti nginx con un certificato di Let's Encrypt e Caddy: un sito web con https automatico nella guida VPS.

Test

  • Internet.nl: inserisca il Suo dominio nel test dei siti web su internet.nl.
  • Il Suo browser: apra il Suo sito, prema F12 (oppure scelga Ispeziona), vada alla scheda Rete, ricarichi la pagina e clicchi sulla prima richiesta. Sotto Intestazioni della risposta (Response Headers) vede tutto ciò che il Suo server invia.
  • La riga di comando: curl -sI https://ilsuodominio.it/ mostra le header.

Dopo ogni modifica verifichi che il Suo sito, i moduli e la pagina di pagamento funzionino ancora. Inoltre mantenga aggiornati il Suo CMS, i plugin e i temi. Consulti Proteggere wp-login.php di WordPress.

Per approfondire

Vuole saperne di più? Segua il corso gratuito Sicuri online per imprenditori, lezione 4.2 Il Suo sito web: https, HSTS e header di sicurezza, oppure il corso gratuito di WordPress, lezione 7.4 Rafforzare il sito: permessi, header e plugin di sicurezza.

Questo articolo le è stato utile?

← Torna a DirectAdmin e pannello di controllo WebOké

Un momento…

Configuri i suoi domini

Per ogni dominio imposti i nameserver, il collegamento al suo hosting e chi ne diventa l'intestatario.

Caricamento dei suoi domini…