GNU/Linux >> Linux Esercitazione >  >> Linux

Come abilitare la politica HSTS (HTTP Strict Transport Security) in Nginx e Apache

Secondo lo studio di Netcraft, il 95% dei server HTTPS è vulnerabile agli attacchi Man-in-the-Middle. Pertanto, è molto importante implementare correttamente HSTS. HSTS (HTTP Strict Transport Security) è una politica che protegge i siti Web da attacchi dannosi come clickjacking, downgrade del protocollo e attacchi man-in-the-middle, come spiegato nel mio articolo precedente. In questo articolo, vedremo vari passaggi per abilitare HSTS su NGINX e Apache.

Come abilitare HSTS su Nginx

Apri il tuo file di configurazione Nginx per il dominio di cui hai bisogno per abilitare HSTS.

Ad esempio:/etc/nginx/conf.d/tg.conf

Aggiungi la riga seguente al blocco del server HTTPS:

NON AGGIUNGERE HSTS al blocco HTTP
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;
includeSubDomains parametro

Il includeSubDomains facoltativo Il parametro indica al browser che la politica HSTS si applica anche a tutti i sottodomini del dominio corrente.

Sempre parametro

Il always assicura che l'intestazione sia impostata per tutte le risposte, comprese le risposte di errore generate internamente.

Per configurare l'HSTS per un intervallo di tempo di 1 anno, impostare l'età massima su 31536000 (in secondi). Devono essere necessari almeno 3 mesi per soddisfare i requisiti di sicurezza.

Riavvia il servizio Nginx

Prima di riavviare, verificare il file di configurazione come di seguito:

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Riavvia il server Nginx per accettare le nuove modifiche.

# systemctl restart nginx

Come abilitare HSTS su Apache

Per abilitare HSTS su Apache, abbiamo bisogno di mod_headers modulo installato. Esegui il comando seguente per scoprire se il modulo è già installato.

# apachectl -M | grep headers
 headers_module (shared)

se ce l'hai, procediamo con la configurazione delle impostazioni dell'intestazione del dominio che ti serve per abilitare HSTS. Apri il file di configurazione che contiene il VirtualHost che utilizza SSL.

For eg: /etc/httpd/conf.d/tg.conf

Aggiungi la configurazione seguente all'interno del tuo VirtualHost per la porta 443 come di seguito:

<VirtualHost *:443>
......
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
......
</VirtualHost>

Riavvia il servizio Apache

Prima di riavviare, verificare il file di configurazione come di seguito:

# apachectl configtest
Syntax OK

Se la sintassi è corretta, riavvia il server Apache per accettare le nuove modifiche.

# systemctl restart httpd       ## Redhat systems

# systemctl restart apache2     ## Debian systems

Questo è tutto! Testare il server web per vedere se l'HSTS è stato abilitato.

$ curl -kIs https://example.com | grep Strict
Strict-Transport-Security: max-age=31536000; includeSubDomains

Linux
  1. Come reindirizzare da HTTP a HTTPS in Nginx

  2. Come abilitare HTTP/2 in Nginx

  3. Come abilitare HTTP2 in NGINX

  4. Come abilitare HTTP/2 in Nginx su Ubuntu e CentOS

  5. Come abilitare la perfetta segretezza di inoltro SSL/TLS in Apache o Nginx

Come abilitare HTTP/2.0 in Nginx

Come abilitare HTTP/2 in Apache su sistema Linux

Come abilitare HTTP/2.0 in Nginx Server:guida passo passo

Come abilitare HTTP/2 con Apache in Ubuntu

Come configurare Nginx come loadbalancer per Apache o Tomcat per HTTP/HTTPS

Come abilitare HTTP/2.0 in Nginx su CentOS