GNU/Linux >> Tutoriels Linux >  >> Linux

Comment activer la politique HSTS (HTTP Strict Transport Security) dans Nginx et Apache

Selon l'étude de Netcraft, 95% des serveurs HTTPS sont vulnérables aux attaques Man-in-the-Middle. Par conséquent, il est très important de mettre en œuvre correctement le HSTS. HSTS (HTTP Strict Transport Security) est une politique qui protège les sites Web contre les attaques malveillantes telles que le détournement de clics, les rétrogradations de protocole et les attaques de type "man-in-the-middle", comme expliqué dans mon article précédent. Dans cet article, nous verrons différentes étapes pour activer HSTS sur NGINX et Apache.

Comment activer HSTS sur Nginx

Ouvrez votre fichier de configuration Nginx pour le domaine dont vous avez besoin pour activer HSTS.

Par exemple :/etc/nginx/conf.d/tg.conf

Ajoutez la ligne ci-dessous à votre bloc de serveur HTTPS :

NE PAS AJOUTER HSTS au bloc HTTP
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;
paramètre includeSubDomains

Le includeSubDomains facultatif indique au navigateur que la politique HSTS s'applique également à tous les sous-domaines du domaine actuel.

Toujours paramètre

Le always garantit que l'en-tête est défini pour toutes les réponses, y compris les réponses d'erreur générées en interne.

Pour que le HSTS soit configuré pour une période de 1 an, définissez max-age sur 31536000 (en secondes). Il doit être d'au moins 3 mois pour satisfaire aux exigences de sécurité.

Redémarrer le service Nginx

Avant de redémarrer, vérifiez le fichier de configuration comme ci-dessous :

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

Redémarrez le serveur Nginx pour prendre les nouvelles modifications.

# systemctl restart nginx

Comment activer HSTS sur Apache

Pour activer HSTS sur Apache, nous avons besoin des mod_headers module installé. Exécutez la commande ci-dessous pour savoir si le module est déjà installé.

# apachectl -M | grep headers
 headers_module (shared)

si vous l'avez, procédons à la configuration des paramètres d'en-tête du domaine dont vous avez besoin pour activer HSTS. Ouvrez le fichier de configuration qui contient le VirtualHost qui utilise SSL.

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

Ajoutez la configuration ci-dessous dans votre VirtualHost pour le port 443 comme ci-dessous :

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

Redémarrer le service Apache

Avant de redémarrer, vérifiez le fichier de configuration comme ci-dessous :

# apachectl configtest
Syntax OK

Si la syntaxe est correcte, redémarrez le serveur Apache pour prendre les nouvelles modifications.

# systemctl restart httpd       ## Redhat systems

# systemctl restart apache2     ## Debian systems

C'est ça! Testez le serveur Web pour voir si le HSTS a été activé.

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

Linux
  1. Comment rediriger HTTP vers HTTPS dans Nginx

  2. Comment activer HTTP/2 dans Nginx

  3. Comment activer HTTP2 dans NGINX

  4. Comment activer HTTP/2 dans Nginx sur Ubuntu et CentOS

  5. Comment activer la confidentialité de transmission parfaite SSL/TLS dans Apache ou Nginx

Comment activer HTTP/2.0 dans Nginx

Comment activer HTTP/2 dans Apache sur le système Linux

Comment activer HTTP/2.0 dans Nginx Server :guide étape par étape

Comment activer HTTP/2 avec Apache dans Ubuntu

Comment configurer Nginx comme équilibreur de charge pour Apache ou Tomcat pour HTTP/HTTPS

Comment activer HTTP/2.0 dans Nginx sur CentOS