Sécurisation SSL / TLS de apache

De Linux Server Wiki
Aller à la navigation Aller à la recherche


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
  • SSLCipherSuite peut lui être défini plusieurs fois à condition d'aller du plus sécurisé au moins sécuriser (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 : cat signing_ca.pem intermediate_ca.pem root_ca.pem > cachain.pem


Non vulnérable a l'attaque RC4, mais vulnérable a BEAST

SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4 !EXPORT"

non vulnérable a BEAST, vulnérable a l'attaque RC4

SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !EXPORT"

Configuration recommandée pour une sécurité maximum

SSLProtocol             all -SSLv2 -SSLv3 -TLSv1
SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK

tests

openssl s_client -connect yoursite.tld:443 -ssl3
openssl s_client -connect yoursite.tld:443 -tls1
openssl s_client -connect yoursite.tld:443 -tls1_1
openssl s_client -connect yoursite.tld:443 -tls1_2
nmap --script ssl-cert,ssl-enum-ciphers -p 443,465,993,995 yoursite.tld

Accessoirement, mozilla a publié | un guide ainsi qu'un | générateur de configuration plutôt efficace.

HSTS, HPKP et DANE/TLSA