Top Posters
Since Sunday
r
5
m
5
h
5
r
5
t
5
B
5
P
5
s
5
m
5
c
5
c
4
4
A free membership is required to access uploaded content. Login or Register.

Securisation reseaux.docx

Uploaded: 6 years ago
Contributor: divya
Category: Computer Science
Type: Other
Rating: N/A
Helpful
Unhelpful
Filename:   Securisation reseaux.docx (255 kB)
Page Count: 51
Credit Cost: 1
Views: 65
Last Download: N/A
Transcript
Sécurisation des réseaux Introduction L’Internet, souvent appelé l ’autoroute de l’information par les médias, relie des ordinateurs partout dans le monde à un point jamais imaginé. Avec Internet croissant à un rythme ahurissant, les entreprises dans le monde, voient une quantité d’opportunités offertes par ce nouveau moyen de communication planétaire. Certaines entreprises appréhendent principalement Internet comme un outil pour accélérer des processus professionnels existants. D’autres le voient comme un moyen d’offrir de nouveaux services et de créer de nouvelles sources de revenus. Malheureusement, beaucoup d’entreprises se précipitent pour utiliser Internet à des fins commerciales sans analyser les menaces qu’il génère. Nous avons déjà vus des milliers d’attaques venant d’Internet, dont beaucoup ont été extrêmement graves. En France, le CLUSIF est un observatoire de la sinistralité des risques informatiques, permettant d’évaluer grossièrement l’impact économique et plus encore son évolution dans le temps. Evolution de la sinistralité évaluée entre 1987 et 1996 (en millions de francs) 1987 1996 %/an Fraude(détournement de fonds...) 1200 2300 +7,5 attaque logique(vol d’informations...) 800 1090 +3,5 Ces chiffres montrent une réelle nécessité pour ces entreprises de se protéger. L’objectif de notre TPED est justement de sécuriser un réseau et ce rapport est l’aboutissement de la première phase de notre travail. Il synthétise toutes les recherches que nous avons effectuées dans ce domaine, et explicite le plus clairement possible les tâches que nous nous sommes fixés pour sa réalisation pratique. 1)Milieu d’intervention : TCP/IP : 2 types de protocoles, niveau réseau et niveau application. - niveau réseau Gestion des mécanismes discrets du transfert de données. IP assure l’acheminement des paquets d’informations entre un émetteur et une machine distante, en se fondant sur différentes informations dont l’adresse IP des machines. Grâce à ces informations le protocole garantit que les données seront routées jusqu’à la destination prévue . A travers ce processus, IP interagit avec d’autres protocoles de niveaux réseaux impliqués dans le transfert de données. A moins d’utiliser des utilitaires réseaux comme des sniffers ou tout autre dispositif pouvant lire les datagrammes IP, l’utilisateur ne pourra jamais voir le travail d’IP sur le système. - niveau application Le fonctionnement du protocole est visible par l’utilisateur dans une certaine mesure. Par ex FTP : pendant la transmission une partie du dialogue entre la machine de l’utilisateur et la machine distante est visible TCP/IP fonctionne sur une pile de protocoles qui représente le chemin qu’emprunte les données pour quitter une machine et entrer dans une autre. Pour résumer succinctement voici un schéma 380365933450023006053604895Cette couche gère le déplacement de données sortantes et entrantes sur le média de transmission. Ce moyen de transmission peut être Ethernet ou PPP via modem. 00Cette couche gère le déplacement de données sortantes et entrantes sur le média de transmission. Ce moyen de transmission peut être Ethernet ou PPP via modem. 15690853879215008375653696335Couche physique 00Couche physique 120332533305750023006052873375Elle assure le contrôle d’erreurs sur le flot de données transmises entre les protocoles supérieurs et la couche physique 00Elle assure le contrôle d’erreurs sur le flot de données transmises entre les protocoles supérieurs et la couche physique 15690853056255008375652873375Couche liaison de données 00Couche liaison de données 120332525076150023006052141855Elle ajoute les adresses IP source et destination à des fins de routage 00Elle ajoute les adresses IP source et destination à des fins de routage 15690852324735008375652141855Couche réseau 00Couche réseau 120332517760950023006051410335Après avoir ajouté un entête cette couche passe les données à la couche réseaux 00Après avoir ajouté un entête cette couche passe les données à la couche réseaux 15690851593215008375651410335Couche transport 00Couche transport 15690859531350012033251136015002300605678815Lorsqu’un utilisateur initie un transport de données cette couche passe la requête à la couche transport 00Lorsqu’un utilisateur initie un transport de données cette couche passe la requête à la couche transport 837565770255Couche application 00Couche application 120332540449500102044540449500288925313055Serveur 00Serveur 4718053873500 Les principaux protocoles de la suite TCP/IP (principaux protocoles opérant dans cette pile) a)niveau réseau Les protocoles opérant au niveau réseau sont invisibles, cependant on peut employer un utilitaire de surveillance des processus du système tel qu’un sniffer. Les principaux protocoles sont : - ARP, Adresse Résolution Protocole -ICMP, Internet Contrôle Message Protocole -IP, Internet Protocole -TCP, Transmission Contrôle Protocole 1) ARP : Il fait correspondre les adresses IP aux adresses physiques et permet de router les informations. Danger provenant du cache des adresses ARP, le cracker peut avoir accès à ce cache et prétendre que son adresse fait partie de celle se trouvant dans le cache. 2) ICMP : Il gère les messages d’erreurs et de contrôles qui sont transmis entre deux ordinateurs (ou hôtes) ou plus, durant le processus de transfert. 3) IP : Il assure la livraison des paquets pour tous les protocoles de la suite TCP/IP. IP est au cœur du processus de transfert de datagrammes. Le datagramme IP est constitué de plusieurs parties Entête : plusieurs informations dont adresse IP de l’émetteur et du destinataire. Reste : Reliquat de données à envoyer. Un datagramme peut être fragmenté de la sorte : 248348567945DATA 00DATA 1460567945Info d’en tête 00Info d’en tête 83756567945Adresse IP destination 00Adresse IP destination 166052567945Adresse IP destination 00Adresse IP destination 4) TCP : Principal protocole utilisé sur Internet. Il facilite les tâches critiques telles que le transfert de fichiers et les sessions distantes, il accomplit ces opérations par un transfert ‘fiable’ orienté connexion, basé sur la transmission d’un flux. Les données arrivent dans un ordre et un état identique (si la livraison est non fiable, aucune garantie). TCP repose sur un circuit virtuel entre machine initiatrice et cible. (Three way handshake). 1111885107315La machine initiatrice envoie une requête de connexion en spécifiant un port auquel se connecter sur la machine distante 00La machine initiatrice envoie une requête de connexion en spécifiant un port auquel se connecter sur la machine distante 38550851073150037636451587500197485107315001060451587500 32150051263650074612512636500367220534925Serveur 00Serveur 1460534925client 00client 376364590805001060459080500 385508536195001974853619500 111188573025La machine serveur répond avec acquittement et une file d’attente pour la connexion 00La machine serveur répond avec acquittement et une file d’attente pour la connexion 3672205109855Serveur 00Serveur 14605109855client 00client 746125552450032150055524500 385508592075001060459207500 394652537465001974853746500 3763645111125Serveur 00Serveur 111188519685La machine client retourne un acquittement et le circuit est ouvert 00La machine client retourne un acquittement et le circuit est ouvert 14605111125Client 00Client 321500556515007461255651500 TCP fournit des fonctions de contrôle d’erreurs, en générant des valeurs numériques. Les deux machines les utilisent pour identifier les blocs transférés. Pour tout bloc transféré correctement le destinataire envoie un message pour l’avertir. Sinon, soit la machine initiatrice reçoit un message d’erreur soit elle ne reçoit rien, alors elle retransmet les données ou la communication est avortée. b) niveau application : *InetD *Système de Port *Démons (Daemons) 1) InetD : C’est un démon spécial que l’on peut considérer comme le grand père de tous les processus. C’est le démon principal sur une machine UNIX, il attend les requêtes de connexions provenant du réseau. Quand une requête arrive, il l’évalue et détermine le service concerné par celle ci. InetD est résident dés l’amorçage de la machine (son comportement se situe dans InetD.conf, il est possible de l’utiliser pour configurer les services qui seront appelés. 2) Les ports : Chaque application, FTP ou telnet par exemple reçoit une adresse unique appelée port. Lors d’une requête sur un port, InetD se charge de la lancer. Un administrateur peut associer n’importe quel service à un port mais il existe des ports reconnus, exemple : FTP 21 TELNET 23 SMTP 25 GOPHER 70 FINGER 79 HTTP 80 NNTP 119 Telnet : Service de communication généralement bidirectionnelle (orienté 8 bits). Il est utilisé pour se connecter à un hôte distant . Une implémentation sûre de Telnet se ferait avec secureshell. FTP : Service de transfert de fichiers. Son objectif est de promouvoir un partage de fichiers, de réaliser une utilisation indirecte ou implicite d’un ordinateur distant. Il pare aux différences de stockage pouvant exister entre deux hôtes, il permet de transférer des fichiers de façon fiable et efficace. SMTP : Il permet de transférer du courrier de façon simple et efficace. L’utilisateur envoie une requête à un serveur SMTP à partir d’un client compatible SMTP, le client transmet une instruction mail. Gopher : Etabli à partir d’un modèle client serveur. L’utilisateur n’ouvre pas de session sur le serveur, il envoie un message au serveur où il demande quelque chose, si celui-ci a l’information, il lui envoie et c’est tout. HTTP : C’est un protocole de niveau application , générique, orienté objet. HTTP offre de spécifier la représentation des données, en effet le système a été conçu indépendamment des données à transférer. Outils utilisés par les hackers 1) Les scanners Ce sont des programmes qui détectent les faiblesses de sécurité d'un hôte distant. Ils analysent les ports et les services TCP/IP et enregistrent les réponses de la cible. Ils recueillent des informations révélant par exemple si un utilisateur distant peut se connecter anonymement sur une machine. Un scanner révèle les faiblesses inhérentes à un système hôte. Les caractéristiques principales d'un scanner sont sa capacité à localiser une machine distante ou un réseau, à détecter les services qui sont exécutés sur un hôte et sa capacité à détecter une faille. Exemple de scanner : IdentTCPscan : Il est capable d'identifier le propriétaire d'un processus de port TCP donné, il détermine l'UID du processus Strobe : C'est un scanner de port TCP qui interroge tous les ports ouverts sur une machine, il peut identifier les services exécutés sur une machine, et donne une vague idée des services pouvant être attaqués. 2)Outils pour forcer les mots de passe Ce sont tous les programmes qui permettent de rechercher des mots de passe, en déjouant leur protection. Ils sont créés au moyen d'un générateur de mot de passe, un dispositif qui utilise une forme d'encodage ou d'encryptage. La plupart de ces programmes ne sont rien d'autre que des moteurs agissant en force, testant les mots les uns après les autres à grande vitesse. Cependant cette technique nécessite de grosses ressources processeur et mémoire. Exemple : Hades : c'est un perceur de mots de passe qui révèle les mots de passe Unix sous /etc/passwd. Il fut développé afin de montrer la faiblesse de certains mots de passe, il parait très utile pour déterminer les mots de passe trop faibles. 3) Chevaux de Troie C'est un programme ou un code non autorisé placé dans un programme sain. Ce code intrus exécute des fonctions indésirables sous couvert de fonctions connues et nécessaires. Il peut s'apparenter parfois à un virus. Les logiciels téléchargés à partir d’Internet (spécialement shareware et freeware) devraient être considérés avec prudence car ils regorgent de chevaux de Troie. La plupart des chevaux de Troie sont contenus dans les fichiers binaires compilés. Ces fichiers étant compilés ils apparaissent à l'utilisateur comme des fichiers prêts à l'emploi. Généralement le cheval de Troie vise la récupération du contenu du fichier passwd. Les principaux dangers de chevaux de Troie : - difficiles à détecter - dissimulés dans des fichiers compilés non lisibles par l'utilisateur - peuvent toucher plusieurs machines Les principales formes de protection et de prévention se fondent sur une technique dénommée rapprochement d'objets. Cela consiste en une comparaison des objets actuels avec des versions antérieures. Si les fichiers système diffèrent et qu'aucun changement n'ait été apporté au système d'exploitation on peut considérer qu'il y a une anomalie. Une autre façon de contrôler l’intégrité d'un fichier est de contrôler sa taille, mais cette méthode est peu fiable. 4) Dispositif de surveillance ou sniffers Un sniffeur est un dispositif logiciel ou matériel qui capte les informations qui transitent sur un réseau. Il peut employer les protocoles Ethernet, TCP/IP, IPX ou bien n'importe quelle combinaison de ces protocoles. Son rôle est de placer l'interface réseau dans un mode transparent ou sans distinction pour pouvoir ainsi intercepter tout le trafic. Le mode transparent désigne une situation dans laquelle chaque station sur un réseau écoute tout le trafic du réseau. Les sniffeurs servent à capter et à archiver le trafic (datagramme IP ou paquet Ethernet) qui est échangé à un niveau très bas de l'interface réseau du système d'exploitation. Ils représentent une menace pour les raisons suivantes : - ils peuvent capter les mots de passe - ils peuvent intercepter des informations confidentielles ou propriétaires - ils peuvent être utilisés pour ouvrir une faille dans le système de sécurité d'un réseau voisin. Un sniffeur peut être placé presque n'importe où, mais le point stratégique visé est une passerelle de réseau ou un chemin obligatoirement emprunté par des données circulant en entrée et en sortie. Exemple de sniffer : Gobbler : Sniffer qui permet d’acquérir quelques connaissances au sujet du trafic réseau, il fonctionne sous windows. Il permet le filtrage de paquets, il permet aussi de visualiser les adresses sources et destination de chaque paquet. 5) Techniques de dissimulation d’identité Tout d'abord il faut savoir ce que cache un nom. Il existe deux moyens d'identification d'un utilisateur, l'adresse e-mail et l'adresse IP. Les moyens pour cacher son identité sont divers. Ils reposent sur des méthodes pour empêcher d'autres personnes de la retrouver via des services tel que finger, masterplan par exemple. Masterplan déterminera si quelqu'un essaie de vous localiser, en l'identifiant et en voyant si il réitère souvent cette opération. Mais masterplan n’empêche pas quelqu'un de consulter votre compte. Un autre moyen de ne pas se faire identifier est de refuser systématiquement les cookies qui représentent une trace sur le disque dur. 6) Dispositifs destructeurs Ce sont des programmes ou des techniques visant au harcèlement ou à la destruction de données. On y trouve quatre catégories bien connues, les bombes e-mail et liaisons de listes, les bombes flash et les scripts offensifs, le déni de service, les virus. Seules les deux dernières catégories sont réellement problématiques pour la sécurité. Les bombes e-mail sont des programmes de bombardement par courrierélectronique qui peuvent être liés à des listes de diffusion pour atteindre plus d'adresses. Pour se débarrasser de cette nuisance il suffit de se munir d'un fichier de destruction (kill) ou d'un plan d'exclusion. Les outils de déni de service par verrouillage de fichier, permettent de paralyser un serveur de domaine. Les virus sont des programmes destructeurs dont le but est de voyager de machine en machine pour propager une infection, La différence avec un cheval de Troie est manifeste car ce dernier est statique. Les virus eux se multiplient d'eux mêmes, le meilleur moyen de s'en protéger est de se munir d'un anti-virus. Attaques diverses… Une attaque à distance est une agression initiée contre une machine par un attaquant qui ne détient aucun contrôle sur elle et pouvant se trouver sur le même sous-réseau ou bien à des milliers de kilomètres. Les premières étapes d’une attaque n’impliquent pas de contact avec la cible. Après avoir identifié le type de réseau, les machines cibles, etc., le cracker doit déterminer à qui il a à faire. La plupart de ces informations peuvent être obtenues sans déranger la cible. Nous supposerons que celle ci n’utilise pas de pare feu. La plupart des réseaux n’en ont d’ailleurs pas (ou pas encore). Certaines de ces informations sont collectées au moyen des techniques suivantes : Exécution d’une requête host Ici le cracker collecte autant d’informations qu’il peut en trouver sur les serveurs de domaine de la cible. La requête peut produire des sommes de données considérables. Par exemple à l’université de Boston, la simple commande host –l –v –t any bu.edu rapporte plus de 70Ko de données sur les machines connectées au réseau et on peut savoir qu’une machine DEC Alpha est disponible. C’est une cible pour le bogue de la commande mount –d –s : si cette commande est envoyée par deux fois avant qu’un autre hôte ne le fasse la requête est honorée… De plus, une cible potentielle pour un bogue de connexion IP ou celui de Telnet est détectée. Exécution d’une requête whois Elle permet d’identifier les contacts techniques. Le contact technique est généralement la personne qui est au moins partiellement responsable pour l’administration au quotidien de la cible. Avec cette requête et la précédente on peut déterminer si la cible est une machine réelle, un nœud de type feuille ou un domaine virtuel hébergé par un autre service, etc.. Exécution de recherches usenet et web Il y a un certain nombre de recherches que le cracker peut souhaiter effectuer avant d’entrer en contact avec la cible. Il peut rechercher le nom du contact technique avec un moteur de recherche. Il peut vouloir savoir si les administrateurs et les contacts techniques échangent beaucoup de trafic sur Usenet… De plus recueillir des informations à propos de l’administrateur système est de première importance. Il est souvent responsable du maintien de la sécurité d’un site. Il y a des situations où il peut provoquer des problèmes. La plupart des administrateurs système ne résistent pas à l’urgence d’envoyer des articles sur usenet ou des listes de diffusion pour tenter de trouver des réponses. En prenant le temps de rechercher l’adresse de l’administrateur système (et toutes les variantes de cette adresse), on peut obtenir un aperçu de son réseau, de sa sécurité et de sa personnalité. Les administrateurs qui envoient ce genre d’articles donnent habituellement des indications sur leur architecture, un peu sur leur topologie et aussi le problème qu’ils ont rencontré. Une recherche qui aboutit peut éclairer le cracker. Si par exemple l’administrateur est chaque jour en ligne, sur une liste de diffusion ou un forum, pour parler de problèmes et de techniques de sécurité avec d’autres administrateurs, c’est la preuve qu’il possède certaines connaissances. Autrement dit, ce type de personne connaît bien la sécurité et est probablement bien préparé à une attaque. Ces articles, après analyse peuvent révéler un peu sa position sur la sécurité et comment il l’implémente. A l’inverse si la plupart de ses questions sont élémentaires et qu’il a souvent besoin de temps pour saisir tel ou tel autre concept de sécurité, cela peut être une preuve de manque d’expérience. D’un point de vue diffèrent, si son adresse n’apparaît pas du tout sur les listes ou forums du genre, il n’existe que peu de raison à cela. L’une d’elle est qu’il évite ces groupes. L’autre est qu’il ne juge pas nécessaire de discuter sécurité : une erreur ! Si toutefois il figure sur une liste, cela signifie qu’il reçoit des rapports . C’est un mauvais signe pour le cracker, car l’action de ce dernier repose sur le manque de connaissance de l’administrateur. La plupart des plates formes à moitié sures peuvent être relativement sécurisées par un effort minimal de la part de l’administrateur système. Bref ces recherches permettent au cracker de collecter rapidement des renseignements importants à propos des personnes du réseau visé Il a été mentionné plus haut que les variantes de l’adresse de l’administrateur sont aussi recherchées. Elles désignent toutes les autres adresses possibles. Il existe deux sortes d’adresses de remplacement : La première est l’adresse individuelle de la personne. En effet un grand nombre d’administrateurs système peuvent avoir une adresse sur d’autres réseaux. Ainsi même s’ils n’utilisent pas leur adresse de travail pour discuter de la sécurité, il est possible qu’ils utilisent leur adresse personnelle. L’autre exemple de variante d’adresse est soit une adresse identique soit une adresse assignée à cette même personne sur toute autre machine sur le réseau. Soyons clair : tout d’abord, sur un réseau qui est habituellement contrôlé, aucun nom n’est associé au compte root. La raison en est que ce compte doit être utilisé aussi peu que possible et doit être considéré comme un identifiant système : il ne faut y recourir que lorsque c’est absolument nécessaire. Comme root n’est probablement pas invoqué directement, l’identifiant de l’administrateur système pourrait être n’importe quoi. Supposons ici que l’administrateur soit connu, et que ce soit Pierre. Supposons aussi que la requête host émise par le cracker montre qu’il y a 150 machines. Chacunes d’elles à un nom diffèrent . Par exemple cela pourrait être mail.victime.net, news.victime.net, cgi.victime.net, etc…(dans la réalité, les noms dissimulent davantage le rôle de la machine). Le cracker peut essayer l’adresse de l’administrateur sur chaque machine. Par exemple Pierre@shell.victim.net ou Pierre@cgi.victim.net (voilà ce que sont les variantes d’adresse). Le cracker peut aussi tester tout le matériel de diagnostic possible sur chacune des machines. Il peut aussi se demander si Pierre possède une machine favorite à partir de laquelle il poste ses articles. Si la cible est un fournisseur d’accès ou un autre système sur lequel une personne peut d’abord obtenir un accès légitime, il est possible de récupérer une quantité énorme d’informations sur l’administrateur système simplement en observant d’ou il vient. Cette opération peut aussi être réalisée dans une certaine mesure en étant à l’extérieur avec une combinaison de finger et rusers. En d’autres termes, le cracker cherche à identifier les réseaux étrangers, c’est à dire les réseaux autres que celui de la cible, sur lequel l’administrateur détient des comptes. Evidemment si sa dernière connexion provient de Netcom, il possède un compte sur Netcom. Le cracker peut suivre cet identifiant pendant une journée ou plus et voir ce qu’il en ressort. Le cracker va ensuite identifier les divers systèmes d’exploitation et architectures du réseau cible. Chaque système d’exploitation à son lot de bogues, certains sont connus , d’autres peuvent être découverts avec le temps. Sur un réseau relativement grand avec différents types de machines et de logiciels, il y a plus de chance de trouver une faille. L’administrateur système ne peut constamment éplucher les rapports de sécurité pour chaque plate-forme. Il y a de fortes chances que ses connaissances en matière de sécurité pour un système ou un autre soient faibles. A ce stade le cracker est censé avoir défini une partie ou la totalité des éléments suivants : Qui est l’administrateur Quelles sont les machines qui composent le réseau, et peut-être aussi leur fonction ainsi que les serveurs de domaines Le système d ‘exploitation Les failles probables Toute discussion à laquelle a participé l’administrateur à propos de la topologie, la gestion, les stratégies, la construction ou l’administration du réseau. Pour l’étape suivante il peut être très utile au cracker d’identifier les machines qui sont colouées. Cela concerne uniquement les situations dans lesquelles la cible est un ISP (Internet Service Provider). Ces derniers proposent souvent au client de colouer une machine sur leur site pour bénéficier de certains avantages. Le client peut ainsi disposer d’une machine connectée à une ligne rapide pour un prix intéressant. Pour l’ISP cela ne représente rien de plus que de connecter une machine à son système Ethernet. Par conséquent, même les coûts de mise en service et d’administration sont plus bas. Ces  machines colouées peuvent ne pas être administrées par l’ISP. Si elles ne le sont pas, il y a des chances qu’elles contiennent des failles, ou en développent par la suite. C’est probable particulièrement si le propriétaire de la machine emploie une grande quantité de programmes cgi ou d’autres modules personnalisés sur lequel l’ISP n’a que peu ou pas du tout de contrôle. En compromettant cette machine, un cracker dispose d’une chance de pouvoir s’attaquer à l’ensemble du réseau, à moins que l’ISP ait expressément relié la machine directement à son propre routeur, ou à son hub ou encore établi une autre forme de procédure pour isoler la machine colouée dans un segment à part sur le réseau. Le cracker doit maintenait se procurer la même machine que la cible qu’il vise. Ainsi, si la cible est une station sparcstation 2 utilisant Solaris 2.4, il faudrait installer une machine identique et la connecter à Internet au moyen de n’importe quelle méthode adéquate (modem, RNIS, etc…). Après l’avoir installée, lancer une série d’attaques contre elle. Il y a deux choses que le cracker cherche à savoir : A quoi ressemble l’attaque du point de vue du cracker A quoi ressemble l’attaque du point de vue de la cible En examinant les journaux de sa machine le cracker peut avoir une idée de la manière dont l’attaque doit se présenter si sa cible est à la base non protégée. Si sa dernière analyse et l’attaque sur la cible ne paraissent pas identiques , c’est pour lui une source de préoccupation. Tous les éléments étant équivalents, une machine configurée à l’identique (ou apparemment identique) devrait répondre de la même façon. Si ce n’est pas le cas, la cible présente certainement des particularités et le hacker doit agir avec prudence. En examinant les journaux du point de vue de la victime, le cracker peut voir les empreintes qu’il laisse. C’est aussi un élément important pour lui. Les procédures de journalisation diffèrent selon les plate-formes, et il doit connaître au minimum comment elles fonctionnent ainsi que chaque fichier pouvant révéler une trace d’intrusion. Ces informations sont de première importance, car il peut ainsi savoir exactement quels sont les fichiers qu’il doit modifier pour effacer toute trace de son passage. La seule méthode permettant d’identifier avec certitude ces fichiers est d’effectuer un test dans un environnement contrôlé et d’examiner les journaux. Lors de réelles attaques, les privilèges de root devraient être obtenus en quelques secondes (ou minutes au plus) . De la même manière, les preuves de l’intrusion devraient être effacées seulement quelques secondes après (ou minutes au pire). Pour le cracker toute autre option est fatale. Pendant des années, la compromission de la sécurité d’un système a été considérée comme une transgression mineure tant qu’aucun dommage n’était causé. Aujourd’hui la situation est différente. La valeur des données devient un sujet de plus en plus discuté. Par conséquent, le cracker moderne ne peut plus forcer un site sans préparer une stratégie spécifique. La stratégie qu’il utilise dépend de ce qu’il souhaite accomplir. Nous supposerons que sa tâche est simplement la violation de la sécurité d’un système. Plus son analyse prendra de temps, plus il y aura de chances de trahir son activité. De son coté, plus il y aura de données à collecter, plus cela lui prendra de temps pour implémenter une attaque basée sur ces données. La période qui s’écoule entre son analyse et l’attaque proprement dite doit être la plus courte possible. Pour cela le cracker choisit généralement la nuit pour effectuer son analyse en raison de la plus grande fluidité du trafic. Après avoir accompli son analyse, le cracker soumet les données à un examen. Le premier problème qu’il doit résoudre, est de savoir si les données sont authentiques. Il peut, dans une certaine mesure déterminer cela en comparant celles-ci avec les échantillons d’analyses recueillis lors de tests sur une machine identique. Les attaques distantes deviennent de plus en plus courantes et les stratégies des crackers de plus en plus évoluées. Il devient donc nécessaire de se préserver de ces attaques notamment par l’utilisation des firewalls. 2) Les firewalls Comme le nom Firewall le suggère, un des principaux objectifs d’un garde-barrière est de limiter les dégâts en cas de désastre, comme c’est le cas quand il y a un feu dans une voiture ou un bâtiment. Dans le contexte d’Internet, les gardes-barrières ont un but similaire - maîtriser les dégâts et protéger un réseau en cas d’intrusion venant d’Internet. Et, d’une manière plus générale, ils sont utilisés pour régler la circulation des flux entre réseaux. Traditionnellement ces deux réseaux ont été l’Internet et le réseau interne, mais des gardes-barrières peuvent aussi être utilisés entre deux réseaux internes avec des besoins de protection différents. Les gardes-barrières peuvent être presque n’importe où dans un réseau, et sont de plus en plus utilisés entre deux réseaux internes pour lesquels un organisme à des besoins de protection et de contrôle différents (comme dans un environnement de recherche, où un haut niveau de connectivités et peu de restrictions sont souhaitables, et un réseau de gestion de ressources humaines et un système de paie, sur lequel beaucoup de restrictions sont nécessaires). Dans notre étude nous supposerons que les deux réseaux impliqués sont un réseau interne et l’Internet. Un garde-barrière est un moyen efficace d’implémenter une politique interne d’accès à Internet, un outil extrêmement puissant de sécurité réseau. Les gardes-barrières peuvent protéger contre des attaques au niveau des applications ou des protocoles seuls. Ils peuvent aussi être efficaces contre des attaques de trucages, et sont relativement souples dans leur configuration - c’est à dire, qu’ils peuvent fournir des limitations différentes sur des types de trafics différents. Les gardes-barrières réalisent des contrôles d’accès d’après les contenus des paquets d’une connexion. La meilleure façon de considérer les actions d’un garde-barrière est de penser à un garde-barrière comme à un garde de frontière de réseaux ou comme à une sentinelle qui arrête tous les paquets entrants, contrôle leur documentation, et décide alors de les autoriser à passer la frontière. De plus, les gardes-barrières servent à «cacher» certaines machines à d’autres. A part régler le trafic en direction et en provenance des machines, certains gardes-barrières sont configurés pour masquer la topologie interne du réseau en, limitant les réponses du système de nom de domaine (DNS) et les adresses du réseau dans le trafic sortant. Un des avantages majeurs d’un GB est qu’il fournit un point unique de contrôle pour la protection d’un réseau. Beaucoup de gens préfèrent penser à un GB comme à un goulot d’étranglement, par lequel tout le trafic doit passer avant d’entrer ou de sortir du réseau interne. De ce fait, les GB ont tendance à être les premières cibles des attaques externes. Il est donc essentiel de sécuriser la machine GB elle même. Les GB fournissent un point unique d’administration de la sécurité. Plutôt que de placer des restriction de sécurité de réseau sur des milliers de machines individuelles, les administrateurs de sécurité peuvent concentrer leurs efforts sur une zone. Les GB sont aussi un bon emplacement pour la surveillance et l’audit du trafic. En même temps, les GB présentent cependant un point critique unique pour la sécurité. Si le GB est compromis, le périmètre sécurisé est percé, et un intrus régnera librement sur le réseau interne tout entier. Pour cette raison, les plus forts GB sont composés de multiples «blocs structurels», chacuns d’eux fournissant une certaine redondance et renforçant la sécurité du système de GB. TECHNIQUE DE GB il existe généralement trois type de GB : les filtres de paquets réalisés par des routeurs et des machines, des filtres «intelligents» basés sur des machines, et des passerelles au niveau applicatif. Alors que chacune de ces techniques est souvent utilisée seule pour former un GB complet, la plupart des solutions de GB utilisent une combinaisons de techniques de GB. Les filtres de paquets La manière la plus simple et la moins chère d’implementer un GB est au niveau du routeur qui relie le réseau privé à l’Internet. Comme il est nécessaire d’avoir un routeur sur la connexion pour diriger le trafic de et vers l’Internet publique, il semble logique d’utiliser les possibilités de filtrage du routeur pour implementer une sécurité. Ces routeurs utilisent le concept de filtrage de paquets pour contrôler le type de trafic qui transite dans le routeur. Les routeurs filtres de paquets fournissent un bon nombre de fonctions de sécurité. Une raison importante de leur succès, est la transparence incroyable avec laquelle les routeurs filtrants travaillent. La plupart des filtres peuvent être implementés sans aucun désagrément pour l’utilisateur final. Le principe de base derrière le filtre de paquets est simple. Conformément à la mentalité des routeurs «garde en tête et fait suivre», un routeur reçoit un paquet sur une interface, compare les informations de l’en tête du paquet avec un ensemble de règles de filtrage et décide alors soit de permettre au paquet de continuer, soit d’abandonner entièrement le paquet, soit de jeter le paquet (renvoie d’un message ICMP a l’auteur: paquet éliminé). Bien que les paramètres spécifiques sur lesquels un filtre de paquets peut fonder des décisions varient selon les produits, une majorité de filtre de paquets permettent de filtrer sur les critères suivants: - la direction de trafic (dans, de puis l’interface, dehors, vers l’interface) - l’interface sur laquelle le trafic a été reçu ou à laquelle il est destiné - le type de protocole (IP, ICMP, TCP, UDP, IPX) - les adresses IP de source ou de destination - les ports TCP ou UDP source ou destination - l’information état de TCP Les filtres intelligents Récemment. beaucoup de fournisseurs de gardes-barrières ont commencé a traiter le défaut des filtres de paquets standards. Ils ont conçu un type nouveau de filtres de paquets que nous aimons appeler des filtres intelligents. Les filtres intelligents sont des filtres basés sur des machines qui exécutent les foncions générales d’un filtre de paquet standard, mais y ajoutent une grande quantité de fonctionnalités et n'ont pas la plupart des problèmes associés aux filtres de paquets standards.Pour commencer, la plupart des filtres intelligents ont incorporé une interface homme-machine graphique (GUI) d’administration pour faciliter la configuration de filtres de paquets. Cette interface plutôt que de demander la connaissance de quelque arcane de langage de filtrage, fonctionne avec un format amical pour l'utilisateur, humainement lisible en entrée, et le traduit automatiquement en langage machine.La plupart des filtres intelligents incorporent une certaine forme de contrôle heuristique des règles, pour garantir que les règles dans une liste d'accès ne sont pas en conflit les unes avec les autres. Les filtres intelligents possèdent également la capacité d’enregistrer des paquets. A la différence des routeurs qui n’enregistrent que le fait qu'un paquet ait été accepté ou rejeté ces filtres intelligents permettent divers niveaux d’enregistrement. Par exemple un filtre intelligent permet sept niveaux d'enregistrement, allant d'un simple décompte des paquets à un mécanisme qui peut permettre d'appeler un administrateur suite à un certain type d’événement.Les filtres intelligents font également beaucoup pour résoudre certaines limitations du filtrage de paquets trouvés dans beaucoup de routeurs. Par exemple considérez le problème de FTP. Là où la plupart des filtres basés sur des routeurs n'ont aucun moyen de savoir qu'une connexion FTP d'information donnée est liée à une connexion FTP de contro1e sortante spécifique, les filtres intelligents ont une certaine intelligence incorporée qui peut faire cette relation. En conséquence vous n'avez pas besoin de configurer un ensemble compliqué de règles pour permettre le trafic FTP de retour. Les serveurs délègués (proxy) Regardons maintenant une forme de contrôle de trafic complètement différente: celle du serveur délégué Dans un garde-barrière filtrant, tout le trafic traverse le garde barrière venant d’une origine et vers une destination, et ni l’origine ni la destination n’ont besoin de connaître le routeur situé entre elles. Alors que les utilisateurs finaux apprécient généralement la transparence complète fournie par ce schéma beaucoup de professionnels de sécurité préfèrent que les machines internes ne soient pas visibles du réseau externe. Ainsi les serveurs délégués prennent une vue différente de la situation Plutôt que d’adapter une approche transparente comme les routeurs et les autres filtres de paquets, les serveurs délégués adoptent une approche « garde et fait suivre », dans laquelle ils terminent la connexion entrante de la source et initialisent une deuxième connexion vers la destination. Les serveurs délégués ont généralement de multiples interfaces de réseau, leur permettant de communiquer sur de multiples réseaux. Les limitations des serveurs délègués Comme les filtres de paquets, les serveurs délégués ont leurs inconvénients. Le premier d’entre eux est le manque de transparence apporté par ces serveurs délègués. Avec n’importe quelle sorte de serveur délégué, il faut au moins un des deux changements: un changement dans le comportement de l’utilisateur ou un changement dans chaque client TCP/IP. Bien que les utilisateurs aient l'illusion d’une connexion de bout en bout quand la connexion a été établie, ils ont le désagrément supplémentaire de se connecter à une passerelle, et ensuite à la destination finale plutôt que d'aller simplement directement à la destination. Avantages et inconvénients des techniques de garde-barrière Outil Avantages Inconvénients Filtre de paquets complètement transparent disponible sur le matériel existant faible coût difficulté de gérer certains trafics difficile à configurer journalisation limitée (quand elle existe) pas d’authentification de l’utilisateur difficile de masquer la structure du réseau interne Filtre intelligent facile à configurer résout quelques problèmes de filtres de paquets complètement transparent difficile de masquer la structure du réseau interne Serveur délégué d’application masque complètement le réseau interne haut niveau de contrôle d’accès des utilisateurs gênant pour les utilisateurs nécessite une modification du comportement de l’utilisateur nécessite de nombreux serveurs délégués serveurs pas toujours disponibles coût Les architectures de GB Même si les GB les plus puissants sont souvent composés de plusieurs parties, il est parfois nécessaire pour des raisons de coût de le baser sur une seule machine, soit un routeur soit un ordinateur. Nous allons maintenant traiter des cinq architecture les plus connues: le routeur filtrant, le sous-réseau filtrant, la passerelle filtrante, la passerelle à double interface de réseau et le GB ceinture et bretelle. Le routeur filtrant. La manière la plus simple de réaliser un GB est de placer des filtres de paquets sur le routeur lui même. Cette architecture est complètement transparente pour tous, mais nous laisse avec un seul point critique en cas de panne. De plus, comme les routeurs sont principalement conçus pour diriger le trafic, le mode de fonctionnement par défaut en cas de panne sur un routeur est habituellement de transmettre le trafic sur l’autre interface. (bien que la plupart des routeurs comportent une instruction implicite et refusent tout le reste). Si quelque chose devait arriver au mécanisme de contrôle d’accès du routeur (tel que la vulnérabilité découverte dans un logiciel de constructeur de routeur en début 1995), alors la possibilité existerait pour que le trafic non autorisé trouve un chemin vers le réseau ou pour que l’information protégée ne fuit en dehors du réseau. De plus, les routeurs filtrants ont tendance à violer le principe de point de passage obligé des GB. Bien que tout le trafic passe par un routeur à un moment ou à un autre, le routeur transmet simplement le trafic à sa destination finale. Chaque destination potentielle dans le réseau doit donc être sécurisée plutôt que seulement l’unique point de passage. Bien que les routeurs filtrants soient un composant important dans l’architecture d’un GB, il ne peut être considéré comme adéquat pris isolément. Passerelle à double interface de réseau Une autre architecture commune est de placer une machine seule avec deux passerelles de réseau entre deux réseaux comme une passerelle à double interface de réseau. Ces passerelles peuvent être utilisées comme une passerelle à double interface de réseau générique, sur laquelle tous les utilisateurs doivent se connecter avant de le faire sur l’autre réseau, ou comme une machine pour des serveurs délégués, pour lesquels il n’y a pas besoin de comptes utilisateurs. Une sécurité qui intègre les passerelles à double interface de réseau est un cran au-dessus des routeurs filtrants. Parce que la plupart des systèmes basés sur des machines telles que celles-ci ont par défaut la transmission automatique de paquets désactivée, il est presque impossible de faire passer du trafic sans configurer la machine. Le fonctionnement en cas de problème des machines à double interface de réseau est de ce fait généralement plus fiable que celui des routeurs filtrants. Néanmoins les passerelles à double interface de réseau ne sont pas toujours facile à utiliser. Passerelle filtrante Des machines et des routeurs peuvent être utilisés ensemble dans une architecture de GB. Une des combinaisons opérationnelles les plus courantes aujourd’hui est la passerelle filtrante. Dans le scénario d’une passerelle filtrante, le routeur est toujours en première ligne de défense. Tout le filtrage des paquets et le contrôle d’accès sont réalisés par le routeur. Le routeur n’autorise que le trafic identifié explicitement par la politique, et limite ensuite les connexions entrantes à la passerelle H. Cette passerelle H exécute beaucoup de fonctions : - elle agit comme le serveur de nom pour le réseau interne tout entier - elle agit comme un serveur d’information « publique », offrant au monde le web et un accès FTP anonyme - elle agit comme une passerelle à partir de laquelle des tiers externes peuvent communiquer avec des machines internes. Il est simple d’implémenter des serveurs publics tels que : FTP, web, DNS, mais cette machine doit avoir modifié les serveurs pour gérer d’autres protocoles individuels comme telnet entrant et le FTP non anonyme. Ces serveurs peuvent être modifiés d’une des deux manières suivantes : ils peuvent être remplacés par des serveurs délégués, et ils peuvent être capables de communiquer avec un serveur d’authentification séparé. Les passerelles filtrantes sont des réalisations connues, car elles permettent à une entreprise de donner un accès complet à Internet aux utilisateurs internes, tout en limitant les accès au réseau depuis l’Internet. Cette architecture à deux inconvénients majeurs : - la machine de passerelle doit exécuter beaucoup de service, de manière à être capable de les offrir aux utilisateurs externes. Si on n’utilise pas de serveur délégué on doit également établir des comptes utilisateurs sur la passerelle. Ces deux éléments réunis font que ce sont des cibles attirantes pour un intrus potentiel, qui aura maintenant à sa disposition des mots de passes supplémentaires à essayer de deviner, et des services supplémentaires à essayer de percer - la passerelle fournit encore un point critique - si n’importe quoi devait arriver à un service individuel sur la machine, tel qu’un crach du serveur DNS ou un défaut dans le serveur web, la connexion entière à Internet pourrait alors être fermée ou compromise. Néanmoins, les passerelles filtrantes restent une réalisation habituelle, car elles permettent au entreprises de mettre facilement sur pied des politiques de sécurité différentes sans beaucoup de désagrément pour les utilisateurs internes. De plus elles sont relativement faciles à implémenter, si on utilise un routeur standard et une seule machine. Les passerelles filtrantes sont une amélioration substantielle à la fois au routeur filtrant et aux passerelles à double interface réseau. Le sous réseau filtrant L’approche de sous réseau filtrant va un pas plus loin que l’idée d’une passerelle filtrante. Le routeur filtrant est encore présent comme le premier point d’entrée dans le réseau interne, et filtre le trafic entrant depuis l’Internet et les machines publiques. Les fonctions de cette passerelle sont réparties sur plusieurs machines plutôt que sur une seule passerelle, comme dans l’approche d’un passerelle filtrante. Une des machines pourrait être un serveur web, une autre pourrait être le serveur FTP anonyme, et une troisième un serveur délégué par lequel passeraient toutes les connexions entrantes et sortantes du réseau interne. Le sous réseau filtrant et fonctionnellement semblable à la passerelle filtrante : le routeur protège la passerelle Internet, et la passerelle protège le réseau interne d’Internet et des autres machines publiques. Un avantage particulier du sous réseau sur la passerelle filtrante est qu’il est beaucoup plus facile à réaliser un sous réseau filtrant en utilisant des machines diminuées; c’est à dire que chaque machine sur le sous réseau peut être configurée pour seulement exécuter les services indispensables, ce qui donne moins de cibles potentielles sur chaque machine à un intrus. De plus, les machines sur le sous réseau peuvent être aussi accessibles aux clients sur le réseau interne qu’à ceux qui sont sur Internet. Les machines internes ne traitent pas les machines sur le sous réseau d’une manière différente de toutes autres machines externes sur Internet. En fait, si cette approche est prise, un sous réseau filtrant peut considérablement améliorer la sécurité potentielle d’un réseau, car aucune compromission d’un machine externe (sauf peut être, pour la machine de passerelle avec les serveurs délégués) ne peut fournir un accès dans le réseau interne. Le GB « ceinture et bretelles » On prend l’idée du sous réseau filtrant et on la prolonge encore plus loin. Les principes sont les mêmes que dans l’architecture de sous réseau, un routeur externe de filtrage protège les machines « publiques » d’Internet. Au lieu d’avoir une passerelle exécutant le logiciel de serveur délégué et protégeant ainsi le réseau interne, ces fonctions sont reparties : la machine de serveur délégué réside maintenant sur le sous réseau DMZ, tandis qu’un routeur interne filtrant sert à protéger le réseau interne des machines publiques. L’architecture ceintures et bretelles est seulement légèrement différente du sous réseau filtrant, mais la différence est importante du point de vue de la sécurité. Alors que le sous réseau compte sur les serveurs délégués pour exécuter tous les contrôles d’accès depuis et vers le réseau interne, l’approche ceintures et bretelles compte sur le serveur délègué comme la première ligne de défense d’authentification, mais le routeur interne sert de sauvegarde au serveur pour protéger le réseau interne des machines sur le réseau public également. \s Avantages et inconvénients des différentes architectures des GB Architectures Avantages Inconvénients Routeur filtrant complètement transparent relativement facile et bon marché difficile de gérer certains trafics difficile à configurer journalisation faible quand elle existe pas d’authentification des utilisateurs difficile de masquer la structure du réseau interne Passerelle à double interface de réseau mode fiable structure interne cachée à l’extérieur inconvénients pour les utilisateurs demande un changement dans le comportement des utilisateurs nécessite de nombreux serveurs délégués serveurs délègués pas toujours disponibles Passerelle filtrante sécurité répartie entre deux points accès sortant transparent accès entrant restreint difficile de masquer la structure du réseau interne un seul point critique pas de protection contre une compromission de la passerelle Sous réseau filtrant transparent aux utilisateurs flexible structure interne cachée à l’extérieur fournit des services à l’extérieur sans compromettre l’intérieur toutes les fonctions de sécurité sont fournies par la passerelle, qui est un point critique Ceinture et bretelles très sûr structure interne cachée à l’extérieur redondance faite par construction pas vraiment convivial et difficile à configurer Les composants d'un bon garde-barrièreIl est souvent utile de développer un ensemble d’exigences, en rassemblant tout ceci pour arriver à une solution qui satisfasse les besoins d'une entreprise, et pour comparer les différentes solutions. Ces besoins sont vraisemblablement très spécifiques aux organismes, mais il y a quelques principes généraux d’éléments à rechercher dans un système de garde-barrière robuste. · l’authentification : nous avons déjà parlé des nombreux avantages d'une authentification forte qui utilise des mots de passe à usage unique et/ou des cartes électroniques. La plupart des gardes-barrières basés sur des machines acceptent de nombreux systèmes à cartes ainsi que S/KEY. Si vous avez déjà choisi un standard interne pour l’authentification forte, il est impératif que votre garde-barrière accepte ce mécanisme d'authentification. si ce n'est pas le cas, vous serez contraint d'utiliser un logiciel serveur modifié sur chaque système auquel un accès externe est permis.· contrôle d’accès. même le filtre de paquets le plus simple fournit un contrôle d'accès fondé sur l'adresse IP. Cependant, beaucoup d'organismes peuvent choisir de limiter l’accès d’Internet aux utilisateurs spécifiques (ou, inversement, à permettre seulement à certains utilisateurs d’accéder au réseau à distance depuis Internet), et exiger quelque chose de plus fort que le contrô1e d’accès simplement basé sur l'adresse. Bien que beaucoup de produits permettent un contrôle d'accès et une authentification des utilisateurs, il faut un mot d'avertissement: les grands organismes peuvent s'attendre à entretenir des comptes d’utilisateurs et des profils d’accès pour des milliers d'utilisateurs sur chaque machine de garde-barrière. Commencer à prévoir des ressources d’administration dès aujourd'hui.- Les applications acceptées : un garde-barrière devrait fondamentalement accepter toutes les applications qu’une entreprise veut utiliser sur l'lnternet. Pour des applications telles que telnet et FTP, c’est relativement simple: les gardes-barrières qui n’accepteraient pas ces protocoles simples sont les moins utiles. Le support pour des serveurs délégués HTTP est relativement moins fréquent, mais vous pouvez toujours utiliser un serveur Web comme un serveur délègué HTTP en attendant. Un garde-barrière fort doit également accepter les autres protocoles, y compris les protocoles « garde et fait suivre » comme NetNews et SMTP, ainsi que tout protocole moins connu que l'organisme choisit d'utiliser (par exemple finger ou NTP). De plus, un garde-barrière fort devrait inclure une certaine forme de service délégué de circuit, ou un relais de paquet générique pour TCP et, si besoin, pour UDP.Un autre paramètre à étudier dans ce domaine concerne les utilisations potentielles futures des gardes-barrières. Bien que ces protocoles peuvent ne pas être utilisés sur l'lnternet, si une entreprise décide de mettre en place des séparations internes en utilisant des gardes-barrières, le support de ces protocoles pour permettre à l'organisme d'utiliser une seule interface d'administration pour commander à la fois le garde-barrière d’Internet et tous les gardes-barrières interne, rendant ainsi le travail des administrateurs beaucoup plus facile LIMITATIONS DES GB Contrairement à une idée reçue, les GB ne sont pas la panacée pour les problèmes de sécurité Internet. Il y a beaucoup de tâches que des GB ne peuvent pas exécuter: - les GB ne garantissent pas l’intégrité des données. Alors que les GB fournissent indirectement une certaine intégrité des données sur le réseau interne, en les protégeant d’un accès non autorisé, beaucoup d’entreprises essaient d’utiliser des GB comme anti-virus. Le seul contrôle anti-virus de tout flux entrant n’est pas possible, et la chute des performances provoquée par l’examen de chaque paquet est beaucoup trop grande. De plus il est impossible de rechercher dans chaque fichier binaire, dans chaque format un parmi plus de mille virus connus. La seul manière efficace de chasser les virus du trafic entrant est de limiter la destination des binaires entrant vers un emplacement prévu, de les rechercher hors ligne, et ensuite de les livrer à l’utilisateur. - les GB ne fournissent aucune authentification de l’origine des informations. De par sa nature même, un GB permet seulement de regarder une vue instantanée d’un paquet. Il n’a aucun contrôle sur la manière dont le paquet a été créé, ou ce qu’il fait à l’arrivée. Un problème de sécurité important avec TCP/IP est que n’importe qui peut générer un message se réclamant provenir d’une autre machine (attaque de trucage). - les GB ne fournissent, pour la plupart, aucune confidentialité des informations. Bien que beaucoup de fournisseurs de GB permettent maintenant un trafic chiffré entre deux GB, cette possibilité demande que toutes les personnes avec lesquelles vous communiquez est le même GB installé sur leur site. De plus il ne fournit aucune confidentialité pour des informations sur le réseau interne. - les GB ne protègent pas contre des menaces internes, un GB solide peut vous protéger de la plupart des attaques venant d’Internet, mais il ne fera rien contre le travail de quelqu’un à l’intérieur. Il n’est pas rare de constater des organismes qui placent de fortes contraintes de transferts fichiers sortant, et qui permettent encore à leurs employées de sortir avec des bandes magnétiques. - un GB est le seul point d’entrée d’un réseau. A quoi bon construire un BG coûteux et immense si vous avez encore des centaines de modems sur des bureaux individuelles? Un périmètre de réseau sécurisé impose que tous les points d’entrée du réseau soient sûrs, pas seulement la porte de devant (attention aux back-doors). ConclusionUn garde-barrière bien configuré peut être un composant extrêmement utile dans une solution de sécurité Internet, qui représente souvent la différence entre la défense réussie d'un réseau et un titre de page d'accueil. Mais les gardes-barrières ne sont qu'une partie de l’histoire Certaines autres solutions de sécurité peuvent compléter un garde-barrière.. 3) Chiffrement Internet étant un réseau public, de surcroît coopératif, le risque n'est pas nul que l'information circulant soit interceptée, ou falsifiée. Il est, par exemple, parfois déconseillé d'accéder à votre compte à travers Internet, car quelqu'un pourrait intercepter votre mot de passe, l'identification doit donc s'accompagner de l'authentification. L'authentification est une opération consistant à rendre certaine l'identification. Des logiciels assurant une plus grande sécurité existent, mais ils ne sont pas encore très répandus. Parmi eux, citons S/Key , pour la connexion interactive par échange de mots codés, ou encore Kerberos , SecureRPC , pour les échanges sur des réseaux locaux. Nous allons voir en détail le fonctionnement de Kerberos. LE SYSTEME KERBEROS 1. Description du système Kerberos Kerberos est un système d'authentification conçu par Miller et Neuman pour les environnements réseaux ouverts dans le cadre du projet Athena du MIT. Il met en jeu 3 types d'acteurs : le serveur Kerberos, des serveurs qui fournissent des services comme telnet, ftp, mail..., et des clients qui veulent accéder à ces services. Un scénario type est un client qui pour accéder aux services d'un serveur S doit utiliser le serveur Kerberos pour s'identifier auprès du serveur S. Cette architecture repose donc sur la confiance accordée par les clients et les serveurs à Kerberos en matière d'authentification. Kerberos repose sur l'utilisation de clé privée. Il utilise un cryptage basé sur DES (Data Encryption Standard). Les clients sont des programmes ou bien des utilisateurs, les serveurs sont des machines qui fournissent un ensemble de services (qui sont eux-mêmes des clients pour Kerberos). Kerberos possède une base de donnée pour établir la correspondance Client-Clé Privée. Cette clé privée est connue seulement du client et de Kerberos. Dans le cas où le client est un utilisateur, la clé privée est en fait le mot de passe de l'utilisateur crypté (comme ce que l'on peut trouver dans /etc/passwd ou /etc/shadow). Les services des serveurs doivent eux aussi s'enregistrer auprès de Kerberos. Kerberos fournit aussi des clés de session (session key) qui permettent à deux clients de dialoguer ensemble en cryptant leurs messages. Ainsi Kerberos peut fournir trois niveaux de sécurité entre lesquels le programmeur de l'application pourra choisir : Une authentification à l'établissement de la connexion Une authentification pour chaque message envoyé Une authentification et un cryptage de chaque message Le serveur Kerberos se compose en fait de deux serveurs. D'une part, un serveur d'administration (KDBM server) qui fournit un accès en lecture/écriture sur la base de donnée de Kerberos. Ce serveur permet entre autre la mise à jour des clients. D'autre part, un serveur d'authentification (Kerberos server) qui fournit un accès en lecture seul à la base de donnée Kerberos. Ce serveur est celui auquel s'adresse les clients. Il est parfaitement envisageable d'avoir plusieurs Kerberos server avec chacun une copie de la base de données Kerberos. Les copies sont mises à jour par le KDBM server lorsque cela est nécessaire. Il existe un ensemble de programmes pour l'utilisateur final permettant de se connecter à Kerberos et notamment de changer un mot de passe Kerberos. Kerberos fournit aussi une API pour être utilisé à partir d'un programme. Enfin, le système Kerberos doit pouvoir nommer ses clients, pour cela la convention suivante est utilisée : name.instance@realm. ex : rlogin.priam@esiea.fr il s'agit du service rlogin de l'hôte priam du realm esiea.fr. Un realm est l'ensemble des machines protégées par Kerberos. 2. Fonctionnement de Kerberos Dans un premier temps, nous allons nous intéresser à la version 4 du système Kerberos. Cette section aborde les principes de base du système Kerberos. 2.1. Abréviations Pour alléger le texte et les schémas un certains nombres d'abréviations seront utilisées par la suite : C client S serveur Addr adresse réseau du client Life durée de vie du ticket Tgs serveur de ticket Kerberos serveur d'authentification KDBM serveur d'administration Kx clé privée de x Kx,y clé de session entre x et y {abc}Kx abc crypté avec la clé de x Tx,y ticket de x pour utiliser y Ax authentifieur de x WS station de travail 2.2. Pièces justificatives Lorsqu'un utilisateur veut utiliser le service fournit par un serveur, il doit s'identifier auprès de celui-ci. Pour cela, il utilise deux pièces justificatives : les tickets les authentifieurs. Toutes deux utilisent le cryptage par clé privée, mais elles sont différentes. 2.2.1. Ticket Le ticket a la forme suivante : {s, c, addr, timestamp, life, Ks,c}Ks Il permet de donner au serveur s l'identité du client c, l'adresse de ce client addr de façon sécurisée. Il permet aussi de donner au serveur la clé de session Ks,c. Les tickets peuvent être utilisés plusieurs fois. Ils ont une date limite de validité fournit par le timestamp. 2.2.2. Authentifieur L'authentifieur a la forme suivante : {c, addr, timestamp}Ks,c Contrairement au ticket, il ne peut être utilisé qu'une seule fois. Il doit être généré à chaque fois que l'utilisateur souhaite utiliser un service. C'est l'utilisateur lui-même qui la génère. 2.3. Obtention du ticket Initial L'un des objectifs de Kerberos est d'éviter que l'utilisateur ne doive taper son mot de passe à chaque fois qu'une authentification est nécessaire, c'est à dire potentiellement à chaque requête envoyée au serveur. C'est pour cela que le serveur Kerberos va fournir un ticket au client (l'utilisateur doit entrer son mot de passe), qui permettra ensuite d'obtenir tous les autres tickets auprès du TGS (serveur de tickets) sans avoir à utiliser de nouveau le mot de passe. Après tout, obtenir des tickets auprès du TGS est un service comme un autre. Le même protocole sera donc utilisé pour obtenir des tickets auprès du TGS que pour accéder à n'importe quel autre service. Il faut donc obtenir un ticket d'accès au TGS auprès du serveur Kerberos. 0000 L'utilisateur utilise le programme de login sur le serveur Kerberos. On lui demande son nom. Une fois celui-ci entré, une requête est envoyée auprès du serveur Kerberos contenant le nom du client et le nom du service TGS. Si le client est connu, le serveur Kerberos renvoie une clé de session Kc,tgs, et le ticket d'accès au TGS {Tc,tgs}Ktgs, le tout crypté par la clé du client. Lorsque la réponse est reçue par le client, on demande à l'utilisateur son mot de passe, ce qui permet de décrypter la réponse et de récupérer ainsi la clé de session et le ticket. Explication: Le système Kerberos assure de la part de l'utilisateur une authentification explicite unique qui utilise son mot de passe. Les autres authentifications reposent sur le fait que celle faite par le serveur Kerberos est bien correcte. De plus, le système Kerberos évite le transit sur le réseau du mot de passe de l'utilisateur ou de sa clé privée. En fait, l'authentification repose sur le fait que si le client est un pirate, il ne pourra pas décoder la réponse, et ne pourra donc pas récupérer ni le ticket, ni la clé de session. 2.4. Authentification auprès d'un service Dans un premier temps, on va supposer que le client possède un ticket pour accéder à un service. Ce ticket lui a été envoyé par le TGS. Il a aussi reçu une clé de session. Le client construit un authentifieur de la façon décrite précédemment. Cet authentifieur est codé avec la clé de session qui a été reçue avec le ticket. 0000 L'ensemble ticket-authentifieur est envoyé au serveur. Celui-ci décode le ticket et utilise la clé de session pour décoder l'authentifieur. Il peut alors comparer les informations contenues dans le ticket et dans l'authentifieur, l'adresse Ip à partir de laquelle la requête a été envoyée et l'heure. Si tout correspond, le client est considéré comme étant authentifié. L'utilisation des timestamps suppose que les horloges du serveur et du client soient synchronisées. De plus, pour éviter des attaques du type replay (un pirate ayant capturé le ticket et l'authentifieur renvoie ceux-ci pour accéder au service) il convient que le serveur garde une trace des authentifieurs déjà utilisés. Il est possible au serveur de prouver son identité au client, il lui suffit de renvoyer le timestamp du client incrémenté le tout codé avec la clé de session. Un serveur pirate n'aurait pas pu décoder le ticket et donc se procurer le timestamp de l'authentifieur. 0000 On parle alors d'authentification mutuelle. 2.5. Obtention d'un ticket pour un service Reprenons l'ordre chronologique des choses. Avant de pouvoir accéder au service, il faut que le client possède un ticket. Pour cela il doit le demander au TGS. En fait, on procède de la même façon que pour un service normal : 0000 On envoie une requête contenant le serveur auquel il veut s'adresser, le ticket permettant d'accéder au TGS {Tc,tgs}Ktgs ainsi qu'un authentifieur crypté par la clé de session. Le TGS se base sur les même critères pour s'assurer de l'identité du client, puis il lui envoie le ticket pour le serveur demandé ainsi qu'une clé de session encodée par la clé de session entre le TGS et le client. 2.6. Résumé du protocole d'authentification Kerberos 0000 2.7. Aspects d'administration Nous allons maintenant aborder l'aspect de l'administration d'un serveur Kerberos. Nous avons déjà vu que celui-ci utilise une base de donnée contenant l'ensemble des clients ainsi que leur clé privée. Il faut donc être capable de gérer cette base de donnée de façon sécurisée, et donc notamment d'authentifier les accès à cette base de données. Pour cela on utilise le programme d'administration kadmin. En fait, de façon logique, ce programme va s'adresser au serveur Kerberos pour lui demander un ticket d'accès au serveur KDBM. 0000 Comme nous l'avons vu la base de donnée peut être répliquée. Il faut donc assurer la cohérence entre la copie maître et les copies esclaves. La cohérence des données est assurée automatiquement par des démons kpropd, les mises à jour sont transférées sur le réseau de façon cryptée avec la clé de la base de donnée. Pour éviter qu'un site pirate n'envoie des mises à jour de la base de donnée (par exemple des anciennes mises à jour) un cheksum (crypté avec la clé privée de la base de donnée) est d'abord envoyé. Ainsi, le checksum des données reçues est comparé à celui précédemment envoyé. 3. De l'utilisation de Kerberos Au vu de ce qui précède peut-on conclure que Kerberos est un système valide d'authentification? Bien qu'il existe de nombreuses failles, elles sont pour la plupart résolvables (carte à puce) ou bien atténuable (on remplace une grosse faille par une plus petite). Il est de toute façon difficile d'envisager un protocole totalement sûr dès lors que l'intégrité de toutes les machines a été violée ainsi que celle du réseau. Le code de Kerberos est public, ce qui renforce sa robustesse. En effet, de nombreux groupes ont étudié les implémentations en détails, relevant ainsi des failles. Mais ils ont aussi proposé des corrections à apporter;. De plus, il est facile de se faire une idée précise du niveau de sécurité offert par un tel système lorsque l'on a accès à son implémentation. Echéancier Sachant que nous allons être limités dans le temps et afin de savoir à tout moment l’état d’avancement ou de retard de notre projet, il nous a paru juste de concevoir cet échéancier. Liste des tâches à réaliser au cours du TPED : Approche théorique de la sécurisation des réseaux : étude des Firewall existants et des techniques de chiffrement . Installation du matériel (fin obligatoire fin septembre). Les outils disponibles sous Linux. Compilation du noyau, mise en place des outils de travail. Définition du type de Firewall à utiliser pour notre projet. Ces taches ont été effectuées pendant les 3 premières semaines du TPED. Définition des paramètres de commande de notre firewall. Définition de l’interface utilisateur de manière a ce qu’il soit réutilisable par tous. Réalisation. Validation corrections préparation de l’exposé et rapport final -34544078740Début TPED 00Début TPED 511111549530Fin TPED 00Fin TPED 389572557150Fin Nov 99 00Fin Nov 99 555244031750000431292031242000222123059055Fin Sept 99 00Fin Sept 99 308292559690Fin Oct 99 00Fin Oct 99 13950955905513 Sept 99 0013 Sept 99 843915400685(Vacances) 00(Vacances) 17811753155950084391533909000130175977265(2) 00(2) 151130558800(1) 00(1) 3968756985024 juin 99 0024 juin 99 264858531496000-457203225800078994031813500-4762588646000-45085125920500 348932516256000-2540016383000 1460533020(3) et (4) 00(3) et (4) -4254511874500 1111885139700(5) 00(5) 78613016827500 111188563500(6) 00(6) 2940685162560(7) 00(7) 78613016065500 467804586360(8) 00(8) 26625558636000 43122859207500 Conclusion Les Firewall s’avèrent être un outil nécessaire à la protection de tout système relié a l’Internet. Nous avons vu au long de ces premières semaines à quel point les attaques sont diverses et à quel point il est difficile de trouver la parade adéquate dans un monde dont les techniques de protections et d’attaques sont en constante évolution. Notre travail final, à savoir un firewall paramétrable, est destiné à des étudiants de troisième année, qui auront un outil pédagogique leur permettant de se familiariser avec l’environnement et la configuration d’un firewall.

Related Downloads
Explore
Post your homework questions and get free online help from our incredible volunteers
  855 People Browsing
Your Opinion