Nginx est un serveur HTTP et un serveur proxy inverse largement utilisé qui assure la sécurité des communications réseau via le protocole SSL/TLS. Dans cet article, nous explorerons les meilleures pratiques de configuration de la sécurité Nginx SSL/TLS pour vous aider à mieux garantir la sécurité de votre serveur.
1. Utilisez la dernière version de Nginx et OpenSSL
La dernière version de Nginx et OpenSSL contient les derniers correctifs et mises à jour de sécurité. Par conséquent, garantir l’utilisation des dernières versions de Nginx et OpenSSL est un moyen fondamental de garantir la sécurité du serveur.
2. Générer des clés privées et des certificats avec des mots de passe forts
Lors de la génération de certificats SSL et de clés privées, nous devons nous assurer que des mots de passe forts sont utilisés. Des mots de passe forts peuvent améliorer considérablement la sécurité des clés privées et des certificats, et peuvent également empêcher les attaques de pirates. Par exemple, nous pouvons utiliser l'outil openssl pour générer une clé privée RSA de 2048 bits :
openssl genrsa -out key.pem 2048
De même, un mot de passe est également requis lors de la génération d'une demande de certificat :
openssl req -new -key key.pem -out csr.pem
3. Il est interdit d'utiliser des algorithmes de cryptage faibles
Le protocole SSL/TLS prend en charge plusieurs algorithmes de cryptage, notamment DES, RC4, etc. Cependant, certains algorithmes de cryptage se sont révélés défectueux, voire défectueux. Par conséquent, pour garantir la sécurité du serveur, nous devrions interdire l’utilisation de ces algorithmes de chiffrement déjà dangereux. Nous pouvons désactiver l'utilisation d'algorithmes de cryptage faibles en utilisant la configuration suivante :
ssl_ciphers HIGH:!aNULL:!MD5;
4. Activer Strict-Transport-Security (STS)
L'activation de STS peut empêcher l'homme dans le- attaques intermédiaires et tentatives de décryptage du trafic. STS indique au navigateur d'accéder au site Web uniquement via des connexions HTTPS, et le navigateur sera automatiquement redirigé vers HTTPS une fois qu'il aura découvert que le site Web est accessible via une connexion HTTP. STS peut être activé via la configuration suivante :
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
5. Activer l'épinglage de clé publique HTTP
Bien que le protocole SSL/TLS soit devenu de plus en plus répandu. plus sécurisé, mais les attaques par épinglage de clé publique existent toujours. Le principe de l’attaque par épinglement de clé publique est qu’un pirate informatique peut obtenir la clé publique du site Web et la modifier, faisant croire à tort au navigateur que la connexion est sécurisée. Cette attaque peut être protégée en activant l’épinglage de clé publique HTTP. Nous pouvons activer l'épinglage de clé publique HTTP en utilisant la configuration suivante :
add_header Public-Key-Pins 'pin-sha256="base64+primary=="; pin-sha256="base64+backup=="; ; includeSubDomains';
6. Activer le agrafage OCSP
Le agrafage OCSP est une fonctionnalité de sécurité qui réduit la pression sur le serveur en mettant en cache les réponses OCSP, raccourcit le temps de réponse du serveur OCSP et améliore la vitesse de réponse et la sécurité du serveur. Nous pouvons activer l'agrafage OCSP en utilisant la configuration suivante :
ssl_stapling on ;
ssl_stapling_verify on ;
ssl_trusted_certificate /path/to/ocsp.crt ; . L'utilisation de SSL v3. 0 est interdit
Le protocole SSL v3.0 présente de nombreuses failles de sécurité et s'est avéré dangereux. Par conséquent, pour garantir la sécurité du serveur, nous devons interdire l’utilisation du protocole SSL v3.0. Nous pouvons utiliser la configuration suivante pour interdire l'utilisation du protocole SSL v3.0 :
ssl_protocols TLSv1 TLSv1.1 TLSv1.2
Résumé
Le protocole SSL/TLS est la base pour assurer la sécurité des communications réseau, et le SSL de Nginx ; La configuration de la sécurité /TLS est très importante. Grâce à une configuration raisonnable, nous pouvons améliorer la sécurité du serveur et prévenir les attaques de pirates. Cet article présente les meilleures pratiques pour la configuration de la sécurité SSL/TLS de Nginx et espère être utile aux lecteurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!