HTML/TOR - Service web
Transcription
HTML/TOR - Service web
Démonstration 8 IFT6800 12 novembre 2015 1 HTML/CSS 1.1 Télécharger le code HTML d’une page C’est votre navigateur qui s’occupe d’afficher le contenu d’un fichier HTML convenablement. Vous pouvez afficher le code HTML d’un site web de la façon suivante : 1.1.1 Chrome Ctrl-U ou Outils > Afficher la source 1.1.2 Firefox Ctrl-U ou Outils > Développeur Web > Source de la page 1.1.3 Safari Menu > Preferences > Advanced Cochez “Show Develop menu in menu bar”. Fermez les préférences et cliquez : Develop menu > Show Page Source 1.2 Ouvrir une page HTML dans un navigateur Votre navigateur favori permet d’afficher n’importe quel code HTML, pas seulement ceux qui sont en ligne. Vous pouvez ouvrir un fichier HTML local dans votre navigateur en mettant dans la barre d’adresse le chemin sur votre 1 ordinateur de ce fichier. Par exemple, enregistrez le code HTML de la page des tableaux de Louis http://www-labs.iro.umontreal.ca/~salvail/atelier/page6ex.html Supposons que vous avez enregistré ce fichier sous /home/Download. Écrivez dans la barre d’adresse file:///home/Download/page6ex.html 1.3 Créez votre première page web “à la dure” Ouvrez un éditeur HTML. Un éditeur de texte fera l’affaire (blocnote, notepad++, emacs). Attention, n’utilisez pas Word, votre éditeur doit pouvoir enregistrer des fichiers avec extension .html. Sur Mac vous pouvez utiliser TextMate. Vous allez créer votre premier site web. Il ne sera pas en ligne, mais simplement enregistré sur votre ordinateur. Votre site web sera constitué de deux pages. Une contenant votre recette favorite et une page d’accueil. Votre page d’accueil doit contenir un lien vers votre page recette. Votre page recette doit contenir au moins tous les éléments suivants (avec les bonnes balises) : — — — — — — Un titre et des sous-titres (<title>, <h1>, <h2>, etc.) Une photo (<img>) Un lien vers la page d’accueil (<a>) Une liste (<ul>, <li>) Un tableau (<table>, <tr>, <td>) Un commentaire dans le code (<!-- commentaire -->) Vous pouvez partir du fichier page1.ex.html (l’exemple 1 de Louis). 2 Voici un exemple de page web pour ma recette favorite : 1.3.1 CSS Rendez votre site web joli à l’aide d’un fichier CSS. Vous pouvez en trouver une libre d’accès en ligne ou prendre celle de Louis pour commencer. Ajustez-la à votre goût. Lorsque vous êtes satisfaits, vous pouvez échanger vos fichers CSS avec vos voisins et appliquer la leur sur votre site. Testez votre site dans différents navigateurs. Remarque importante : dans votre prochain devoir, vous devez fournir votre propre fichier CSS, pas un que vous avez trouvé en ligne ou partagé entre vous. 2 Masquer les adresses IP Nous avons vu à la dernière démo comment un analyseur de paquets (paquet sniffer ) peut connaı̂tre l’adresse IP des deux parties impliquées dans une communication, ceci même si les données sont chiffrées sous SSL. 3 Est-ce que cette information est sensible ? Cela dépend ! Beaucoup souhaitent protéger cette information. Par exemple, plusieurs pays bloquent des services provenant et allant vers certaines adresses IP. Ceci peut empêche le libre accès à l’information. Ceci n’est qu’un exemple parmi tant d’autres, tout aussi légitimes. L’adresse IP entrante et sortante d’un paquet peut être sensible. Pensez à l’espionnage industriel, au droit d’accès à l’information des journalistes, aux affaires militaires, à la surveillance globale par les gouvernements, etc. En général, masquer son adresse IP est de mise lorsqu’on veut conserver son anonymat en ligne. Plusieurs solutions permettent de masquer l’adresse IP sortante et entrante des paquets transitant sur les réseaux. Un exemple populaire est Tor. Il existe d’autres solutions pour masquer (plus ou moins) son adresse IP. Plusieurs d’entre vous utilisez sûrement déjà des Proxy. En mots simples, un proxy est un intermédiaire logiciel entre deux noeuds d’un réseau. Il permet de filtrer le contenu auquel une adresse IP a accès (sites interdits dans une école, par exemple), d’accéder à des sites qui sont bloqués dans son pays, etc. Les proxy sont très pratiques, mais ont certaines limitations. Lorsqu’on utilise un proxy, on lui envoie en clair ses paquets. Il faut lui faire confiance ! Tor remédie à cette situation. 2.1 Tor https://www.torproject.org/ Tor (The Onion Router ) est un réseau de serveurs qui permet de mélanger les adresses IP des paquets. Le fonctionnement général de Tor est le suivant : Chaque serveur a une clé de chiffrement publique et privée. La clé de chiffrement publique est accessible à tous. Elle permet à tout le monde de chiffrer un message que seul le serveur ayant la clé privée correspondante pourra lire en clair. Imaginons un client qui souhaite envoyer un paquet à un serveur (quelconque) sur internet. Le client pige au hasard n serveurs faisant parti du 4 réseau Tor. Numérotons-les {s1 , s2 , . . . , sn }. — Le client chiffre son paquet avec la clé publique du serveur sn . — Puis il chiffre le paquet chiffré avec la clé publique du serveur sn−1 . — Puis il chiffre le paquet doublement chiffré avec la clé publique du serveur sn−2 . — Ainsi de suite ... — Le client chiffre le paquet une dernière fois avec la clé publique du serveur s1 . Le client envoie finalement son paquet chiffré en couche au serveur s1 . À ce moment, tout renifleur de réseau peut voir que le client communique avec s1 . Mais personne ne connaı̂t l’adresse IP de destination finale. Le réseau Tor aura ensuite le comportement suivant : — Le serveur s1 déchiffre le paquet reçu avec sa clé de chiffrement. Il apprend l’identité du prochains serveur s2 et l’identité du client, mais aucune information sur les serveurs suivants, ni de la destination finale. — Le serveur s2 déchiffre le paquet reçu avec sa clé de chiffrement. Il apprend l’identité du prochains serveur s3 et l’identité du serveur duquel il le reçoit (s1 ), mais aucune information sur les autres serveurs, ni même sur l’envoyeur initial. — Le protocole continue couche à couche jusqu’au dernier serveur Tor — Le serveur sn déchiffre le paquet reçu avec sa clé de chiffrement. Il apprend l’identité du serveur de destination finale. À chaque “couche de l’oignon” le serveur correspondant connaı̂t l’identité du serveur de la couche précédente et celle de la couche suivante, mais rien de plus ! Dans la pratique, pour utiliser Tor, il n’est pas nécessaire de faire toutes les étapes à la main. Il existe un navigateur Tor qui fait tout ça pour vous. Tor est complètement libre d’usage et les protocoles sont publics. Si vous avez un serveur web, il peut devenir un serveur Tor. Vous n’avez qu’à publier votre clé publique sur la liste des serveurs Tor et appliquer le protocole. Certains fournisseurs internet interdissent par contre à leurs membres d’héberger un serveur Tor. 5 Si plusieurs personnes utilisent Tor, une entité analysant tous les paquets du monde verrait une tonne de paquets entrer dans le réseau Tor, une tonne de paquets allant des serveurs Tor à d’autres serveurs Tor et une tonne de paquets sortant du réseau Tor sans pouvoir identifier quel paquet sortant correspond à quel paquet entrant. En fait, plus de personnes utilisent Tor, plus il devient sécuritaire. Il y a plusieurs limitations à Tor. Par exemple, il est facile pour un réseau de bloquer tous les paquets venant d’un serveur qui est connu comme un serveur Tor. Un autre désavantage est que chaque paquet doit passer par beaucoup d’intermédiaires, ce qui rend les communications plutôt lentes. Tor est également sensible à certains types d’attaques dites “temporelles”. Il est possible, par exemple, de suivre les paquets d’un client particulier si on sait que ce client envoie toujours des groupes de 10 paquets aux 10 secondes. De plus si tous les serveurs Tor tombent dans les mains d’une entité malveillante, cette entité connaı̂tra tous les chemins des paquets. D’une autre façon, si une entité possède beaucoup de serveurs sortants (ceux qui déchiffrent le serveur de destination), elle peut en apprendre beaucoup sur les usagers Tor. Plusieurs entités gouvernementales et privées ont été coupables de tentatives de ce type d’attaque. Tor n’est pas la panacée garantissant l’anonymat. Plusieurs facteurs autres que les paquets peuvent divulguer une adresse IP, comme plusieurs plug-in et certaines applications traitant des fichiers téléchargés. Voilà pourquoi la communauté Tor suggère d’utiliser exclusivement le navigateur Tor et de ne traiter les fichiers téléchargés que lorsque l’ordinateur est hors-ligne. 6