diff --git a/HowtoSSL.md b/HowtoSSL.md index 021899b2..4b89c569 100644 --- a/HowtoSSL.md +++ b/HowtoSSL.md @@ -313,13 +313,66 @@ Debian [a corrigé cette faille en janvier2015](https://security-tracker.debian. ### Avoir A+ sur SSL LABS +L'outil https://www.ssllabs.com/ssltest/analyze.html permet d'avoir une note symbolique sur la configuration de son serveur HTTPS. + +Voici les principaux critères sur une installation classique : + +- Il faut que le certificat et le certificat intermédiaire soit signé en SHA256, le SHA1 est déprécié ; + +Astuce pour StartSSL, le certificat intermédiaire signé en SHA256 est disponible ici : https://www.startssl.com/certs/class1/sha2/pem/sub.class1.server.sha2.ca.pem (class1) ou https://www.startssl.com/certs/class2/sha2/pem/sub.class2.server.sha2.ca.pem (class2) + +- Il faut désactiver les chiffrements dits « faibles », et ajouter un header Strict-Transport-Security pour indiquer que le site n'est consultable qu'en HTTPS. + +- paramètres DH au moins 2048 (impossible en Debian 7/Apache) + +- Activer le cache pour la reprise de session. + +*-Avoir un certificat de >=4096 bits, ou un DH de >=4096 bits. + +Générer le dhparam.pem ainsi (attention ça prend un temps fou) : + +# openssl dhparam -out /etc/ssl/dhparam.pem 4096 + + + #### Configuration Apache -TODO +En pratique avec Apache : + +~~~ +SSLCipherSuite AES128+EECDH:AES128+EDH +SSLProtocol All -SSLv2 -SSLv3 +SSLHonorCipherOrder On +SSLCompression off +#Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains" +SSLSessionCache shm:/var/log/apache2/ssl_gcache_data(512000) ??? +SSLSessionCacheTimeout 600 ??? +~~~ + +Si votre Apache est trop vieux????, mettre le SSLCipherSuite suivant : + +SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4 #### Configuration Nginx -TODO + + +En pratique avec Nginx : + +ssl_protocols TLSv1 TLSv1.1 TLSv1.2; +ssl_prefer_server_ciphers on; +ssl_ciphers "AES128+EECDH:AES128+EDH"; +ssl_dhparam /etc/ssl/dhparam.pem; +#add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; +ssl_session_cache shared:SSL:10m; ??? +~~~ + +avec : + +~~~ +$ openssl dhparam -out /etc/ssl/dhparam.pem 2048 +~~~ + ## FAQ