Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.
Bonjour à tous,
Aujourd’hui je vais vous montrer comment activer la fonction HSTS sur Nginx rapidement et pour tous vos virtualhosts présents et futurs.
Le HSTS, késako ?
Pour faire simple, le HSTS (HTTP Strict Transport Security) est un entête que nous pouvons rajouter sur les serveurs compatibles HTTPS pour que les échanges entre le visiteur et le serveur se fasse uniquement par le biais du protocole HTTPS.
Ces entêtes forces le navigateur du visiteur (si compatible) à utiliser automatiquement le protocole HTTPS lors de la prochaine visite sur le site. Si le protocole n’est pas disponible ou si le certificat est invalide alors le visiteur se retrouve bloqué par mesure de sécurité.
Cela permets notamment d’éviter les attaques man in the middle de type downgrade qui consiste à passer l’utilisateur victime en http pour pouvoir sniffer ses connexions avec le serveur.
Implémentation :
Sous Nginx, l’implémentation est simplissime. Il suffit d’une seule ligne de configuration pour que tous les sites gérés par le serveur soit protégés. Elle n’est pas belle la vie ? 🙂
Dans un premier temps, connectez vous en root sur votre serveur et lancez la ligne de commande suivante pour éditer la configuration de Nginx :
nano /etc/nginx/nginx.conf
Recherchez l’ouverture de la balise http { et mettez les lignes suivantes en dessous :
#HSTS add_header Strict-Transport-Security "max-age=15768000; includeSubDomains";
Pour information, cette commande envoie l’entête HSTS à vos visiteurs en indiquant une durée de 1 an et en incluant les sous domaines.
Sauvegardez avec un petit Ctrl + O et redémarrez Nginx :
service nginx restart
Et voilà, vous venez d’implémenter HSTS sur Nginx avec cette simple modification 🙂
Vous pouvez tester le fonctionnement de HSTS avec le test de Qualys notamment, voilà ce que ça devraie vous donner :
bon le probleme est que se hsts m’empeche d’aller sur tout les site tel que YouTube avec Firefox (je suis sur exploreur)donc aurait t’il un moyen de le desactiver(ps je les mis grace a une mise a jour de Windows je crois)merci d’avance
Il faut installer Chrome Edge ou Firefox, Internet Explorer n’est plus supporté par Microsoft.