Archive

Archives pour 01/2011

Pourquoi le ssl ?

Vous avez sans doute remarqué, mais ce site utilise le SSL en tout temps. Voici pourquoi.

D’abord, pourquoi le ssl ?

Un navigateur internet échange des informations avec le serveur à chaque requête. Quand l’ordinateur qui navigue sur ce site est situé dans un réseau non-protégé – ex.: un réseau sans-fil non-protégé dans un café internet ou une bibliothèque – les informations échangées sont accessible à toute personnes sur ce même réseau. Le plugin Firesheep sorti à la fin 2010 a prouvé qu’il était facile et aisé de capter ces informations et les utiliser pour saisir la session d’un usager, sans même avoir eu sont mot de passe.

Donc, si vous naviguer sur facebook dans un café internet par exemple, même si votre ordinateur était déjà connecté, un étranger peut capturer votre cookie de session et se faire passer pour vous sans aucune difficulté. Si votre logiciel de courriel est ouvert, et bien c’est encore pire, l’individu aura alors votre mot de passe de courriel.

Lorsque la navigation est en SSL, ou HTTPS, alors ce cookie de session est transmis encrypté, de manière sécure. Toutefois, le SSL n’est pas infaillible. Il est possible de faire certains type d’attaque du type « homme dans le milieu » qui, dans certains circonstances, pourrais compromettre vos transmissions.

Je crois qu’à partir du moment où un internaute doit envoyer la moindre parcelle d’information à un serveur, ça devrait être en SSL. Un certificat SSL peut ne rien coûter. Comme celui de ce site, il est fournit par StartSSL, qui fournit des certificat SSL de base gratuitement.

Même un certificat signé par GeoTrust, un des joueurs majeurs dans le domaines des certificats de sécurités, peu couter en bas de 30 $CAD lorsqu’acheté chez un grossiste comme Trustico. On ne peut donc pas dire que le coût d’achat d’un certificat SSL est une raison pour ne pas en avoir un sur son site.

Certains diront que ça demande plus de capacité sur le serveur pour transiger en SSL. Cela est complètement faux. Cela demande un certain effort en CPU pour établir une connexion SSL. Mais avec la puissance des ordinateurs et des serveurs de nos jours, combiné au fait qu’après la négociation initiale, la clef d’encryption est conservé en cache de part et d’autre, utiliser SSL n’apporte aucun effort supplémentaire.

Goole a récemment forcé l’usage du SSL pour son outil de courriel, Gmail. Google a rapporté qu’après l’avoir fait, la charge sur ses serveurs n’avait pas augmenté de manière significative.

Que faire alors ?

Alors entre en jeu un nouvel entête HTTP qui est le STS ou Strict Transport Security. Ce entête indique à votre navigateur que ce site utilise toujours et utilisera toujours le SSL, et de ne pas accepter un certificat maison ou expirer. Vous n’aurez même pas la chance de passer par dessus un avertissement indiquant que le certificat est invalide ou expiré. Ainsi un attaquant ne peut pas s’insérer entre vous et le serveur en vous renvoyant les informations de manière non-crypté car votre navigateur sait que ce site n’accepte que les communications SSL.

Par exemple, mon site renvois : « Strict-Transport-Security max-age=5184000 » dans es entête https. 5174000, c’est 60 jours en secondes. Donc, pour les 60 prochains jours, votre navigateur n’acceptera pas de se rendre sur mon site en http. À chaque visite, ce compteur est reparti.

Quel sont les navigateurs qui supporte le STS ?

  • Google Chrome supporte STS depuis la version 4.0.211.0.
  • STS est supporté dans les build (développement) quotidiens Firefox depuis le 25 août 2010
  • L’extension NoScript pour Firefox incorpore STS depuis la version 1.9.8.9.

Pour plus d’information :

Categories: Sécurité