vendredi 8 juillet 2011

Quand et Pourquoi crypter/chiffrer ses connexions

Voici une page consacrée aux connexions cryptées/chiffrées et non cryptées/chiffrées.
Le but de cette page est de vous montrer qu'elles peuvent d'être les dangers de se connecter et d'utiliser certains services du net depuis des endroits non sûr (lieu public, Wifi public, hôtel, école etc..) ou sur internet.

Il peut aussi être utile de comprendre pourquoi d'utiliser des connexions cryptées/chiffrées contre les malwares ou contre certaines surveillances abusives.

Enfin cette page vous donnera quelques éléments pour crypter/chiffrer vos données sur des services courants (Mails, MSN etc).




La Théorie

Une connexion non cryptée/chiffrée est une connexion où les données transitent en clair sur un réseau.

Quand nous disons en clair, cela veut dire que si par exemple dans un service (Mail, Messagerie instannée, IRC, etc..), vous tapez la phrase "j'aime les dragibus", cette phrase va transiter sur le réseau telle que vous l'avez écrite.
Il en va de même pour les pages WEB (HTTP) ou les fichiers que vous pourriez échanger par FTP, Messagerie instannée.

Sur les captures ci-dessous, on voit le client mail Outlook Express en haut avec un mail. Le traffic internet et donc la réception du mail passe par une machine tiers puis le routeur internet. En bleu, on peut voir que la passerelle (gateway) est 192.168.1.5 qui est bien la machine avec le terminal (fenêtre noir) en bas.

On peut récupérer les commandes mails envoyés par Outlook et le USER et password (que j'ai masqué), il est alors tout à fait possible par la suite de récupérer les mails d'un compte.




Il est même possible de récupérer le contenu des mails qui transitent par cette machine... puisque les mails passent en clair sur le réseau.

Image

Sur une connexion WEB (http), ici un forum... il est facile de récupérer l'inscription ou l'identification avec le couple user/mot de passe.

Image

Image

A noter que dans le cas d'une identification automatique (cookies), il est possible de récupérer le cookie et potentiellement de le réutiliser pour s'identifier sur le forum.

Sur une connexion FTP.
Image

On peut multiplier les exemples sur tous les services où les données passent en clair.. MSN (voir plus bas), IRC etc.

Malware :
Dès lors il est tout à fait possible d'intercepter le contenu des échanges pour récupérer des informations qui nous intérésse (mot de passe, discussions etc.)
Dans le monde des malwares, une catégorie de malwares est spécialisé dans la récupération de données afin de les revendre (numéro de CB, Adresse email, mot de passe de compte bancaire, etc.), cette catégorie se nomme stealer.
Pour se faire, le malware doit surveiller un élément du système afin de récupérer ces données, cela peut aller de la frappe clavier, au scan de fichiers sur le disque à la recherche de données ou à l'écoute du traffic réseau en se greffant sur la chaîne LSP afin de récupérer les éventuelles mot de passe qui peuvent être saisi.

Dans le cas où ces données transitent en clair, cela est beaucoup plus facile pour le malware de récupérer ces mots de passe.

Sur un réseau et point d'accès :

Sur un réseau et sur internet, seul les équipements réseau utilisés entre un point A et B peuvent intercepter les données.
Sur un réseau domestique ou entreprise qui utilisent des switchs, si vous envoyez des données d'un PC A à un PC B, l'équipement C (qui peut être un PC) doit se trouver les PC A et B afin de pouvoir intercepter les données.
Etant donné que vous ne connaissez pas la topologie du réseau, vous n'êtes jamais certains qu'un équipement C se trouve entre un PC A et B.

Si vous utilisez des services sur internet depuis un réseau, depuis un accès public (Wifi public, hôtel etc), il est tout à fait possible pour l'administrateur d'intercepter les données sur le routeur puisque toutes les connexions qui vont et viennent d'internet transitent par ce routeur.

Enfin, une personne ayant les outils et compétences peut aussi intercepter vos données en effectutant de l'ARP Spoofing.
Le but étant à partir d'une machine C, faire croire à la machine A que vous êtes le routeur via une usurpation d'adresse IP, la machine C devient alors la passerelle vers internet de la machine A. Tout le traffic vers et d'internet passera alors sur la machine C qui pourra intercepter les données.

Sur Internet :

Lorsque vous effectuez une connexion vers un service internet, vous utilisez l'équipement réseau de votre fournisseur d'accès mais aussi celui d'autres réseaux.
Bref lorsque vous effectuez une connexion, votre paquet passe par divers routeurs, il est alors possible de récupérer les données depuis un de ces routeurs.

Image

Mini-Conclusion

Lorsque vous utilisez des services dont les connexions ne sont pas cryptées/chiffrées surtout dans des lieus publics (réseau entreprise, hôtel, cyber café etc), vous n'êtes jamais certains à 100% que le traffic n'est pas intercepté que ce soit de manière volontaire ou non (malware etc).
Vous devez donc faire attention aux éléments "non de confiance", c'est entre autre pour cela que les connexions soit disante anonyme via des proxys inconnussont de mauvaises idées, puisqu'il est possible de récupérer vos identifiants ou cookies, se reporter à la page Anonymisation sur internet avec Proxy WEB.

Il ne faut pas non plus tomber dans la paranoïa, si dans le cas d'une petite et moyenne entreprise, il y a de grandes chances que ce ne soit pas le cas (les administrateurs réseaux ne s'amusent pas à espionner les salariés), changer ses mots de passe régulièrement surtout après avoir utilisé un service dans un endroit public, wifi public etc.
Si vous avez le moindre doute, utilisez des connexions cryptées/chiffrées ou n'utilisez pas certains services (mail etc).

Chiffrer/Crypter ses services

Voici quelques éléments pour chiffrer certains services.

Mail

Comme nous l'avons vu plus haut, il est possible d'intercepter les informations de connexions et/ou le contenu des mails.
Dans le cas des mails il faut distinguer deux choses :
  • L'authentification lors de la relève des mails - Dans le cas d'un client mail, celle-ci passe en clair puisque ce sont des connexions POP3 ou IMAP. L'équivalent chiffré/crypté est POP3S (qui utlilise le protocole SSL), cependant la casi totalité des FAI n'offre pas encore ce service. Par contre, dans le cas d'un webmail (gmail, hotmail etc), la majorité propose des connexions HTTPS, l'authentification se fait donc de manière cryptée (attention par contre à la récupération des cookies).
  • Le contenu, c'est à dire le mail qui transitent d'un serveur SMTP à l'autre et ou depuis le serveur POP3/IMAP lors de la relève des mails. Il est alors possible de chiffrer/crypter le mail lui même afin que personne ne puisse lire le contenu.

Pour chiffrer/crypter vos emails, je vous renvoie à cette page qui propose l'utilisation de GnuPG : http://www.malekal.com/Chiffrer_Mails.php


Surf et connexions HTTP :

Lorsque vous surfez les pages WEB que vous consultez passent en clair sur le réseau, ce qui peut poser des soucis lors de l'authentification sur certains services (par exemple les forums comme le montre les captures dans le paragraphe précédent).

HTTPS (HTTP + chiffrage TLS) est le protocole chiffrée/cryptée qui est utilisé notamment lors des paiements en ligne ou lors de l'authentification sur certains services (Gmail ou Hotmail par exemple).

Il n'existe pas de moyen pour avoir des pages chiffrées/cryptées du début à la fin, si le serveur en face ne propose pas de connexion HTTPS.

Les proxys peuvent permettre l'anonymat :
  • au niveau de vous fournisseur d'accès, puisque ce dernier ne verra qu'une connexion Wifi
  • au niveau du serveur WEB que vous consultez, l'IP logguée sera celle du proxy et non la votre. (Après il y a les histoires de X-Forward donc ce n'est pas sûr à 100%).

Certains proxy offrent des connexions chiffrées, néanmoins entre le proxy et le serveur HTTP la connexion sera en clair si le serveur n'est pas du HTTPS.
Enfin les proxys peuvent récupérer vos informations de connexion, ce n'est donc à l'arrivée une solution qui peut causer plus de problème de sécurité qu'en résoudre, se reporter à la page : Anonymisation sur internet avec Proxy WEB.

Il existe ensuite d'autres projets (je n'ai pas testé) qui permettent l'anonymat et plus ou moins le chiffrage lorsque vous surfez :
  • Tor : c'est un réseau, chaque ordinateur fait office de proxys et transfèrent des paquets chiffrés, seul le dernier noeud qui établi la connexion avec le site WEB envoit un paquet en clair. Le chemin (et donc le dernier noeud) change à chaque fois, il est alors impossible de suivre une connexion d'un internaute en permanence. Le système n'est donc pas parfait.
  •  I2P : réseau anonyme où chaque internaute fait office de pair transférant des paquets chiffrés. Il est alors possible de faire fonctionner certains services internet sur ce réseau.


Messagerie Instannée : MSN

Le contenu des discussions sur MSN par défaut est en clair.
Dans la capture ci-dessous, à gauche, un message est envoyé qui est récupéré dans la fenêtre de droite.
Comme le montre les connexions récupérées dans le terminal du bas, où l'on voit d'ailleurs la connexion au serveur MSN 65.54.171.26:1863, il est possible d'intercepter la discussion.
Image

La même chose mais dans l'autre sens :
Image

Dans le cas du client Windows Live Messenger, je n'ai pas trouvé de plug-in qui permet le cryptage des connexions.
Il existe quelques scripts pour Messenger Plus! mais ces derniers ne sont pas très pratique d'utilisation (voir http://www.msgpluslive.net/scripts/search/?q=crypt) puisque vous devez saisir des commandes pour envoyer les messages cryptés, ce qui devient vite pénible lors de longue conversation.

Pour les clients libres et notamment Pidgin, il existe un projet Off-The-Record (OTR) qui crypte les conversations.
Il suffit alors d'installer le plug-in pour Pidgin.
  • Dans le menu Outils / Plugins, cochez "Messagerie Confidentiel 'Off-The-Record' pour l'activer
  • Cliquez sur Configurer le plugin
  • En haut, cliquez sur Produire pour générer un couple de clef

Sur vos messages privés, vous avez maintenant à droite, un onglet "privés" "non privés" qui stipule si la connexion est cryptée/chiffrée ou non.

Lors d'une connexion privée, le contenu intercepté est bien crypté/chiffré.
Image

Si l'on repasse en discussion non privée, on retrouve alors le contenu en clair.
Image

Le principal obstacle est que OTR doit être actif de part et d'autre or il n'existe pas de plugin pour Windows Live Messenger.
Sur le site d'OTR (http://www.cypherpunks.ca/otr/index.php), vous pouvez télécharger un "AIM proxy" - Le but étant de faire passer n'importe quel client AIM par ce proxy qui va crypter la connexion.
Il suffit de l'installer et dans les paramètres de connexions de votre client AIM de stipuler soit un serveur
  • Socks adresse : localhost et port 1080
  • ou un serveur HTTP toujours en adresse localhost mais port 8080.

Depuis le proxy vous générez les clefs; le proxy cryptera/chiffera alors la communication..
Malheureusement j'ai essayé avec Windows Live Messenger et cela n'a pas fonctionné.

Bref si vous utilisez Windows Live Messenger, vous pouvez dire en revoir au chiffrage des conversations.

Quelques liens pour d'autres cliens de messagerie :

A noter que le protocole Jabber chiffre les conversations par défaut via par exemple le client Gajim.

IRC Chat

Les deux clients les plus répandus (X-Chat et mIRC) permettent les connexions SSL.
La connexion se fait en général sur un port en particulier, renseignez vous sur le site WEB du réseau IRC que vous utilisez pour connaître le port SSL.
ns services via ce protocole (P2P etc),

Proxy over SSH

Le but d'un proxy HTTP over SSH est de faire passer votre traffic internet via un proxy HTTP à travers un tunnel SSH, les données qui transiteront vers ce proxy seront donc
cryptées/chiffrées.

Ceci à est utiliser lorsque vous vous connectez depuis un réseau non sûr (hôtel, Wifi public etc). Le traffic à travers ce réseau sera chiffré/crypté et il ne sera alors pas possible de récupérer les informations de connexion, le traffic proxy/services internet que vous consultez sera lui en clair.

Tout le traffic sera chiffré, les services accessibles seront ceux fournis par votre proxy, vous pouvez donc ouvrir les mail, MSN ou HTTP. Bref les services qui vous interressent.

Image

En pratique, une petite vidéo... où l'on voit la connexion au forum avec la récupération des identifiants (les données passent en clair).
Lorsque l'on active le proxy sur Internet Explorer, les données passent en cryptées et on ne peux plus récupérer les identifiants sur le réseau.



Ceux dont vous avez besoin :

Sur la machine à partir de laquelle vous souhaitez vous connecter au tunnel SSH, vous devez avoir un client SSH, par exemple putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/
  • Créez une session avec les informations de connexion SSH et sauvegarder là (bouton Save).
  • Allez ensuite dans l'onglet SSH / Tunnel
  • Dans local port saisir le port à de connexion du tunnel.
  • Dans Direction, saisir ipserveurproxy:port, adressemonserveurproxy.com:3128
  • Cliquez sur Add pour ajouter les ports.
  • Revenez à l'onglet Session et cliquez sur Save pour enregistrer les modifications.
  • Etablissez la connexion SSH

Ouvrez votre navigateur WEB puis ouvrez les paramètres de connexions proxy
(Sur Internet Explorer : Menu Outils / Options Internet / Onglet Connexions en bas).
(Sur Firefox : Menu Editions / Préférences puis Onglet Avancées et Réseau).

Dans les informations de connexions du proxy, saisir localhost et le port que vous avez mis en local sur putty.

A noter que vous pouvez utiliser ce système pour envoyer de fichiers de manières crypter avec WinScp par exemple : http://winscp.net/eng/index.php

Enfin, dans le cas où vous vous connectez depuis un réseau avec des restrictions, le fait de passer par votre proxy peut vous permettre d'accepter à des sites bloqués, dans ce cas, il faut configurer le proxy chez vous sur un port qui n'est pas bloqué en sorti (par exemple le port 80).

Conclusion

Comme vous avez pu le voir, il n'est pas forcément simple de crypter/chiffrer ses connexions du moins pour ce qui est du surf et des messageries instannées.
Dans le cas des mails, GPG est assez simple d'utilisation, il ne reste plus qu'à convaincre vos amis de passer le pas!Image

Aucun commentaire:

Enregistrer un commentaire

Related Posts Plugin for WordPress, Blogger...