HTTPS / SSL partout ?

Une questions qui revient souvent c’est: est-ce que je dois mettre tout mon site en SSL / HTTPS?

Si vous avez un certificat SSL, la réponse est simple: oui! Si vous avez une petite société, vous pouvez avoir un certificat pour moins de 200.- / an.

Si vous vendez des objets, gérez des données d’utilisateur, sécurisez tout avec du https! Y compris (et surtout) quand vous avez une API.

Pourquoi?

Parce que vous aimez que votre site marche sans problèmes! En effet j’ai vu nombre de sites qui gèrent mal le mélange http, https. Un des problèmes les plus courant étant l’insertion de contenu non sécurisé dans des pages “sécurisées” (on voit ensuite un cadenas cassé). Si votre site est entièrement sur du https, ce sera plus simple de voir et éviter des problèmes.

Parce que la vitesse des machines à évoluée et que vos utilisateurs ont des vitesses plus rapide qu’avant! Il y a une idée que SSL ralenti les sites, c’est vrai, mais c’est négligeable.

Car tout le monde le fait… C’était un argument de l’époque pour justifier un site mélangé http, https. Maintenant les “leaders” ont des sites sécurisés: Google, Twitter, facebook, etc!

Un des problèmes était le manque de support d’https par les moteurs de recherche. (SEO). Maintenant les moteurs de recherche sont tout à fait capable de gérer correctement https.

Car la qualité et sécurité est importante pour vous! Et le secret de la qualité, c’est la simplicité. Si vous mélangez un site sécurisé avec un site non sécurisé, vous rajoutez une raison de plus d’avoir des bugs!

Parce que la NSA est passée par la! Rien n’empêche la NSA de mettre un certificat “tierce”, avec environ 500 “autorités de certification”. Mais autant ne pas leur faciliter la tâche…. Si vous avez une certificat, autant l’utiliser.

Vous allez trouver nombre de posts qui disent le contraire… mais ces posts datent de plusieurs années en arrière, ou on été recopiés d’autres posts.

L’implémentation

Si vous prenez un certificat “wildcard”, vous avez la possibilité de sécurisé plusieurs sous-domaines. Par exemple api.nuage.ch, test-api.nuage.ch, www.nuage.ch. Ils sont un peu plus cher, mais cela reste négligeable par rapport au temps que va passer votre employé pour le configurer. Attention, vous n’aurez pas la petite icône verte disant que votre site est 100% sécurisé… mais c’est un peu du marketing.

Personnellement j’ai pris http://www.rapidssl.com/buy-ssl/wildcard-ssl-certificate/index.html – StartSSL semble pas mal non plus… https://www.startssl.com/?app=39

Sur APACHE2, j’ai la règle suivante.

<VirtualHost *>

ServerName api.mydomain.com

# We redirect to https
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]

….

</VirtualHost>

Tous les appels non sécurisés seront redirigé sur la version sécurisée du site.

Pourquoi pas du SSL sur ce site alors?

Bonne question 🙂