Dans le monde actuel, le cryptage des données n'est pas un caprice, mais une nécessité directe. En particulier, le chiffrement du trafic http revêt une grande importance pour tous les sites où des données personnelles sont traitées. Et aussi pour se protéger contre les attaques par mitM.
Ainsi, l’utilisation de Forward Secrecy sur les serveurs Web devient obligatoire pour chaque site fonctionnant sous le protocole https et vous permet d’améliorer la puissance du cryptage des informations.
Le secret de transfert peut être correctement configuré dans nginx.
Supposons que vous ayez un site qui doit prendre en charge le travail https. Tout d’abord, vous devez créer une clé Diffie-Hellman.
# openssl dhparam -out /etc/nginx/ssl/dh-2048.pem 2048
Et définissez les droits d'accès appropriés pour cela.
# chmod 0600 /etc/nginx/ssl/dh-2048.pem
Ensuite, vous devez configurer nginx. Voici un exemple de configuration pour un site qui exécute ssl.
server {nom_serveur example.com; écoutez 80; écoutez 443 ssl; ssl_certificate /etc/nginx/ssl/example.com_crt.pem; ssl_certificate_key /etc/nginx/ssl/example.com_key.pem; ssl_dhparam ssl / dh-2048.pem; ssl_ciphers ECDH: DH:! ADH:! AECDH:! SEED:! DES:! 3DES:! RC4:! NULL; ...} Considérez chaque variable.
ssl_dhparam - le chemin du fichier avec la clé Diffie-Hellman. Vous pouvez spécifier le chemin relatif au répertoire avec les fichiers de configuration nginx.
ssl_ciphers - les chiffrements à utiliser pour les connexions ssl. J'ai des chiffres choisis pour la prosodie . La longueur minimale de la clé est de 128 bits. Tous soutiennent le secret avant.
Après avoir configuré nginx, redémarrez avec la commande service nginx restart .
Pour tester les paramètres, utilisez le service https://www.ssllabs.com/ssltest/index.html . Dans les résultats du test, au paragraphe “Détails du protocole”, il devrait y avoir un tel résultat:


Qu'en est-il de la compatibilité ascendante?
Je recommande cet ensemble: ECDH: DH: EECDH: + AES256: -3DES: RSA + AES: RSA + 3DES :! NULL :! RC4;