4 234
modifications
(→ECDH) |
(→tests) |
||
(9 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 5 : | Ligne 5 : | ||
=NB := | =NB := | ||
* il semblerait que sslprotocol ne puisse pas être défini dans une vhost (pour être exact, seul le premier sslprotocol lu par apache est pris en compte. Le mieux est de le définir dans /etc/apache2/mods-enabled/ssl.conf | * il semblerait que sslprotocol ne puisse pas être défini dans une vhost (pour être exact, seul le premier sslprotocol lu par apache est pris en compte. Le mieux est de le définir dans /etc/apache2/mods-enabled/ssl.conf | ||
* SSLCipherSuite peut lui être défini plusieurs fois à condition d'aller du plus sécurisé | * SSLCipherSuite peut lui être défini plusieurs fois à condition d'aller du moins sécurisé (celui avec le plus de ciphers autorisés) au plus sécurisé (celui avec les ciphers les plus restrictifs) (le moins sécurisé dans ssl.conf, le plus sécurisé dans la vhost) | ||
* l'ordre des autorités intermédiaires dans le fichier de chaine de certification : du plus proche du certificat au plus éloigné. En gros : <code>cat signing_ca.pem intermediate_ca.pem root_ca.pem > cachain.pem</code> | * l'ordre des autorités intermédiaires dans le fichier de chaine de certification : du plus proche du certificat au plus éloigné. En gros : <code>cat signing_ca.pem intermediate_ca.pem root_ca.pem > cachain.pem</code> | ||
Ligne 20 : | Ligne 20 : | ||
==ECDH== | ==ECDH== | ||
Par défaut, apache utilise ECC 256 bits quelque soit la taille de la clé rsa utilisé.<br> | Par défaut, apache utilise ECC 256 bits (secp256r1 aussi parfois nommé prime256v1) quelque soit la taille de la clé rsa utilisé.<br> | ||
Vous pouvez cependant forcer l'utilisation d'une | Vous pouvez cependant forcer l'utilisation d'une courbe ECC plus grande en l'ajoutant après le certificat ssl défini par la directive <code>SSLCertificateFile</code> (il faudra donc le faire pour chaque site que vous sécurisez en ssl ...) : | ||
<pre>openssl ecparam -name | |||
cat /etc/ssl/private/ | <pre>openssl ecparam -name secp384r1 -out /etc/ssl/private/ecdhsecp384r1.pem | ||
cat /etc/ssl/private/ecdhsecp384r1.pem >> /etc/ssl/votresite.tld.pem | |||
</pre> | </pre> | ||
Ligne 29 : | Ligne 30 : | ||
<pre>openssl ecparam -list_curves</pre> | <pre>openssl ecparam -list_curves</pre> | ||
A l'heure ou j'écris ces lignes : | |||
* firefox 52 supporte les courbes x25519, secp256r1, secp384r1 et secp521r1 | |||
* chrome 57 supporte les courbes tls_grease_8a8a, x25519, secp256r1 et secp384r1 | |||
* vous pouvez vous faire une idée des courbes supportés pour chaque navigateur ici : https://www.ssllabs.com/ssltest/clients.html | |||
<br> | |||
On peut aussi vérifier la courbe utilisé : | On peut aussi vérifier la courbe utilisé : | ||
<pre>openssl ecparam -in /etc/ssl/private/ | <pre>openssl ecparam -in /etc/ssl/private/ecdhsecp384r1.pem -text -noout</pre> | ||
Dès Apache 2.4.8 et OpenSSL 1.0.2, on peut dire a apache quelle courbe utiliser de manière globale par ordre de priorité et ce pour tous les sites (plus de necessité de le faire dans chaque fichier .pem) : | Dès Apache 2.4.8 et OpenSSL 1.0.2, on peut dire a apache quelle courbe utiliser de manière globale par ordre de priorité et ce pour tous les sites (plus de necessité de le faire dans chaque fichier .pem) : | ||
Ligne 69 : | Ligne 75 : | ||
nmap --script ssl-cert,ssl-enum-ciphers -p 443,465,993,995 yoursite.tld | nmap --script ssl-cert,ssl-enum-ciphers -p 443,465,993,995 yoursite.tld | ||
</pre> | </pre> | ||
https://ssllabs.com <br> | |||
https://tls.imirhil.fr | |||
=HSTS, HPKP et DANE/TLSA= | =HSTS, HPKP et DANE/TLSA= |