2017-12-18

L’importance de TLS sur Internet (2)

L’autre fois, nous vous avions parlé de TLS en général. Or, pour l’installer sur un serveur et veiller à sa bonne configuration est une autre histoire.

Pour obtenir un certificat SSL, il est nécessaire de l’obtenir à partir d’une autorité de certification de confiance dont ses certificats ont été installés dans le root (là où sont installés les certificats de compagnies comme AddTrust, DigiCert, Verisign, Comodo, GoDaddy, Google, Microsoft, Let’s Encrypt, Gouvernement chinois… la liste est longue) sinon cela ne marchera pas (CACert par exemple).

Ces autorités vont alors vous fournir trois textes: le certificat, la clé privée et le CABundle, contenant à la fois l’intermédiaire et le certificat root). Vous devrez les installer dans votre panneau de configuration (Plesk, cPanel, ZPanel, vistapanel), puis appliquez l’installation sur les domaines concernés par le certificat (le plus souvent www et le domaine nu).

Maintenant, vous avez désormais un site accessible avec HTTPS, les communications sont protégées.

NB: cPanel fonctionne un peu différemment, ce dernier en génère automatiquement à partir de AutoSSL et vous avez déjà un certificat DV.

C’est maintenant bien beau d’avoir SSL, mais c’est important de faire en sorte que SSL soit toujours activé par défaut ou, du moins, relativiser les URL pour ceux qui ne peuvent qu’utiliser un site en HTTP (à cause du fait que l’extension SSL SNI ne peut pas marcher sur des systèmes comme Windows XP). Il faut modifier toutes les URLs sur le site et, si vous utilisez WordPress, choisissez un plugin “remove HTTP”. Or, si vous voulez forcer SSL, il est facile de faire rediriger HTTP vers HTTPS grâce au fichier .htaccess. Il y a des milliers d’itérations pour ce code, ça dépend de la configuration du serveur. Alors, voici un exemple:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ //www.example.com/$1[R,L]

Remplacez www.example.com par votre site web.

N’oubliez pas aussi de bien vérifier SSL sur votre site pour être sûr que des erreurs n’apparaissent pas. Il y a aussi une addition assez intéressante pour votre site: HSTS. Cet en-tête HTTP indique au navigateur qu’il est obligatoire de se connecter sur un site en HTTPS (donc avec SSL/TLS). Il est aussi possible de rajouter “preload” pour faire en sorte que tous les navigateurs possèdent le paramètre HSTS et l’appliquent automatiquement (implanté dans le logiciel).