Sécurisation des pages web
La configuration SSL
La page Mozilla web server SSL config generator permet de configurer mieux les pages servies par les serveurs web (apache pour moi), en donnant des règles concernant les certificats, les protocoles ssl.
Voilà un exemple de configuration générée par le site Mozilla indiqué ci-dessus:
<VirtualHost *:443>
...
SSLEngine on
SSLCertificateFile /path/to/signed_certificate_followed_by_intermediate_certs
SSLCertificateKeyFile /path/to/private/key
# Uncomment the following directive when using client certificate authentication
#SSLCACertificateFile /path/to/ca_certs_for_client_authentication
# HSTS (mod_headers is required) (15768000 seconds = 6 months)
Header always set Strict-Transport-Security "max-age=15768000"
...
</VirtualHost>
# modern configuration, tweak to your needs
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
SSLHonorCipherOrder on
SSLCompression off
SSLSessionTickets off
# OCSP Stapling, only in httpd 2.3.3 and later
SSLUseStapling on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache shmcb:/var/run/ocsp(128000)
Il précise les protocoles recommandés ainsi que les méthodes de chiffrage actuellement sûres.
La configuration des en-têtes
Les entêtes sont envoyés aux clients, et ils sont libres de les respecter ou non ... On peut utiliser la page de test suivante pour configurer les entêtes renvoyés avec chaque page web: https://observatory.mozilla.org/analyze/www.yojik.net par exemple pour analyser le site www.yojik.net.
Voilà un exemple de résultats, avec certains entêtes configurés et d'autres non; la note globale n'est pas bonne, et il faudra améliorer la configuration.