Un HTTPS efficace

PUBLISHED ON OCT 28, 2015 — SYSADMIN

Configurer un serveur web prenant en charge TLS, c’est compliqué à faire …

Nan je déconne ! En fait, c’est super simple !

Connaissant surtout Apache2, ce billet ne concernera que ce soft.

Je considère que vous avez déjà un certificat SSL de disponible, si vous voulez plus d’infos sur comment le créer : wiki.gandi.net/fr/hosting/using-linux/tutorials/ubuntu/ssl (1)

Let’s go !

Tout d’abord, il faut dire à Apache que vous voulez du SSL/TLS :

# a2enmod ssl

Ensuite vous allez dans votre VirtualHost SSL et vous ajoutez :

SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.tld.crt
SSLCertificateKeyFile /etc/ssl/private/example.tld.key
SSLCertificateChainFile /etc/ssl/certs/GandiStandardXXXXX.pem
SSLCipherSuite EECDH+AES:+AES128:+AES256:+SHA
SSLHonorCipherOrder on
SSLProtocol all -SSLv2 -SSLv3
SSLCompression off

Explications

SSLEngine on

Active SSL.

SSLCertificate*

Charge les certificats dont Apache2 aura besoin pour négocier la connexion sécurisée.

SSLCipherSuite EECDH+AES:+AES128:+AES256:+SHA

Liste des algorithmes autorisés.

SSLHonorCipherOrder on

Demande à Apache2 d’utiliser les algorithmes de chiffrement dans l’ordre définit dans SSLCipherSuite.

SSLProtocol all -SSLv2 -SSLv3

Tous les protocoles peuvent être utilisés sauf SSLv2 et SSLv3.

SSLCompression off

Désactiver la compression d’SSL.

C’est l’heure du test

Une fois que vous avez modifié votre configuration et redémarré Apache2, essayez d’accéder à votre site en HTTPS.

Si tout se passe bien, il est temps de chercher les problèmes !

Allez sur : www.ssllabs.com/ssltest/ et entrez l’url de votre site web en HTTPS.

SSLLabs va tester votre serveur et établir une note en fonction de la qualité de votre configuration.

Normalement, avec cette configuration, vous devriez obtenir un A.

Vous pouvez aussi utiliser le service d’Aeris : tls.imirhil.fr.

UPDATES

(1) Il y a maintenant Let’s Encrypt pour générer des certificats valides et gratuits.