config HTTPS poussée

This commit is contained in:
gcolpart 2016-10-26 19:38:58 +02:00
parent db60edfd22
commit 4e8803d261

View file

@ -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