La détermination et le comportement intelligent des mauvais acteurs sur Internet ne semblent pas connaître de limites. Presque chaque jour, des nouvelles concernant une nouvelle violation de réseau, un vol de données ou une attaque de ransomware font la une des journaux. Les conséquences peuvent être catastrophiques, ce qui rend de plus en plus important de protéger les ressources et le trafic Web pour qu’ils ne tombent pas entre les mains malveillantes de pirates informatiques.
En tant que l’un des principaux types de trafic Internet, le trafic HTTP entre les navigateurs et les sites Web est bien sûr sujet à ces attaques. Un moyen fondamental de protéger le trafic HTTP contre les écoutes clandestines et les falsifications consiste à le crypter à l’aide du protocole TLS ( Transport Layer Security ). Le trafic crypté est correctement appelé trafic HTTPS , le S signifiant sécurisé , mais dans la plupart des cas, le simple HTTP est utilisé pour désigner les deux types de trafic.
Vous pouvez savoir si un site Web prend en charge le cryptage en regardant l'URL :
De nombreux navigateurs affichent également une icône de cadenas à l’extrémité gauche de la barre d’adresse lorsque le cryptage est utilisé.
Note: Le prédécesseur de TLS, Secure Sockets Layer (SSL), est désormais obsolète mais toujours assez couramment utilisé malgré ses faiblesses de sécurité. De même, le terme SSL (ou SSL/TLS ) est souvent utilisé pour désigner le cryptage du trafic HTTP, même lorsque TLS est réellement utilisé.
En guise d’introduction rapide au cryptage SSL/TLS dans NGINX, examinons quelques directives. La configuration de base de NGINX pour HTTPS est assez simple :
serveur { écouter 443 ssl;
nom_serveur www.exemple.com;
certificat_ssl www.exemple.com.crt;
clé_certificat_ssl www.exemple.com.key;
protocoles_ssl TLSv1 TLSv1.1 TLSv1.2;
chiffrements_ssl HIGH:!aNULL:!MD5;
#...
}
La directive listen
indique à NGINX d'écouter sur le port 443 le trafic HTTPS (le paramètre ssl
) vers le domaine nommé par la directive server_name
(ici, www.example.com ).
Les directives ssl_certificate
et ssl_certificate_key
nomment les fichiers dans lesquels le certificat et la clé TLS du domaine sont stockés. Les directives ssl_protocols
et ssl_ciphers
spécifient respectivement quelles versions de SSL/TLS et quelles suites de chiffrement (algorithmes de chiffrement) ce serveur virtuel NGINX prend en charge. Avec ces directives en place, NGINX négocie une connexion sécurisée avec le client et diffuse du contenu HTTPS authentifié par votre certificat.
C'est une chose de décrire comment les directives pour HTTPS sont utilisées, mais comprendre les concepts derrière les certificats, les clés et les chiffrements est bien plus complexe. Pour une introduction complète et accessible, regardez notre webinaire gratuit à la demande NGINX 101 : Cryptage du trafic Web avec SSL/TLS et NGINX .
Dans le webinaire, vous pourrez approfondir le cryptage du trafic Web et apprendre :
Si vous souhaitez vous lancer avec NGINX Open Source et que vous avez encore des questions, rejoignez le Slack de la communauté NGINX – présentez-vous et apprenez à connaître cette communauté d'utilisateurs expérimentés de NGINX ! Si vous êtes prêt pour NGINX Plus, démarrez votre essai gratuit de 30 jours dès aujourd'hui ou contactez-nous pour discuter de vos cas d'utilisation .
« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."