Les réseaux informatiques, la sécurité, internet, html et le web : une introduction Réseaux informatiques? = Télécommunications + informatique Objectifs : Communication : se parler, se voir, échanger des données Partage et optimisation de ressources/données (diminution des coûts) Réseau = ensemble de moyens matériels pour connecter des utilisateurs Valérie-Anne Nicolas Exemple : réseau Internet (Rq : Internet Web) Avant les réseaux informatiques Systèmes à temps partagé (Multics) Réseau téléphonique : naissance en 1837 avec le premier télégraphe Naissance des réseaux informatiques : années 60 Réseaux informatiques réseaux téléphoniques (minitel) Un bref historique des réseaux (1) 1962 : on imagine les premiers réseaux de communication (nécessité d'un réseau distribué, optimisation pour ressources coûteuses) Fin 68 : conception d'arpanet (réseau simple, modem, machines hétérogènes) Fin 69 : ARPANET est effectif sur 4 sites (40 en 72) Années 70 : naissance d'unix, premier système d'exploitation portable ~77 : UUNET (réseau tél. de machines Unix, UUCP) 78 : CSNET, NFSNET, bitnet
Un bref historique des réseaux (2) Différents types de réseaux 74 : Protocole TCP puis TCP/IP (Vint Cerf & Robert Kahn) 79 : Internet (= CSnet + ARPAnet) sous sa forme quasi-actuelle 78-79 : Minitel Vidéotex en France 80 : Ethernet (Xerox) ~81 : TCP/IP est intégré dans le noyau Unix BSD (Berkeley Unix, Bill Joy) 84 : IPv4 (Internet1, débit en Mb) 99 : IPv6 (Internet2, débit en Gb) Selon l'étendue géographique : Réseaux locaux : LAN (Local Area Network) par câble sur quelques mètres/km -> réseaux d entreprise Réseaux étendus : WAN (Wide Area Network) via réseau téléphonique (RTC, numéris, ADSL ou SDSL), câble, satellite -> Internet Selon la zone de diffusion : Internet, intranet, extranet Réseau local Exemple de réseau local -> Plusieurs ordinateurs interconnectés : Le serveur : ordinateur puissant qui gère les ressources partagées (accès aux données, exécution de programmes ) La station/client : interface entre un utilisateur et le serveur clients Objectifs : Communication/organisation entre sites dispersés Circulation rapide et fiable des informations Gestion des commandes, stocks, facturation, annuaire Fonction d'intranet réseau Serveur de fichiers
Modèle Client-Serveur Optimisation des ressources Le Client effectue des requêtes Le Serveur les exécute et renvoie le résultat Protocole : HTTP -> les intranets et le Web fonctionnent selon ce modèle Logicielles : Serveur d'applications : logiciels applicatifs Serveur de bases de données : mise à jour centralisée et accès distribué aux bases de données (réparties ou non) Serveurs dédiés : serveur web, serveur mail, serveur de données utilisateur, etc. Matérielles : Périphériques partagés : imprimantes, scanners, caméras Partage des données Un réseau informatique, c'est : Données partagées : sur disque dur du serveur consultation, création, mise à jour -> pas de duplication, peu d'erreurs ou d'incohérences, sécurité Programmes partagés (licences, jetons ) Matériels partagés : imprimante, traceur, graveur Communication entre stations par messagerie, échange de fichiers Un support physique Une topologie (physique) Un protocole de communication (ou topologie logique) Des outils (ou services) adaptés pour faciliter la communication
Support physique Topologie (géométrie du réseau) Installations matérielles : câbles de connexion (LAN), câbles téléphoniques (WAN), fibre optique, bornes Wi-Fi Interfaces physiques : carte réseau, modem Réseau en bus : un câble principal, protocole CSMA/CD, simple, peu coûteux, très vulnérable Réseau étoilé : indépendance des stations, fiabilité, pas de conflit mais câblage important et hub Installations logicielles : système d'exploitation avec gestion de réseaux Administration : gestion des comptes, installation de logiciels, maintenance Réseau en arbre : bus et étoiles, liaison par hubs Réseau en anneau : bus en boucle Réseau maillé : chaque machine est reliée à plusieurs autres Protocoles de communication Réseau Ethernet (Xérox, 1980) CSMA/CD : la station "écoute" le réseau, émet s'il n'y a rien, s'interrompt dès qu'elle détecte un message, attend un temps aléatoire Accès par jeton (topologies en anneau) : un jeton circule et seule la machine le possédant peut agir sur le réseau TCP/IP (Transfer Control Protocol/Internet Protocol) : cf. Internet Topologie de type bus, par câble coaxial ou paire torsadée Protocole : CSMA/CD Débit : 10 Mbps Maximum : 1024 (2 10 ) stations, 3.2km, propagation à 200000km/s
Réseau Internet (International network protocol) Internet Internet s'appuie sur les réseaux physiques existants et les connecte entre eux via des passerelles : c'est un réseau de réseaux Topologie : réseau maillé Protocole TCP/IP (adresses IP) Débit : Mb en IPv4 et Gb en IPv6 Maximum : 2 32 (4 milliards) adresses IP (avec IPv4) et 2 128 adresses IP (avec IPv6) Protocole IP (Internet Protocol) DNS : Serveur de noms Protocole d'adressage : adresse IP Adresse IP = adresse universelle sur 4 octets, par exemple : 130.57.2.6 ou 192.160.13.227 Adresse symbolique ou logique (hyperlink) : machine.sous-domaine.domaine Exemple : machinetoto.univ-brest.fr! Adresse IP adresse email (toto@univ-brest.fr) adresse web (http://www.univ-brest.fr) Serveur de noms (DNS "Domain Name Service") : annuaire, table de correspondance entre adresses symboliques et adresses IP
Protocole TCP (Transfer Control Protocol) Routage d'un message M (1) -> Pour des réseaux d'ordinateurs, liés par des routeurs Principe : transmission par paquets Découpage de l'information et assemblage en paquets Transmission des paquets (routage, contrôle de la qualité du transport ) Réassemblage de l'information finale Routeur : serveur spécialisé dans la réception et émission de paquets (tables de routage) A P1 B M = {P1,P2,,Pn} Pi = i @A @B texte Routage d'un message M (2) Routage d'un message M (3) P2 A P1 P2 A P1 P3 Bouchon! Panne! Bouchon! B B M = {P1,P2,,Pn} Pi = i @A @B texte M = {P1,P2,,Pn} Pi = i @A @B texte
IPv6 (Internet 2) vs IPv4 (Internet 1) L'université de Brest dans Internet IPv6 = IPng (IP "Next Generation"), lancé en ~1995 : multi-média, qualité de service Quelques améliorations par rapport à IPv4 : Augmentation des possibilités d'adressage : adresses IP sur 128 bits (16 octets : plusieurs milliards de trillions!) Étiquetage de flux d informations : service "sans perte d information" ou service "temps réel" Extensions pour gérer l authentification, l intégrité des données ou une (optionnelle) confidentialité des données Réseau régional OR-BR RNI Réseau régional Université de Brest NTI Renater Monde entier! Internet L'université de Brest dans le réseau régional OR-BR Réseau Université de Brest OR-BR @n @(n-20) @(n0) @(n-30) @1 Dpt info Dpt maths Dpt Langues (Exemple type)
Internet, intranet et extranet Les services du net : historique 1972 : Courrier électronique (email) 1979 : Internet 1983 : Première connexion internet en France 1989 : World Wide Web (Web, WWW, W3) naît au CERN à Genève avec Html (HyperText Markup Language) 1993 : Le navigateur Mosaïc lance le Web (et la «netiquette») 1995 : Navigateur Netscape 1997 : Navigateur Internet Explorer Groupes de discussion «News», Forums, listes de diffusion, Visioconférence (Netmeeting), téléphonie sur IP (Skype), chat, blogs 1999 : Essor des systèmes de gestion de contenu (SGC ou CMS) 2002 : Essor du «monde du libre» (suite internet Mozilla ) 2004 : Navigateur Firefox 2005 : Accès internet pour 12 millions de personnes (France) Novembre 2007 : Navigateur libre Flock pour le web 2.0 Les principaux services et protocoles associés Le Web 2.0 : les «web services» Le Web (la toile) : protocole HTTP -> Web2.0 «web services» Échange de fichiers : protocole FTP Accès distant : SSH (Telnet, rlogin) Messagerie «email» : protocoles SMTP en émission et POP3 en réception News : réseau de serveurs USENET, protocole NNTP Papotage «Chat» (IRC = Internet Relay Chat) Échange entre particulier et fournisseur de service : protocole PPP (Point to Point Protocol)
Le courrier électronique Le Web (WWW) Service de type Client/Serveur Adresse e-mail : prénom.nom@domaine.pays En émission : Client : abonné à un serveur de messagerie Protocole du serveur : SMTP (Simple Mail Transfert Protocol) En réception : Client : logiciel de messagerie (Eudora ) Protocole : POP (Post Office Protocol) Les messages reçus sont récupérés et effacés du serveur Web = Système d'information hypertexte multi-média Hypertexte : ensemble de pages reliées par des liens (parcours non linéaires), langage html Multi-média : texte, image, son, vidéo Modèle Client/Serveur : Navigateur (browser, butineur) = interpréteur html : client affichant des pages web, permettant de surfer sur le web Serveur Web : héberge les fichiers html Liens hypertextes = URL(Uniform Ressource Locator) : adresses http (http://www.univ-brest.fr) Moteurs de recherche (Google, Yahoo ) : robots d indexation selon mots-clés -> Web2.0 : Web sémantique (folksonomies, vers les hyperwords?) Sécurité informatique Intégrité, confidentialité et disponibilité des données Trois objectifs : intégrité, confidentialité et disponibilité des données Des risques : Menaces Vulnérabilités Évaluation de la sécurité en termes de risques -> Politique de sécurité Sécurité à deux niveaux : Niveau système Niveau réseau Intégrité : pas d'altération d'informations (sensibles) Confidentialité : pas de divulgation d'informations (sensibles) Disponibilité : capacité à être prêt à délivrer un service Politique de sécurité : ensemble de règles visant à protéger l'information, ses transferts (communications) et ses supports
Sécurité : risques informatiques Vices cachés des programmes Évènements matériels/humains accidentels : Erreurs Dommages physiques : incendies, inondations Problèmes électriques : chutes de tension, micro-coupures de courant -> onduleur Problèmes électromagnétiques : cage de Faraday Malveillances : Humaines : vols, sabotages, destruction d'informations Vices cachés des programmes ("malwares") : virus, bombe logique, cheval de Troie, vers, porte dérobée, keylogger Bombe logique : morceau de code rajouté dans un programme et exécuté sous certaines conditions Cheval de Troie : morceau de code dissimulé dans un logiciel et dont l'activation permet de pénétrer par effraction dans le système Virus : une étape de propagation (auto-reproduction avec signature) suivie d'une étape d'action Vers : processus parasite consommant en particulier des ressources systèmes/réseau (messagerie, connections distantes ) Porte dérobée (trappe, backdoor) : ouverture de port Keylogger : enregistreur de traces (touches, écrans ) Spyware : logiciel espion Politique de sécurité Contre les évènements accidentels : Plan de sauvegarde Stockage à l'extérieur en double Contre les malveillances : Protection physique des équipements Protection logique (informatique) garantissant : L'intégrité des données La confidentialité des données et accès La disponibilité des ressources Lutte contre les intrusions (identification + authentification) Mise en place par : Ce qu'est une personne : moyens/clés biométriques (empreintes digitales, oculaires, voix ) Ce que sait une personne : identifiant + mot de passe, code secret Ce que détient une personne : badge, carte magnétique Organisme certificateur : authentification par signature (niveau réseau, utilisation des techniques de cryptographie) Minimum : mot de passe alphanumérique à changer souvent (attaques par dictionnaire)
Protection des données (intégrité et confidentialité) PGP : Confidentialité (codage par clé publique du destinataire) Droits d'accès Classement : top-secret > secret-défense > confidentiel-défense > non-classifié Cryptographie/chiffrement : Cryptographie symétrique (clé secrète -> partage du secret) réversible ou irréversible Cryptographie asymétrique (clé publique) Algorithmes DES, AES (clé secrète) : chiffrement par blocs Algorithme RSA (clé publique) : basé sur la décomposition de grands nombres en facteurs premiers Algorithme PGP, système à clé publique (jusqu'à 128 bits en France depuis 1999) A Clé publique : m (m) B Clé privée : ( (m)) = m! PGP : Authentification + intégrité (codage par sa propre clé privée) PGP : Authentification + intégrité + confidentialité ( (S B )) = S B! B A (m,s A ) B A S B (K A (m,s A )) (S B ) Clé privée : Clé privée : K A ( (K A (m,s A ))) = K A (m,s A ) Clé privée : Clé publique : Clés publiques : K A, K A (K A (m,s A )) = (m,s A ) Donc (m, S A )!
Disponibilité de service Politiques de sécurité : les spécificités liées aux réseaux Tolérance aux fautes (pannes et dégradations/destructions) : Redondance physique Diversification logicielle Lutte contre les attaques de déni de service : Surcharge réseau (spam, chaînes de courrier ) Surcharge machine spécifique (serveur ) Sécuriser les communications Cryptographie (systèmes à clés ) Brouillage, saturation Routage sécurisé (spécification de chemins autorisés) Analyseur de sécurité Contrôler l'accès aux frontières du domaine Fire-Wall (sites de confiance et autres, authentification) Blocage des ports Ecoute des flux entrants et sortants pour repérer les attaques/intrus (bande passante) Piratage par logiciels espions «spywares» Audits : traces (pannes, attaques ) Quelques repères législatifs Créer des pages web statiques : html 6-01978 : création de la CNIL, loi "informatique et libertés" 3-07985 : loi sur la protection des logiciels 5-01988 : loi sur la fraude informatique 302990 : loi sur le chiffrement (signature numérique, scellement-intégrité), modifiée en 99 290-2007 : loi de lutte contre la contrefaçon ITSEC : standard européen pour les critères de sécurité informatique Éditeur de texte : bien connaître html! Outil type Frontpage (Internet Explorer) : WYSIWYG, facile! Outil type Web Expert (Visicom Media) : squelette, connaître Html Fichiers html doivent être suffixés par.htm ou.html (page.htm) : nécessaire pour être reconnu par les navigateurs
HTML (Hypertext Markup Language) Langage de balises <B> (ou <b>, idem) Balises : Marqueurs : pour les traitements simples Exemple : <BR> pour passage à la ligne Conteneurs : parenthésage pour les traitements plus détaillés <C> t </C> pour appliquer le traitement C au texte t Attributs d'un conteneur : pour préciser le traitement <C A1=x A2=y > t </C> Exemple : <P ALIGN=left> le langage html </P> Structure d'un document html <HTML> <HEAD> <TITLE> Le titre de ma page html </TITLE> </HEAD> <BODY> Le contenu de ma page html. </BODY> </HTML> Le titre s'affiche dans le bandeau du navigateur. Le corps du document s'affiche dans la fenêtre du navigateur. Mise en couleurs -> En utilisant des attributs de BODY Couleur de l'arrière-plan : <BODY BGCOLOR=white> Image en arrière-plan : <BODY Background="img.gif"> Couleur du texte : <BODY TEXT=black> Couleur des liens : <BODY LINK=blue> Liens visités : <BODY VLINK=blue> Liens actifs : <BODY ALINK="#xxxxxx">, x chiffre hexadécimal Note : on peut définir ses propres couleurs sur la palette rougevert-bleu (rrvvbb), en plus des couleurs prédéfinies (blue, red )
Balises pour le traitement du texte (1) Titres : <H1> </H1> à <H6> </H6> de H1 pour les grands titres à H6 pour les plus petits Texte en gras : <B> </B> Texte en italique : <I> </I> Texte souligné : <U> </U> Texte avec emphase : <EM> </EM> ou forte emphase : <Strong> </Strong> Texte centré : <Center> </Center> Citation : <Cite> </Cite> Balises pour le traitement du texte (2) Coloration : <FONT COLOR=blue> </FONT> ou <FONT COLOR="#xxxxxx"> </FONT> Fonte : <FONT FACE="xxx"> </FONT> Taille : Absolue :<FONT SIZE="x"> </FONT>, avec x entre 1 et 7, 3 par défaut Relative : <FONTSIZE="+/-x"> </FONT> Grande : <BIG> </BIG> Petite : <SMALL> </SMALL> Balises pour la mise en page Les listes (1) Paragraphe : <P> </P> ou seulement <P> Passage à la ligne : <BR> Les listes Listes ordonnées (numérotées) Listes non ordonnées Listes descriptives Les tableaux Listes ordonnées <OL> <LI> premier item <LI> dernier item </OL> Listes non ordonnées <UL> <LI> premier item <LI> dernier item </UL> Choix de l'indicateur : attribut TYPE, TYPE=disc/circle/square <UL TYPE=DISC> : fixe le type pour toute la liste <LI TYPE=CIRCLE> : fixe le type à partir de cet item
Les listes (2) Les tableaux (balise TABLE) Listes descriptives <DL> <DT> premier item <DD> définition associée au premier item <DT> dernier item <DD> première définition du dernier item <DD> seconde définition du dernier item </DL> <TABLE> </TABLE> Attributs : Border, Width="x" ou "x%", Ligne (ou rangée) : <TR></TR> Cellule : <TD></TD> Cellule-titre (texte centré, en gras) : <TH></TH> Exemple : <TABLE Border> <tr> <th> C11 </th> <th> C12 </th> </tr> <tr> <td> C21 </td> <td> C22 </td> </tr>... <tr> <td> Cn1 </td> <td> Cn2 </td> Exemple de tableau Les images (balise IMAGE) <table border> <tr> <th> Euros </th> <th> Francs </th> </tr> <tr> <td> 1 E </td> <td> 6,56 F </td> </tr>...ainsi de suite pour chaque nouvelle ligne... <tr> <td> 15,24 E </td> <td> 100 F </td> </tr> </table> Euros Francs 1 E 6,56 F...ainsi de suite pour chaque nouvelle ligne... 15,24 E 100 F <IMG SRC="chemin_accès_image"> Image avec extension.jpg ou.jpeg,.gif,.png Exemples : <IMG SRC="http://image.meteoconsult.fr/image/sat/satv.jpg"> <IMG SRC="C:\Mes_documents\Mes images\photo.gif"> Attributs de dimensionnement : WIDTH et HEIGTH <IMG SRC="photo.gif" WIDTH=100 HEIGTH=200> Attribut d'alignement : Align=top/bottom/middle/left/right <IMG SRC="photo.gif" WIDTH=100 HEIGTH=200 ALIGN=top> Autres attributs : BORDER=x, HSPACE=x, VSPACE=x
Les liens hypertextes (balise Ancre) <A HREF="chemin_accès_page_cible"> texte/lien cliquable </A> Exemples: <A HREF="http://www.lycos.fr"> Site de Lycos France </A> <A HREF="C:\mapage.html"> Ma page Web </A> <A HREF="chemin_accès_page_cible"> image/lien cliquable </A> Exemples: <A HREF="http://www.allmetsat.com"> <IMG SRC="photo.jpg"> </A> <A HREF="C:\mapage.html"> <IMG SRC="photo.jpg"> </A> Les Frames (cadres) : un exemple <FRAMESET ROWS=20%,80%> <FRAME SRC="p1.html" NAME="haut"> <FRAMESET COLS=*,2*> <FRAME SRC="p2.html" NAME="gauchebas"> <FRAME SRC="p3.html" NAME="droitebas"> </FRAMESET> <NOFRAMES> <BODY> Cette page utilise des frames. </BODY> </NOFRAMES> </FRAMESET>
Autres Créer des pages web : au-delà du html statique Ligne horizontale : <HR> Attributs : SIZE, WIDTH Exemple : <HR SIZE="x" WIDTH="y"> Attribut de nombreuses balises textuelles : ALIGN=center/left/right Exemple : <B ALIGN=center> Important! </B> Commentaires : <!-- mes commentaires --> Etc. Systèmes de Gestion de Contenu (SGC) : feuilles de style CSS, XHTML Meta-langage XML (famille des SGML) Langages de script pour pages dynamiques (ASP ou PHP avec MySQL sur serveur, Javascript ou AJAX sur client) DreamWeaver (Macromédia) : WYSIWYG, génération de code, plus puissant que FrontPage, plus complexe à utiliser : pages dynamiques (+ Director : graphisme, sons, animations Flash) Cours disponible en ligne http://intranet-depiup.univ-brest.fr/ cours/documents/introinfoa.pdf