Introduction aux Réseaux (2 ème partie)



Documents pareils
SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Présentation du modèle OSI(Open Systems Interconnection)

GENERALITES. COURS TCP/IP Niveau 1

TAGREROUT Seyf Allah TMRIM

Mr. B. Benaissa. Centre universitaire Nâama LOGO

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Cloud public d Ikoula Documentation de prise en main 2.0

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

L3 informatique Réseaux : Configuration d une interface réseau

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

Service de certificat

Réseaux CPL par la pratique

Cours CCNA 1. Exercices

Guide d'initiation aux. certificats SSL. Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en ligne. Document technique

Administration Réseau sous Ubuntu SERVER Serveur DHCP

ETI/Domo. Français. ETI-Domo Config FR

Réseaux et protocoles Damien Nouvel

But de cette présentation

[ Sécurisation des canaux de communication

acpro SEN TR firewall IPTABLES

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

Serveur FTP. 20 décembre. Windows Server 2008R2

SECURIDAY 2013 Cyber War

Plan. Programmation Internet Cours 3. Organismes de standardisation

Serveur de messagerie sous Debian 5.0

Installation d un serveur DHCP sous Gnu/Linux

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

TP a Notions de base sur le découpage en sous-réseaux

Présentation Internet

USERGATE PROXY & FIREWALL. Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

TP c Fonctions des listes de contrôle d'accès multiples (TP avancé)

Date : NOM Prénom : TP n /5 DISTANT : CONCEPTS ET DIFFÉRENCES

Devoir Surveillé de Sécurité des Réseaux

Comment utiliser mon compte alumni?

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Le service FTP. M.BOUABID, Page 1 sur 5

Configurer l adressage des serveurs et des clients

Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

TARMAC.BE TECHNOTE #1

L exemple d un serveur Proxy sous Windows NT 4 SERVER MICROSOFT PROXY SERVER 2 Installation et configuration Auteur : Eliane Bouillaux SERIA5

Sécurité des réseaux Firewalls

Cisco Certified Network Associate

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Le Multicast. A Guyancourt le

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Le protocole SSH (Secure Shell)

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Mise en œuvre d une Gateway HTTP/HTTPS avec un serveur de Présentation en DMZ

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Assistance à distance sous Windows

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203

LAB : Schéma. Compagnie C / /24 NETASQ

BARREAU PACK Routeur Sécurisé Avocat MANUEL D INSTALLATION

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Rappels réseaux TCP/IP

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

NOTE D'APPLICATION CONCERNANT LA MISE EN SERVICE DE MATERIELS SUR RESEAU IP

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Cisco Certified Network Associate

BIND : installer un serveur DNS

Introduction. Adresses

7.1.2 Normes des réseaux locaux sans fil

Services Réseaux - Couche Application. TODARO Cédric

Installation de Windows 2003 Serveur

Guide d installation Caméras PANASONIC Série BL

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

Installation et utilisation d'un certificat

Figure 1a. Réseau intranet avec pare feu et NAT.

Personnaliser le serveur WHS 2011

Introduction aux Technologies de l Internet

Cours 14. Crypto. 2004, Marc-André Léger

ALOHA Load Balancer 2.5. Guide de démarrage rapide. EXCELIANCE ALOHA 2.5 Guide de démarrage rapide 30/01/2008 1/17

Internet haute vitesse - Guide de l utilisateur. Bienvenue. haute vitesse

Sage CRM. 7.2 Guide de Portail Client

TP réseau Les réseaux virtuels (VLAN) Le but de se TP est de segmenter le réseau d'une petite entreprise dont le câblage est figé à l'aide de VLAN.

Créer son réseau personnel

L annuaire et le Service DNS

Les réseaux informatiques

DIFF AVANCÉE. Samy.

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Protéger une machine réelle derrière une machine virtuelle avec pfsense

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Tutoriel d'introduction à TOR. v 1.0

Couche application. La couche application est la plus élevée du modèle de référence.

L accès à distance du serveur

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

Chapitre 6 -TP : Support Réseau des Accès Utilisateurs

Guide de l'utilisateur

Installation de serveurs DNS, WINS et DHCP sous Windows Server 2003

Sécurisation du réseau

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet

Petit guide des sous-réseaux IP

Configurer et sécuriser son réseau sans fil domestique

SERVEUR DE MESSAGERIE

Transcription:

Introduction aux Réseaux (2 ème partie) Nous allons maintenant découvrir d autres paramètres qui viennent compléter les informations que nous avons étudiées la semaine dernière pour un réseau IP : les adresses réseau, le masque de sous-réseau, l adresse de broadcast et la passerelle par défaut. 1.1.1 Sous-réseau L adresse IP d un ordinateur est composé de 2 éléments : une adresse réseau (un peu comme le groupe auquel on appartient), et une adresse hôte (notre identifiant unique à l intérieur de notre groupe). De plus, notez qu un ordinateur est capable de communiquer avec les ordinateurs qui appartiennent au même groupe, mais pour communiquer avec un ordinateur d un autre réseau, il lui faut passer par une passerelle (en assumant une configuration correcte des équipements réseaux). Alors, comment pouvons-nous savoir à quel adresse réseau notre ordinateur appartient? Bien, grâce à quelque chose qu on appelle le masque de réseau. En effet, dans le masque de réseau, tous les bits égaux à 1 indiquent la partie de l adresse IP qui appartient à l adresse réseau, et les bits à 0, la partie adresse hôte. Donc, en faisant un ET logique entre nôtre adresse IP et notre masque de réseau, nous obtiendrons en effet notre adresse réseau. Par exemple, si on suppose que nous avons une adresse IP 192.168.17.1, et un masque de réseau 255.255.240.0 : 11000000.10101000.00010001.00000001 ET 111111111.11111111.11110000.00000000 = 11000000.10101000.00010000.00000000 = 192.168.16.0 Un masque de réseau peut-être écrit sous sa forme complète (ex. 255.255.255.0), où seulement, en donnant le nombre de bits à 1, comme par exemple «/24». Donc 192.168.17.1/24 = 192.168.17.1 avec masque de réseau 255.255.255.0. Notez que dans une adresse réseau, les bits correspondant à la partie hôte doivent être égaux à 0. Par conséquence, combien de bits sont utilisés pour créer une adresse hôte dans l exemple précédant? 12 bits. Maintenant, si n est le nombre de bits pour adresser une machine, combien de machines peut-il avoir dans le réseau? La réponse est 2^n -2. -2 car l adresse avec tous les bits à 0 n est jamais utilisé (c est l adresse réseau) ni l adresse avec tous les bits à 1 (c est l adresse dite de broadcast, qui permet d envoyer un message à tous les membres d un certain réseau). Pour notre exemple, nous avons donc 2^12 2 adresses disponibles (= 4094). Enfin, si par définition, l adresse de broadcast est celle où tous les bits de la partie hôte sont égaux à 1, quelle est l adresse broadcast de notre exemple? C est donc le 11000000.10101000.00011111.11111111 = 192.168.31.255 1.1.2 Routage et broadcast Les deux adresses réservées sont utilisées pour: le sous-réseau lui-même et pour l adresse qui sera utilisée pour le broadcast. En effet, dans le routage de l information dans un réseau, plusieurs méthodes peuvent être utilisées suivant le type de communication souhaité. Nous avons vu jusqu à présent une communication entre deux machines (Unicast). Mais il est possible de faire des communications simultanées avec plusieurs machines du réseau (envoyer le même message à plusieurs machines simultanément). Le broadcast est la possibilité d envoyer un même message à destination de toutes les machines du sous-réseau. Nous ne détaillerons pas les autres modes de routage, mais sachez qu ils existent. 1 1

Type de routage Anycast Broadcast Multicast Unicast Géocast 1.1.3 Passerelle S il est intéressant de pouvoir communiquer avec toutes les machines de nôtre sous-réseau, il reste à pouvoir communiquer avec d autres sous-réseaux et le reste du monde (souvent représenté comme le nuage de l Internet). L entité qui nous permet de communiquer avec une machine placée dans un autre réseau c est la passerelle ou routeur. Une passerelle doit donc être connecté à au moins, 2 réseaux différents. Selon la configuration du réseau, on peut se retrouver à avoir plusieurs passerelles. La figure suivante montre un scénario typique d un réseau domestique : un ordinateur se connecte par Wi-Fi à Internet grâce au modem-routeur ADSL (la box). En Linux, les passerelles utilisées peuvent être listées avec la commande «route n». Dans la figure précédent, le résultat de la commande serait (en gardant les champs principaux) : Destination Gateway Genmask Iface 0.0.0.0 192.168.1.1 0.0.0.0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 wlan0 Sur la colonne «Destination», le «0.0.0.0» ou «default» indique la route par défaut (celui qui vous permet d atteindre le reste du monde). Sur la colonne «Gateway», le «0.0.0.0» ou «*» indique qu il n y a pas besoin de passerelle pour atteindre la destination. La colonne «Genmask» fournit le masque de réseau à appliquer sur l adresse IP destination d un paquet. Si le résultat de l opération est une adresse correspondant à celle donnée dans la colonne «Destination», alors ce paquet sera envoyé par l interface «Iface», en utilisant la passerelle associée. Un «Genmask» égale à «0.0.0.0» indique qu il n y a pas de masque de réseau à appliquer. 1.2 Un complément aux informations vues précédemment Si vous avez pris un peu de recul par rapport aux connaissances que vous avez acquises en TD sur le réseau (et donc réfléchi à tout cela), vous devez vous rendre compte qu il y a un manque dans les explications qui vous ont été données. Comment expliquer que plusieurs applications peuvent communiquer simultanément via Internet sur votre ordinateur (votre lecteur de mail, votre navigateur web, votre logiciel vous permettant d écouter de la musique sur Internet,...)? En effet, votre machine possède une adresse IP qui lui permet d être identifiée sur Internet et donc d envoyer des messages et de recevoir des réponses à ceux-ci. Comment l ordinateur va savoir, à la réception d un message par exemple, vers quelle application envoyer les données reçues? 2 Les ports 1 Ainsi, pour répondre à ce problème, chacune des applications s exécutant sur votre machine et devant communiquer se voit attribuer une adresse unique sur la machine, codée sur 16 bits: un port. La combinaison adresse IP + port est alors une adresse unique au monde : elle est appelée socket. 1 Section issue du site «Comment ça marche» : http://www.commentcamarche.net/ 2 2

L'adresse IP sert donc à identifier de façon unique un ordinateur sur le réseau tandis que le numéro de port indique l'application à laquelle les données sont destinées. De cette manière, lorsque l'ordinateur reçoit des informations destinées à un port, les données sont envoyées vers l'application correspondante. 2.1 Multiplexage Votre ordinateur dispose en effet d une connexion (au moins) au réseau afin de faire entrer et sortir des informations. Le processus qui consiste à pouvoir faire transiter sur une connexion des informations provenant de diverses applications s'appelle le multiplexage. De la même façon le fait d'arriver à mettre en parallèle (donc répartir sur les diverses applications) le flux de données s'appelle le démultiplexage. Ces opérations sont réalisées grâce au port, c'est-à-dire un numéro associé à un type d'application, qui, combiné à une adresse IP, permet de déterminer de façon unique une application qui tourne sur une machine donnée. Le problème est alors de savoir sur une machine donnée quelle application fonctionne sur quel port. En effet, quand vous vous adressez à un serveur Web sur une machine donnée (www.google.com par exemple), vous ne spécifiez pas le port sur lequel écoute le programme qui va vous répondre... Comment résoudre ce problème? En standardisant! 2.2 Assignation par défaut Il existe des milliers de ports (ceux-ci sont codés sur 16 bits), c'est pourquoi une assignation standard a été mise au point par l'iana (Internet Assigned Numbers Authority), afin d'aider à la configuration des réseaux et donc de définir quelques standards. Pour faire simple (on ne va pas entrer dans tous les détails pour ne pas vous donner trop d informations) : Les ports 0 à 1023 sont les «ports reconnus» ou réservés («Well Known Ports»). Ils sont, de manière générale, réservés aux processus système (démons) ou aux programmes exécutés par des utilisateurs privilégiés (vous savez le super utilisateur que l on a déjà étudié sous Unix et Windows). Un administrateur réseau peut néanmoins lier des services aux ports de son choix (des fois c est bien de brouiller les cartes, même si ce n est pas la solution ultime pour la sécurité) Les autres ports sont utilisables par vos applications pour faire les traitements adéquats. Voici la liste de certains ports reconnus les plus couramment utilisés: Port Service ou Application 22 SSH 25 SMTP 53 Domain Name System 80 HTTP 143 IMAP 2.3 Ports et Sécurité : Pare-feu Tous ces ports sur votre machine sont disponibles pour les programmes qui tournent sur votre machine, mais sont potentiellement accessibles pour les machines extérieures. Ceci est un problème par rapport à la sécurité de votre machine. Prenons l analogie suivante : si on considère que votre ordinateur est une maison, les ports de l ordinateur sont les portes de votre maison. Si vous laissez en permanence les portes de votre maison ouvertes, n importe qui peut 3 3

entrer ; la sécurité de votre maison n est donc pas assurée. Et si l on poursuit dans l analogie, ces portes de la maison sont des portes battantes que l on peut ouvrir ou fermer dans le sens entrant ou/et sortant. La fermeture des ports sur votre machine est réalisée grâce à un logiciel qui est le pare-feu ou firewall en anglais. Mais la notion de firewall est plutôt un concept qui peut être réalisé par un logiciel ou un matériel spécifique pour protéger un réseau local entier. Par défaut, les systèmes actuels comme Windows 7 ou 8 sont installés avec un firewall activé empêchant toute communication entrante et autorisant a priori les communications sortantes. 2.3.1 Activation du firewall sous Ubuntu Linux fournit un système très élaboré pour la mise en place des règles de votre pare-feu. Le mécanisme est inclus dans le noyau du système et est connu sous le nom de Netfilters. En tant qu utilisateur, vous avez accès à la commande iptables qui vous permet de configurer très finement les règles que vous souhaitez mettre en place. Certaines distributions actives par défaut un firewall sur votre machine. Ce n est pas le cas par défaut sur la distribution Linux que vous utilisez (Ubuntu). Il est donc nécessaire d activer le firewall pour protéger votre machine des attaques extérieures (et ainsi fermer toutes les portes de votre maison ; vous n aurez alors plus qu à ouvrir certaines portes au besoin). La commande sous Ubuntu pour configurer le pare-feu de votre machine est ufw (qui utilise elle-même iptables, mais qui est d usage beaucoup plus simple). Pour activer le firewall : sudo ufw enable Une interface graphique permet de créer et supprimer les règles sur votre machine : gufw (à installer). Dans la création d une règle, on peut autoriser le port à s ouvrir dans le sens entrée ou sortie (par défaut, tout le trafic dans le sens de votre ordinateur vers Internet (sortant) est autorisé, et tout le trafic entrant est interdit. Cela signifie que tout programme que vous lancez pourra envoyer des informations vers l extérieur et recevoir des informations (car c est lui qui ouvre un canal de communication avec l entité extérieure pour recevoir les informations). A contrario, tout programme venant de l extérieur de votre machine ne pourra accéder à aucun port de votre machine, sauf si vous lui ouvrez la porte. 2.3.2 Activation du réseau sous Windows Sous Windows, le pare-feu est a priori activé d office. Vous pouvez aller le vérifier en vous rendant dans la section : Démarrer / Panneau de Configuration / Système et sécurité / Pare-feu Windows. Lorsque vous lancez une nouvelle application, si celle-ci nécessite l ouverture d un port pour entrer sur votre machine, vous aurez une notification qui apparaîtra automatiquement. 3 Protocoles de Communication 3.1 Qu est-ce qu un protocole Un protocole de communication est une spécification de plusieurs règles pour un type de communication particulier. Communiquer consiste à transmettre des informations, mais tant que les interlocuteurs ne lui ont pas attribué un sens, il ne s'agit que de données et pas d'informations. Les interlocuteurs doivent donc non seulement parler un langage commun mais aussi maîtriser des règles minimales d'émission et de réception des données. C'est le rôle d'un protocole de s'assurer de tout cela. Par exemple, dans le cas d'un appel téléphonique : l'interlocuteur apprend que vous avez quelque chose à transmettre (après avoir composé le numéro, le combiné de l interlocuteur appelé sonne) ; il indique qu'il est prêt à recevoir (vous attendez qu'il décroche et dise "Allô") ; il situe votre communication dans son contexte («Je suis X. Je t'appelle pour la raison suivante...») ; un éventuel destinataire final peut y être identifié («Peux-tu prévenir Y que...») ; le correspondant s'assure d'avoir bien compris le message («Peux-tu me répéter le nom?») ; 4 4

les procédures d'anomalies sont mises en place («Je te rappelle si je n'arrive pas à le joindre») ; les interlocuteurs se mettent d'accord sur la fin de la communication («Merci de m'avoir prévenu»). Au niveau des applications, un seul protocole universel n est pas envisageable pour traiter toutes les cas de figure (tous les types d échanges possibles). Donc plusieurs protocoles ont été développés pour chacun des cas d utilisation : recevoir du mail, envoyer un mail, récupérer un document,... 3.2 URL : Uniform Resource Locator Une URL est un format de nommage universel pour désigner une ressource sur Internet. Il s'agit d'une chaîne de caractères imprimables qui se décompose en 4 parties minimum. Par exemple : http://www.polytech.unice.fr/informatique/page90.html Protocole nom machine chemin page Plusieurs d'autres éléments peuvent être indiqués dans une URL, comme le port à utiliser. En effet, même si le port HTTP par défaut est le port 80, un administrateur peut à tout moment offrir un service par le biais du protocole HTTP en utilisant un port différent (i.e., le port 8080), et dans ce cas, l'url sera donné sous la forme suivante http://www.example.com:8080/ (comme vous pouvez le déduire, l'absence d'un numéro de port indique l'utilisation du port par défaut). Nous allons maintenant étudier d un peu plus près HTTP pour échanger des documents (HyperText Transfer Protocol) et SSH, un protocole de communication sécurisé pour se connecter à distance sur une machine. 3.3 Exemples de protocoles : HTTP et HTTPS 3.3.1 HTTP : HyperText Transfer Protocol HTTP est un protocole qui n est pas sécurisé. Toutes les communications que vous faites, donc les messages que vous envoyez et les réponses que vous recevez (comme par exemple demander de récupérer le document à une adresse donnée et récupérer le document à cette adresse) vont transiter sur le réseau en clair. Cela signifie que toute personne utilisant un programme qui écoute les messages sur le réseau pourra voir tout ce que vous faites. En effet, nous avons vu lors de la semaine dernière avec Wireshark que nous pouvons intercepter les messages qui passent sur notre interface réseau (et donc savoir quel est le document que la personne utilisant un ordinateur vient de demander) et ce message circule en clair sur Internet. Donc sans être paranoïaque, on peut dire que tout ce que l on fait sur Internet est visible. Non heureusement (même si on laisse toujours des traces de son activité, rappelez-vous les cours précédents). Navigateur Web Internet Serveur Web HTTP Votre ordinateur Serveur 3.3.2 HTTPS : Donc attention, quand vous entrez un mot de passe ou un code de carte bancaire que l adresse à laquelle vous êtes connectés n utilise pas le protocole HTTP, mais bien le protocole HTTPS (HTTP sécurisé par SSL). Quand vous vous connectez à un site marchand, et avant d effectuer une transaction, vérifiez bien ce point sur vos navigateurs. Dans ce cas les échanges que vous faites entre le site marchand et votre ordinateur transitent dans une connexion où tous les messages sont cryptés. 5 5

Navigateur Web Internet Serveur Web Votre ordinateur Serveur Le cadenas vous indique que les communications entre votre navigateur et le site web sont sûres: personne ne peut les espionner, et personne ne peut trafiquer les communications. Mais il ne garantit rien d'autre! Pour illustrer ce problème, prenons l exemple suivant : HTTPS (le cadenas), c'est un peu comme un fourgon blindé qui vous assure la sécurité du transport. Le fourgon blindé ne vous garantit pas que la banque utilise de bons coffres forts et qu'elle les ferme bien. Le fourgon blindé ne garantit pas non plus que la banque ne fait pas de malversations. Et des truands peuvent louer les services d'un fourgon blindé, des pirates et voleurs peuvent très bien créer un site sécurisé (avec le petit cadenas). Donc faites toujours attention à vous adresser à des sites de confiance. Mais comment ça marche? 3.3.3 SSL (Secure Socket Layer) HTTP La sécurisation des transactions par SSL 2.0 est basée sur un échange de clés entre client et serveur. La transaction sécurisée par SSL se fait selon le modèle suivant : Dans un premier temps, le client (votre ordinateur) se connecte au site marchand sécurisé par SSL et lui demande de s'authentifier. Le client envoie également la liste des crypto systèmes qu'il supporte. Le serveur à réception de la requête envoie un certificat au client, contenant la clé publique du serveur, signée par une autorité de certification (CA), ainsi que le nom du crypto système le plus haut dans la liste avec lequel il est compatible (la longueur de la clé de chiffrement la plus grande sera préférée). Le client vérifie la validité du certificat (donc l'authenticité du marchand), puis crée une clé secrète aléatoire, chiffre cette clé à l'aide de la clé publique du serveur, puis lui envoie le résultat (la clé de session). Le serveur est en mesure de déchiffrer la clé de session avec sa clé privée. Ainsi, les deux entités sont en possession d'une clé commune dont ils sont seuls connaisseurs. Le reste des transactions peut se faire à l'aide de clé de session, garantissant l'intégrité et la confidentialité des données échangées. Ceci permet ainsi d échanger de l information en cryptant chacun des messages entre les deux machines (le client et le serveur) et donc d assurer la confidentialité des échanges. En fait, en plus de la confidentialité, ssl assure aussi l intégrité (il est impossible de truquer les informations échangées) et l authenticité (il permet de s'assurer de l'identité du programme, de la personne ou de l'entreprise avec laquelle on communique.) 3.4 Pour aller plus loin : Exemple de protocole SSH (Secure Shell) SSH est un protocole plus complet que SSL, mais qui a le même but : sécuriser les communications entre une machine A et une machine B. Voici les étapes de l'établissement d'une connexion SSH : Le serveur envoie sa clef publique au client. Celui-ci vérifie qu'il s'agit bien de la clef du serveur, s'il l'a déjà reçue lors d'une connexion précédente. 6 6

Le client génère une clef secrète et l'envoie au serveur, en chiffrant l'échange avec la clef publique du serveur (chiffrement asymétrique). Le serveur déchiffre cette clef secrète en utilisant sa clé privée, ce qui prouve qu'il est bien le vrai serveur. Pour le prouver au client, il chiffre un message standard (Cf. RFC4256) avec la clef secrète et l'envoie au client. Si le client retrouve le message standard en utilisant la clef secrète, il a la preuve que le serveur est bien le vrai serveur. Une fois la clef secrète échangée, le client et le serveur peuvent alors établir un canal sécurisé grâce à la clef secrète commune (chiffrement symétrique). Une fois que le canal sécurisé est en place, le client va pouvoir envoyer au serveur le login et le mot de passe de l'utilisateur pour vérification. Le canal sécurisé reste en place jusqu'à ce que l'utilisateur se déconnecte. La commande qui permet cela est la commande ssh en spécifiant le nom de l utilisateur et la machine sur laquelle on souhaite se connecter : ssh user@host.domain.fr ou ssh user@adresse_ip. Le protocole SSH vous permet ainsi de vous connecter à un ordinateur distant de façon sûre et d'avoir accès à un interpréteur de commandes qui va vous permettre d exécuter des commandes sur la machine sur laquelle vous vous êtes connectés. Et nous retrouvons ici l intérêt d avoir appris à utiliser les lignes de commandes au début du cours! La boucle est bouclée (qu est-ce qu il est bien fait ce cours!) 4 Modèle OSI et encapsulation des données Dans le TD précédent sur la présentation du modèle en couche (modèle OSI) OSI qui décrit les fonctionnalités nécessaires à la communication et l'organisation de ces fonctions en couches. Chaque couche gère les paramètres qu'elle prend en compte avant de passer l'information à la couche suivante dans le traitement. Le modèle OSI complet comprend 7 couches. Dans un souci de simplification, nous n'en considérerons que 5 dans ce TD. 4.1 Modèle OSI Nous avons étudié le modèle OSI, modèle en couches, qui permet d identifier les différentes fonctionnalités de traitement en fonction des couches. Couche Fonction 7. Application Point d'accès aux services réseaux 6. Présentation 5. Session 4. Transport 3. Réseau Gère le chiffrement et le déchiffrement des données, convertit les données machine en données exploitable par n'importe quelle autre machine Communication Interhost, gère les sessions entre les différentes applications Connexions bout à bout, connectabilité et contrôle de flux Détermine le parcours des données et l'adressage logique 2. Liaison Adressage physique 1. Physique Transmission des signaux sous forme binaire 4.2 Compréhension par l exemple du modèle en couches Nous avons déjà vu les 3 couches les plus basses du modèle dans un précédent TD : Physique, Liaison et Réseau. Au-dessus de ces couches, même si nous n'allons pas les détailler, nous avons les couches Transport et Application. 7 7

Afin d'avoir une représentation de l'encapsulation des informations dans chacune de ces couches, installez le logiciel Wireshark. Celui-ci permet de visualiser le trafic réseau qui passe sur une interface de votre machine. Sélectionnez l'interface que vous utilisez pour vous connecter à Internet. Vous pouvez constater la quantité de trafic réseau qui passe sur cette interface. Pour éviter d'avoir trop d'informations, nous allons sélectionner le filtrage suivant le protocole HTTP. Ouvrez votre navigateur Internet préféré. Connectez-vous à l'adresse http://www.unice.fr/index.html. Vous pouvez déjà constater la multitude de messages qui sont envoyés. Remontez dans la liste sur le premier message du type HTTP GET /index.html HTTP/1.1. Dans la fenêtre du bas, vous pouvez constater que vous avez les informations suivantes: Frame, Ethernet II, Internet Protocol, Transmission Control Protocol, Hypertext Transfer Protocol. 4.3 Encapsulation des données Pour que le système fonctionne, chaque couche va ajouter au message les informations qui lui sont nécessaires. Ainsi le message de départ va être encapsulé avec des informations qui vont permettre à la couche en question à la réception de vérifier les informations. C'est un peu comme mettre le message que l'on envoi (la lettre) dans une enveloppe et à chaque couche traversée dans le modèle OSI, on ajoute une sur-enveloppe avec l'ensemble des informations nécessaire. Donc quand on envoie un message, on ajoute une information supplémentaire et quand on le reçoit, on l'épluche comme un oignon (ou le principe des poupées russes). Nous pouvons représenter cette notion de la manière suivante: Message à envoyer Message reçu 4.4 Modèle TCP/IP Nous avons vu dans les semaines précédentes que sur Internet, les machines utilisent TCP/IP pour communiquer. Le modèle TCP/IP (appelé aussi modèle Internet), qui date de 1976, a été stabilisé bien avant la publication du modèle OSI en 1984. Il présente aussi une approche modulaire (utilisation de couches) mais en contient uniquement quatre : Couche Physique Couche Réseau Couche Transport Couche Services Aujourd'hui, c'est le modèle TCP/IP, plus souple, qui l'emporte sur le marché. Le modèle OSI, plus rigoureux, est principalement utilisé pour certaines applications critiques. 8 8

5 Exercices 5.1 Sous-réseaux Exercice n 1: Quelle est votre masque du sous réseau auquel vous êtes connecté? Exercice n 2: Exprimez le masque de sous-réseau sous forme binaire. Quel est le nombre maximum d hôtes qui peuvent se connecter à ce sous-réseau? Exercice n 3: Soit l adresse 10.1.130.2/22, donnez a) le masque de réseau sous sa forme complète, b) l adresse réseau pour cette adresse IP, c) l adresse de broadcast ; et enfin, d) le nombre maximales d hôtes pour ce réseau. 5.2 Routage Exercice n 4: Quand une machine se connecte sur un sous-réseau pour obtenir son adresse IP, quel est le type de routage utilisé pour le message? Justifiez. Exercice n 5: Lors de la demande de renouvellement du bail quel est le type de routage utilisé? Justifiez. 5.3 Passerelle Exercice n 6: Combien y a-t-il de passerelles pour le sous-réseau sur lequel vous êtes connecté? Quelle(s) est (sont) la (les) adresse(s) IP? Quelle commande utilisez-vous pour les obtenir? 5.4 Ports Exercice n 7: Combien de ports sont disponibles sur une machine? Quels sont les ports que vos programmes peuvent utiliser sans être lancés par le super utilisateur? Exercice n 8: Quels sont les services ou applications qui s exécutent par défaut derrière les ports 25, 53 et 143 (vous donnerez l acronyme et sa signification)? Citez pour chacun de ces services à quelle occasion vous les utilisés? (vous avez déjà utilisé cela lors des TD précédents ; voir TD1 et TD12) 5.5 Protocoles Exercice n 9: Quand vous utilisez votre navigateur, quel est le protocole par défaut que vous utilisez pour récupérer un document sur Internet? Sur quel port contactez-vous la machine qui vous renvoie le document? Exercice n 10: À l'aide de la page http://fr.wikipedia.org/wiki/uniform_resource_locator, indiquez et expliquez chaque élément que vous identifiez dans l'url suivante : http://jojo:lapin@www.example.com:8888/chemin/dacc.php?q=req&q2=req2#signet Par exemple, «http» = schéma de représentation (protocole HTTP) 9 9

5.6 Pare-feu Exercice n 11: Donnez la commande pour activez le pare-feu sur votre machine sous Ubuntu. Dites comment installer l interface graphique du pare-feu sous Ubuntu. Utilisez cette interface graphique pour autoriser quiconque à se connecter au service ssh sur votre machine (utiliser l onglet Préconfigurée). Quel est le port qui est maintenant ouvert sur votre machine? Ajouter une deuxième règle à l aide de l onglet Simple pour autoriser les programmes extérieurs à contacter un serveur web sur votre machine (protocole HTTP). Quel est le port que vous devez spécifier comme étant maintenant autorisé. Vous pouvez aussi constater que vous pouvez même autoriser uniquement certaines machines (à partir de leur adresse IP par exemple) à communiquer avec la vôtre sur un port spécifique (voir l onglet Avancé). 5.7 Modèle en couches Exercice n 12: Dire à quelle couche sont associés IP, Wifi dans les couches du modèle OSI. Exercice n 13: Associez chacun des protocoles aux couches du modèle décrit dans la section 2.1. Exercice n 14: Dire quelles sont les informations nécessaires par chaque couche. Installez wireshark et exécutez-le en tant que super utilisateur. Ouvrez l interface active (e.g. wlan0) et capturez le trafique Internet. Ouvre votre navigateur et téléchargez la page www.google.com. Ensuite, arrêtez la capture, utilisez le filtre pour ne visualiser que les paquets http, sélectionnez un des paquets par la sous-fenêtre en haut, en dans la sous-fenêtre au milieu distinguez/trouvez le protocole utilisé par les couche 2, 3 et 4 du modèle OSI. De plus, explorez les détails des ces couches et donnez les information principales que vous y auriez trouvé (ex. @MAC, @IP, etc) 10 10