Partager cet article :
Comment nous avons optimisé la note globale d'un SSL de B à A+.
Avec Skillbrowser, vous pouvez parcourir, confirmer et évaluer les compétences des fournisseurs informatiques et entrer en contact avec de nouveaux clients. Le propriétaire du produit a récemment dû changer de fournisseur et nous sommes heureux qu'il nous ait fait confiance pour l'assistance et la maintenance.
Un jour, nous avons reçu un ticket d'assistance très étrange indiquant que certaines personnes étaient confrontées à un problème de SSL et ne pouvaient pas du tout ouvrir le site. Il semblait que pour certains clients, le certificat SSL n'était pas valide. Nous avons donc décidé de faire un audit SSL en utilisant l'outil de test SSL Labs et les résultats n'étaient pas bons du tout - note B avec plusieurs avertissements en place.
Notre équipe DevOps a immédiatement élaboré un plan en six étapes à exécuter pour améliorer la note SSL.
Ne laisser que TLS 1.2 et TLS 1.3
TLS 1.0 et 1.1 étant obsolètes en 2020, il était nécessaire de prendre du recul.
Correction de l'avertissement relatif à la chaîne de certificats incomplète
Le certificat de l'autorité de certification n'a pas été trouvé dans la liste de confiance intégrée, de sorte que certains visiteurs voyaient une erreur de "chaîne incomplète". Nous avons obtenu les certificats intermédiaires nécessaires et les avons ajoutés à la configuration.
Corriger l'avertissement Forward Secrecy
Cette fois-ci, c'était facile, il suffisait de configurer le serveur Apache pour Forward Secrecy en supprimant le lien entre la clé privée du serveur et chaque clé de session et en empêchant les attaquants d'utiliser la clé privée pour décrypter l'une des sessions archivées.
Corriger le chemin du certificat dans l'infrastructure Docker
Cette étape était spécifique à l'infrastructure docker existante du projet. Après notre changement, une étape manuelle devant être exécutée après chaque déploiement a été supprimée.
Ajouter des paramètres DH
La taille de clé par défaut d'OpenSSL est de 1024 bits, ce qui semble impossible avec la puissance de calcul d'un État-nation. Nous avons donc généré des paramètres DH avec OpenSSL, ce qui fait que la clé est désormais de 4096 bits.
- Optimisations supplémentaires
- Ajout de l'en-tête de réponse Strict-Transport-Security qui informe les navigateurs que le site ne doit être accessible que par HTTPS.
- Ajustement de certains paramètres actuels de ssl_sessions.
- Configuration correcte de ssl_ciphers pour TLS1.2, TLS1.3.
- Ajout des en-têtes X-Content-Type-Options et X-XSS-Protection. Le premier vous permet d'éviter le reniflage des types MIME, tandis que le second empêche le chargement des pages lorsqu'il détecte des attaques XSS (cross-site scripting) réfléchies.
Après avoir mis en œuvre notre plan, nous avons obtenu un résultat de niveau A+ sans aucun avertissement. Pas mal du tout !
Encore un résultat exceptionnel mesurable de notre travail !
S'ABONNER À NOTRE NEWSLETTER
Partager cet article :