Passer son site internet de HTTP à HTTPS (mode sécurisé)

 

Il y a peu de temps (en août dernier), Google a annoncé de manière claire que la sécurité des sites internet était une de ses priorités. C'est pourquoi tout site utilisant  HTTS (HTTP over TLS - Transport Layer Security) aurait un petit coup de pouce pour le référencement via son moteur de recherche. Il faut savoir que le critère numéro un du référencement pour Google reste la qualité du contenu des sites internet. Il faut dorénavant continuer dans cette voie en apportant plus de sécurité pour les internautes. Nous pouvons rappeler rapidement trois avantages du protocole HTTPS par rapport au HTTP : le cryptage, la confidentialité et l'intégrité des données échangées entre l'internaute et le site internet visité.

Tous ces paramètres peuvent donc faire pencher la balance vers le choix d'un site internet en HTTPS. Mais alors comment faire passer son propre site internet de HTTP vers HTTPS ? Je vais vous parler des généralités avec le rôle central des certificats SSL ainsi que des modifications à apporter sur le serveur web. Puis, nous verrons à la fin un outil web très pratique qui permet d'analyser la qualité de la configuration mise en place.

 

  • Certificat SSL

Un des avantages du HTTPS est d'assurer à l'internaute qu'il est sur le bon site internet. En effet, ces derniers temps de plus en plus d'arnaques par hameçonnage sont mises en place par les pirates informatiques. Les navigateurs internet se soucient des internautes en indiquant au moyen d'un cadenas (à côté de la barre d'adresse) les "sites sécurisés".

La vérification des sites internet utilisant le HTTPS s'opère grâce à un certificat délivré par des organismes de certification reconnus (GeoTrust, Thawte, Verisign, etc.). Leur rôle est "d'enquêter" sur l'identité de la personne responsable du site internet demandant le certificat SSL par l'intermédiaire de vérifications préalables. Ce processus varie suivant différents niveaux de sécurité avec des procédures plus ou moins lourdes en fonction des besoins. En effet, il est possible d'obtenir des certificats gratuitement, alors que d'autres coûtent très cher. Il y a ainsi 5 classes de certificat qui s'adapte en fonction des besoins (classe 1 : individu, serveur mail - classe 5 : grosse entreprise privée, gouvernement). Chaque fournisseur a sa méthode pour vérifier les informations et de nombreux tutoriaux sont fournis sur internet.

À la fin de la procédure d'obtention du certificat SSL, vous devez avoir trois fichiers indispensables aux formats : .crt (certificat .csr signé par l'organisme de certification choisi), .key (clé privée) et .pem (concaténation du .crt de votre nom de domaine et du .crt de l'organisme de certification). Ces fichiers doivent alors être déposés sur le serveur qui héberge votre site internet.

 

  • Redirection de HTTP vers HTTPS

Un test rapide est de mettre dans la barre d'adresse l'URL "http://www.votre-site.fr" (où votre-site.fr correspond à votre nom de domaine) afin de voir si votre serveur l'accepte. Si oui, la configuration de votre serveur HTTP doit être modifiée. Dans le cas contraire votre serveur web redirige correctement les requêtes HTTP vers HTTPS.

 

Cas d'un serveur web Apache

Toutes les règles de sécurité et de redirections d'un serveur HTTP fonctionnant sous Apache se trouvent dans le fichier ".htaccess". Ce sera donc dans ce fichier (présent dans le dossier racine de votre serveur web) qu'il faudra apporter les modifications de redirection. Il vous faudra donc ajouter les lignes suivantes (après la ligne d'activation des redirections "RewriteEngine On" - à ajouter le cas échéant) avec votre éditeur de texte favori :

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Petite précision : le protocole HTTP fonctionne sur le port 80 (par défaut) alors que le trafic HTTPS passe par le port 443. Il faut donc ouvrir le port 443 afin que le trafic HTTPS puisse être traité convenablement par votre serveur web. Il faut alors modifier le fichier de configuration de votre site internet sur Apache :

vi /etc/apache2/sites-available/votre-site.com

Ajouter à la fin du fichier les lignes suivantes (à modifier en fonction de votre nom de domaine et de l'endoit où sont situés les fichiers liés au certificat SSL) :

NameVirtualHost *:443
<VirtualHost *:443>
     ServerAdmin webmaster@votre-site.com
     ServerName votre-site.com
     ServerAlias www.votre-site.com
     DocumentRoot /var/www/votre-site.com/
     ErrorLog /var/www/votre-site.com/logs/error.log
     CustomLog /var/www/votre-site.com/logs/access.log combined
     SSLEngine on
     SSLCertificateFile /var/www/tls/votre-site.com.crt
     SSLCertificateKeyFile /var/www/tls/votre-site.com.key
     SSLCertificateChainFile /var/www/tls/sub.class1.server.ca.pem
</VirtualHost>

Il faut redémarrer le service Apache sur votre serveur afin que la configuration soit prise en compte :

service apache2 restart

Maintenant les requêtes HTTP doivent toutes se transformer en HTTPS !

 

  • Vérification

Il existe un outil web complet qui permet d'avoir un aperçu de la sécurité de son site internet : Qualys SSL Labs. Dernièrement j'ai décidé de passer mon site internet de HTTP vers HTTPS et j'ai donc pu tester sa sécurité grâce à cet outil :

Qualys SSL Labs Résultats

Cet outil donne des pistes pour rapidement améliorer la sécurité de son site internet comme par exemple la désactivation du protocole SSLv3 (vulnérable aux attaques POODLE).

 

Ajouter un commentaire