Dino Geek, cerca di aiutarti

Come implementare HSTS (HTTP Strict Transport Security)?


Implementare HSTS (HTTP Strict Transport Security) è un passaggio cruciale per migliorare la sicurezza delle comunicazioni web impedendo che le connessioni siano downgrade da HTTPS a HTTP e proteggendo contro gli attacchi di tipo man-in-the-middle. Di seguito sono descritti i passaggi necessari e alcuni esempi utili per l’implementazione di HSTS su un server web.

  1. Passaggi per implementare HSTS

1. Assicurati che il sito supporti HTTPS: Prima di poter abilitare HSTS, è essenziale che tutte le pagine del sito siano accessibili tramite HTTPS e che il certificato SSL/TLS sia correttamente installato e configurato.

1. Redireziona tutto il traffico HTTP a HTTPS: Configura il server per redirigere automaticamente tutte le richieste HTTP a HTTPS. Questo assicura che tutte le comunicazioni avvengano su una connessione sicura.

1. Aggiungi l’intestazione HSTS: L’implementazione di HSTS si fa aggiungendo l’intestazione HTTP `Strict-Transport-Security`. Questa intestazione deve essere inviata da un server web nel traffico HTTPS per specificare che i browser dovrebbero connettersi solo tramite HTTPS per un certo periodo.

  1. Configurazione su vari server web

  1. Apache

Per configurare HSTS su un server Apache, puoi aggiungere la seguente direttiva al file di configurazione del tuo virtual host:

```
ServerName www.tuodominio.com DocumentRoot /var/www/html

# Altre configurazioni # HSTS header Header always set Strict-Transport-Security “max-age=31536000; includeSubDomains; preload” ``` Opzioni: - max-age=31536000: indica al browser di ricordare di usare solo HTTPS per 31536000 secondi (circa 1 anno). Si consiglia di iniziare con un periodo più breve e aumentarlo gradualmente. - includeSubDomains: applica la politica HSTS a tutti i sottodomini. - preload: permette di inserire il sito nel preload list mantenuto da browser come Chrome, Firefox, Opera, IE, Edge e Safari.

  1. Nginx

Per Nginx, aggiungi l’intestazione HSTS all’interno del blocco server che gestisce il traffico HTTPS:

```
server { listen 443 ssl; server_name www.tuodominio.com;

ssl_certificate /path/to/certificate.pem; ssl_certificate_key /path/to/certificate.key; # Altre configurazioni # HSTS header add_header Strict-Transport-Security “max-age=31536000; includeSubDomains; preload” always; } ```

  1. Esempi pratici

  1. Esempio 1:
    Se il tuo sito è `example.com`, e desideri implementare HSTS, verifica prima di tutto l’accessibilità HTTPS del tuo sito:

```
curl -I https://example.com
```

Poi, configurando Apache come segue:

```
ServerName example.com DocumentRoot /var/www/html

# Altre configurazioni # HSTS header Header always set Strict-Transport-Security “max-age=31536000; includeSubDomains; preload” ```

Assicurati che l’intestazione HSTS sia presente:

```
curl -I https://example.com

  1. Dovresti vedere l’intestazione Strict-Transport-Security nella risposta
    ```

  1. Esempio 2:
    Per Nginx, usa la seguente configurazione:

```
server { listen 443 ssl; server_name example.com;

ssl_certificate /path/to/certificate.pem; ssl_certificate_key /path/to/certificate.key; # Altre configurazioni # HSTS header add_header Strict-Transport-Security “max-age=31536000; includeSubDomains; preload” always; } ```

Verifica l’intestazione come prima:

```
curl -I https://example.com
```

  1. Fonti consultate
    1. Mozilla Developer Network (MDN) Web Docs su [HTTP Strict Transport Security (HSTS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)
    2. [Apache HTTP Server Documentation](https://httpd.apache.org/docs/2.4/mod/mod_headers.html)
    3. [Nginx documentation](https://nginx.org/en/docs/http/ngx_http_headers_module.html)

Implementare HSTS è dunque una misura essenziale per la sicurezza del sito web che, una volta settata correttamente, garantisce che le comunicazioni tra il browser dell’utente e il server avvengano sempre tramite connessioni sicure SSL/TLS.


Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Avviso Legale / Condizioni Generali di Utilizzo