Implantation d'un réseau hybride sécurisé avec Linux comme contrôleur principal de domaine dans une entreprise publique. Cas de l'OCC (office congolais de contrôle )de Goma en RDC( Télécharger le fichier original )par Eric BALUGE Institut supérieur d'informatique et de gestion Goma RDC - Licence 2011 |
I.6 INTERCONNECTION DES RESEAUXI.6.1 DéfinitionOn entend par interconnexion la liaison physique et logique des réseaux ouverts au public exploités par le même opérateur ou un opérateur différent, afin de permettre aux utilisateurs d'un opérateur de communiquer avec les utilisateurs du même opérateur ou d'un autre, ou bien d'accéder aux services fournis par un autre opérateur. Les services peuvent être fournis par les parties concernées ou par d'autres parties qui ont accès au réseau. L'interconnexion constitue un type particulier d'accès mis en oeuvre entre opérateurs de réseaux ouverts au public. I.6.2 Avantages
Il est encore plus difficile d'estimer, après coup, de façon quantitative les avantages liés a l'interconnexion. L'UCTE (Union pour la coordination du transport de l'électricité), qui a mené des travaux sur ce sujet de 1995 a 1997, en a bien saisi la mesure. En effet, une telle évaluation suppose que l'on puisse procéder a une comparaison de la situation réelle existante avec une situation de référence sans interconnexion. Mais comment raisonner ? Ouvrir de façon fictive les lignes d'interconnexion internationales existantes, pour en déduire comment se modifieraient les avantages quantitatifs ? Ou bien se tourner vers le passé. I.6.3 OutilsSavoir reconnaître les principaux outils de sécurité d'une interconnexion de réseaux. Pare-feu Un pare-feu est un équipement réseau qui contrôle le trafic réseau au niveau transport ou inférieur. Il utilise les informations d'un paquet IP (adresse source, adresse destination, type, etc.) et celles du niveau protocolaire supérieur comme TCP ou UDP (ports source et destination) pour garantir le respect d'une politique de sécurité. Exemple Pour autoriser la consultation des serveurs web depuis un réseau interne, on « ouvre » le port 80, qui correspond au protocole HTTP. Pour cela, on configure le pare-feu avec une règle : autoriser <toute source interne> vers <toute source externe:80> Mais pour que la connexion s'établisse, il faut aussi prévoir d'autoriser la réponse : Autoriser <toute source externe:80> vers <toute source interne> Pour n'autoriser que les connexions dans un sens, on s'appuie sur le drapeau SYN. Ce drapeau est activé sur le premier paquet d'une connexion. N'autoriser ce type de paquet que dans un sens, c'est déterminer le sens possible de la connexion. Exemple Pour que seul le sens de la consultation depuis un réseau interne soit possible, on interdit l'entrée de paquet SYN depuis l'extérieur : Interdire <toute source externe:80> SYN vers <toute source interne> Pare-feu dynamique Le pare-feu décrit précédemment est appelé statique, car ses règles d'autorisation ou d'interdiction des paquets sont définies une fois pour toutes. Ceci pose toutefois des problèmes car, dans la manière dont les protocoles fonctionnent, il est souvent difficile de les contrôler de façon statique. Exemple Pour que la consultation des serveurs internet depuis un réseau interne fonctionne, il est nécessaire d'ouvrir pratiquement tous les ports de retour possibles. En effet, un butineur, lorsqu'il demande une connexion, utilise un port libre de sa machine, généralement compris entre 1024 et 65535. La réponse est donc adressée à l'un de ces ports et, dans une configuration statique, le mieux que l'on puisse faire est d'interdire les ports 0-1023 qui sont réservés aux protocoles normalisés. On aura donc une politique par défaut d'interdiction et une règle de restrictive : Autoriser <toute source externe:80> vers <toute source interne:1024-65535> Cette configuration statique conduit donc à laisser passer un paquet qui ne possède pas le drapeau SYN et se dirige vers n'importe quel port compris entre 1024 et 65535 d'une source interne, même si aucune connexion n'est active. Cet effet de bord est inutile ; or en matière de sécurité, inutilité ne rime généralement pas avec sécurité. Pour éviter ce problème, on utilise un pare-feu dynamique, qui va garder en mémoire la trace des connexions en cours. Dans ce type de pare-feu, on ne configure plus que le sens souhaité de la connexion et le protocole autorisé. Le pare-feu se charge ensuite d'autoriser les paquets conformément au protocole spécifié. Exemple Pour la consultation de l'internet, on n'aura plus, sur un pare-feu dynamique, qu'à spécifier : Autoriser <toute source interne:1024-65535> vers <toute source externe> L'effet de cette règle sera dans un premier temps de n'autoriser que des paquets d'initiation de connexion SYN, et ce uniquement s'ils se propagent dans le bon sens. D'autre part, si un paquet SYN autorisé est observé en provenance d'une source interne d'adresse intIP de port intPort vers une destination externe d'adresse extIP, alors le pare-feu va temporairement accepter les paquets compatibles de ces caractéristiques. Un paquet destiné à une autre adresse que intIP ou un autre port que intPort sera rejeté. On peut ensuite illustrer la fin de la connexion. Attention, le premier paquet est cette fois-ci celui du bas. A retenir Un pare-feu dynamique garde la trace des connexions en cours pour, à un instant donné, n'autoriser que les paquets compatibles des connexions existantes ou de ses règles d'initiation de nouvelles connexions. Remarque Ce mode de fonctionnement présente un désavantage : comme le traitement des paquets nécessite une mémorisation des connexions en cours, il existe des attaques sur ces équipements visant à saturer leur mémoire. Les équipements bien conçus prennent toutefois en compte cette menace. Un pare-feu dynamique est capable de traiter plusieurs types de protocole comme TCP, UDP ou ICMP. Toutefois, en fonction de la richesse du protocole, son contrôle sera plus ou moins fin. Exemple Sur une connexion TCP, il est facile de savoir quand une connexion se termine, car on observe une séquence de fin de connexion. Dans le cas du protocole UDP, qui ne propose aucune connexion, le seul moyen de « terminer » une connexion pour le pare-feu est de refermer les ports ouverts une fois un délai fixé d'avance écoulé sans trafic. Pare-feu applicatif Un pare-feu applicatif considère les connexions à la fois au niveau de la couche transport et au niveau applicatif. Il s'agit de pouvoir distinguer des profils de machine ayant des possibilités différentes dans le protocole. Exemple Le protocole HTTP permet d'accéder en lecture sur un serveur par une commande GET, et en écriture par une commande PUT. Un pare-feu applicatif va être en mesure d'analyser une connexion HTTP et de n'autoriser les commandes PUT qu'à un nombre restreint de machines. Certains protocoles sont particulièrement complexes et le niveau de compréhension d'un pare-feu applicatif peut être très variable. Un pare-feu applicatif peut ainsi empêcher d'utiliser des fonctionnalités récemment ajoutées d'un protocole. Inversement, il peut laisser passer sans traitement des flux qu'il ne sait pas interpréter. Exemple Les flux temps réel comme ceux utilisés dans la téléphonie sur IP ne peuvent pas être filtrés efficacement sans une perte de la qualité de la communication phonique. Le plus souvent, les pare-feu applicatifs de ToIP ne filtrent donc que la signalisation, c'est-à-dire l'établissement initial de la communication phonique. Serveur mandataire (proxy) Un serveur mandataire est un relais entre deux parties à un protocole de communication. Il est dit mandataire car la configuration du réseau oblige généralement à passer par son intermédiaire. L'intérêt de cette configuration est d'une part de garantir qu'une requête effectuée, par exemple, vers internet le sera à partir d'un ordinateur ayant une configuration à jour. D'autre part, le serveur mandataire dispose souvent d'un espace de stockage ce qui lui permet de répondre directement à des requêtes identiques s'il dispose d'une version non expirée de la page demandée. Conseil Lorsqu'un serveur mandataire est installé, on configure souvent le routage du réseau pour que l'utilisateur final soit orienté vers le serveur mandataire sans avoir à modifier sa configuration. On parle alors de « proxy transparent ». Cette configuration est obtenue par translation d'adresse IP. Segment d'interface Un segment d'interface est une architecture qui organise une interconnexion de réseau. Le principe du segment d'interface est que tout flux entre les deux réseaux interconnectés doit obligatoirement être traité au niveau du segment d'interface. Il n'y a donc pas de flux direct entre les deux réseaux. Exemple Pour l'interconnexion d'un réseau interne d'entreprise à l'internet, on pourra installer un segment d'interface pour traiter le trafic HTTP (80). Toute consultation de l'internet depuis le réseau interne passera par un serveur mandataire. De cette façon, les connexions sur les sites internet sembleront toutes provenir du même serveur et la configuration des pare-feu de part et d'autre permettra d'empêcher d'accéder directement au réseau interne depuis l'extérieur. De même, la connexion sur le serveur internet de l'entreprise se limitera à ce dernier, placé sur le segment d'interface. Sa mise à jour se fera depuis le réseau interne. Conseil Lorsqu'un segment d'interface est installé, on cherche généralement à interdire toute connexion entrante sur le réseau interne. Ceci est possible pour la plupart des protocoles, à l'exception de ceux de téléphonie sur IP ou de certains protocoles pair-à-pair. Outils d'accès distant Savoir reconnaître les principaux outils de sécurité d'un accès distant Serveur RADIUS Prenons le cas pratique d'un utilisateur nomade, souhaitant se raccorder via Internet au réseau interne d'une entité de son organisme par un canal protégé (circuit virtuel protégé CVP - virtual private network VPN). Le protocole RADIUS (Remote Authentification Dial-In User Service) développé par Livingston Enterprise et standardisé par l'IETF (cf. RFC 2865 et 2866) s'appuie sur une architecture client/serveur et permet de fournir des services d'authentification, d'autorisation et de gestion des comptes lors d'accès à distance. Les numéros correspondent aux mentions suivantes :
Remarque Protocole SSL Le protocole SSL (Secure Socket Layer) développé par Netscape Communications Corp. avec RSA Data Security Inc. permet théoriquement de sécuriser tout protocole applicatif s'appuyant sur TCP/IP, par exemple HTTP, FTP, LDAP, SNMP, Telnet, etc. En pratique ses implémentations les plus répandues sont LDAPS et HTTPS. Le protocole SSL permet non seulement de fournir les services d'authentification du serveur, d'authentification du client (par certificat à partir de SSL version 3) mais également les services de confidentialité et d'intégrité. Remarque Le protocole TLS (Transport Layer Security) est la version normalisée de SSL version 3.0 (cf. RFC 2246 de l'IETF). Le protocole TLS évolue régulièrement pour tenir compte des avancées de l'état de l'art cryptographique, notamment lorsque de nouvelles attaques apparaissent.
Remarque On remarquera que ce protocole, d'un point de vue cryptographique, n'authentifie pas le client. Seul le serveur l'est. L'authentification de l'utilisateur intervient généralement ensuite par un simple identifiant/mot de passe protégé par le chiffrement de la session SSL établie. Afin d'éviter des attaques, il est recommandé d'utiliser la double authentification c'est-à-dire non seulement l'authentification du serveur mais également celle du client, qui, avec SSL, est facultative par défaut. On bénéficiera ainsi d'un accès distant authentifié par certificat de clé publique. Attention Il est également recommandé d'interdire l'utilisation de protocoles obsolètes comme SSLv2. Remarque Il existe d'autres méthodes de contrôle de l'accès distant, notamment celles qui emploient des protocoles de chiffrement comme IPsec. Toutefois, comme elles interviennent directement au niveau du transport, nous les avons classées dans la partie (( outils de cloisonnement )). Outils d'analyse de flux Anti-virus Un système anti-virus est constitué de plusieurs éléments dont le plus visible, le logiciel (( agent local )), n'est pas le plus important. Le principe d'un système (( anti-virus )) est de disposer d'un ensemble de détection des codes malveillants, opéré par des spécialistes, qui vont chercher à repérer les codes malveillants circulant sur un réseau. Pour cela, des outils comme les (( pots de miel )) (honeypot) vont chercher à attirer les activités suspectes. Ces activités, une fois analysées par les spécialistes, vont être caractérisées comme normales ou malveillantes. Une fois caractérisé un code malveillant, une signature de ce dernier va être réalisée. Cette signature dépend de l'agent local utilisé, c'est-à-dire du fournisseur du logiciel. Ce logiciel n'est qu'un moteur d'analyse simplifié, entraîné à repérer les signatures qui lui sont fournies. Placé sur le poste terminal ou sur un serveur, il va systématiquement analyser les fichiers qui lui sont passés au regard de la base de signatures dont il dispose. Remarque Le fonctionnement décrit ici est volontairement
simplifié. Les agents locaux peuvent détection ; l'utilisateur est en effet généralement invité à transmettre le code suspect au fournisseur pour analyse. A retenir Un logiciel anti-virus n'est efficace que si le système de détection auquel il s'adosse l'est. C'est le rôle du fournisseur de logiciel que de mettre en place ce système. Attention L'utilisateur, quant à lui, doit impérativement tenir à jour sa base de signatures pour bénéficier de la protection. Conseil Il existe un code normalisé pour tester si son anti-virus est actif : le code EICAR. Ce code inoffensif est inclus systématiquement dans les bases de signatures pour permettre à l'utilisateur final de vérifier, à l'aide d'un code non malveillant, que son logiciel anti-virus est bien actif. Attention Un logiciel anti-virus s'installe souvent au coeur du système d'exploitation afin de pouvoir intercepter tous les appels systèmes susceptibles d'importer des logiciels malveillants. Or, comme tout logiciel, il peut comporter des vulnérabilités, qui, compte tenu de son positionnement, peuvent s'avérer désastreuses pour la sécurité globale. Le maintien à jour du logiciel est donc une condition sine qua non de son utilité. Il est ainsi préférable au plan de la sécurité de désinstaller un logiciel anti-virus qui n'est plus maintenu. Anti-pourriel (spam) Un logiciel anti-pourriel vise à protéger les boîtes aux lettres électroniques des masses de messages non sollicités qui les inondent. À la base, le phénomène du pourriel est possible car :
La signature électronique de tous les messages est toutefois difficile à mettre en place car la gestion des clés cryptographiques correspondantes a quant à elle un coût d'infrastructure significatif. 50 Exemple Une règle pourra par exemple mesurer la présence de termes comme « viagra », « pénis », etc. et décider dans ce cas que le message est indésirable. Attention Les systèmes anti-pourriel doivent subir un apprentissage pour être efficaces. Ils doivent également être tenus à jour régulièrement. Conseil Lorsqu'on commence à utiliser un anti-pourriel, il convient de vérifier régulièrement que des messages n'ont pas été classés par erreur dans les indésirables. Il faut également, systématiquement, reclasser correctement les messages ayant subi un traitement erroné. En effet, c'est par ce mécanisme que l'anti-pourriel d'un médecin, par exemple, évitera de jeter aux oubliettes des messages professionnels sur les médicaments. Remarque Il existe d'autres systèmes anti-pourriel dont le principe est différent. Ils consistent à demander systématiquement et de façon automatique, lors d'un premier envoi de message, à confirmer celui-ci. Si cette confirmation arrive, alors le message est transmis et l'expéditeur voit son adresse mémorisée comme un expéditeur légitime. Cette méthode donne également de bons résultats mais pose un problème de fond : elle génère du trafic inutile en réponse à un pourriel et confirme indirectement que l'adresse utilisée est bien valide. Conseil En fonction du nombre de mails à traiter par jour, une solution anti-pourriel pourra reposer uniquement sur les méthodes heuristiques ou la compléter par la méthode de la confirmation. Il est en revanche déconseillé de n'utiliser que cette dernière. Détection d'intrusion Un système de détection d'intrusion repose sur les mêmes principes qu'un système anti-virus, mais les applique à l'activité du réseau. L'objectif est donc, en observant notamment les flux réseaux, à corréler des informations pour déterminer si une activité malveillante est en cours. Cette détection est plus délicate que celle de l'anti-virus car là où le virus s'exécute sur une seule machine, une activité malveillante va être répartie sur un réseau. Les informations qui peuvent être corrélées sont de plusieurs natures :
Tout comme les systèmes anti-virus, les systèmes de détection d'intrusion ont développé des moteurs d'analyse simplifiés pour reconnaître des signatures d'attaques identifiées. Il est ainsi possible de faire bénéficier tous les utilisateurs du retour d'expérience dans l'analyse de l'attaque de l'un d'entre eux. Pare-feu personnel Le terme de pare-feu personnel recouvre un type de logiciel qui n'est pas un outil d'interconnexion comme les pare-feu « classiques ». Il s'installe sur un équipement terminal, généralement dédié à un seul utilisateur. Fonctionnellement, le pare-feu personnel va généralement implanter les capacités de filtrage réseau d'un pare-feu dynamique. Mais là où le pare-feu d'interconnexion va être configuré suite à une analyse a priori des flux de transit, le pare-feu personnel va être configuré par l'utilisateur en fonction de ses besoins. Lorsqu'une nouvelle application demandera à accéder à un nouveau service réseau, le pare-feu personnel alertera l'utilisateur pour lui demander s'il confirme que cette application est bien autorisée. Remarque Le pare-feu personnel est complémentaire d'un pare-feu d'interconnexion. Il a sur ce dernier un avantage : il est en mesure de vérifier l'intégrité d'une application qui cherche à accéder au réseau, puisqu'il s'exécute en parallèle de celle-ci sur la même machine. Il est ainsi en mesure :
Outils de cloisonnement Réseau privé virtuel (VPN) Un réseau privé virtuel (Virtual Private Network en anglais) est une terminologie qui regroupe plusieurs technologies visant à isoler des réseaux de façon logique tout en leur faisant partager la même infrastructure physique. Ces technologies sont massivement utilisées, notamment par les opérateurs, pour réduire les coûts d'installation des infrastructures. Protocole MPLS Plusieurs technologies existent pour réaliser des réseaux privés virtuels. L'une des plus répandue utilise le protocole MPLS. Il n'est pas question de détailler ici ce protocole, qui est en outre utilisé de façon très variable, mais simplement de le citer comme exemple de protocole de labellisation. Les flux d'un réseau privé virtuel vont en effet se voir attribué par les équipements de routage un label caractéristique du réseau auquel ils appartiennent. Les différents équipements de routage vont propager cette information jusqu'à l'équipement d'interconnexion entre le réseau privé et le réseau de l'infrastructure de transport. Remarque La représentation ci-dessus ne correspond pas à la réalité pratique. Le protocole MPLS est adaptable à beaucoup de protocoles. Il est le plus souvent utilisé au niveau transport, et non au niveau IP. Protocole IPsec Les technologies MPLS ne sont exploitables qu'au niveau d'un opérateur. Il faut en effet que le réseau d'infrastructure propage les informations de labellisation et que tous les équipements de routage cloisonnent correctement les réseaux en fonction de ces informations. Il existe d'autres technologies, basées sur du chiffrement, pour réaliser des réseaux privés virtuels. Le protocole employé est appelé IPsec. Il présente l'avantage de pouvoir être employé de façon autonome, indépendamment du fournisseur d'accès, à condition que ce dernier permette le trafic correspondant. Dans un réseau privé virtuel IPsec, des équipements appelés chiffreurs IPsec réalisent l'interconnexion entre le réseau privé et le réseau support. Ces équipements :
A retenir Dans les VPN IPsec, les équipements employés assurent un routage des données en les chiffrant. Le cloisonnement entre les réseaux peut donc être indépendant de l'opérateur. Le chiffrement garantit en outre la confidentialité des données. Remarque Pour faciliter la compréhension, on parle souvent de données rouges et noires. Les données du réseau privé sont des données rouges, potentiellement confidentielles. Après chiffrement, les données véhiculées par le réseau support sont dites (( noires )). Le chiffreur IPsec a donc lui aussi une adresse IP rouge et une adresse IP noire. Conseil Le fonctionnement décrit et représenté ci-dessus concerne le mode (( tunnel )) d'IPsec. Il existe un mode (( transport )) où seules les données du paquet IP sont chiffrées, les informations de routage restant inchangées. Ce mode est plus difficile à maîtriser au plan de la sécurité. Il est donc conseillé de concevoir son réseau privé virtuel en employant le mode (( tunnel )), qui est plus facile à appréhender. Attention On peut envisager de créer des réseaux privés virtuels en employant SSL/TLS à la place d'IPsec. Dans la plupart des cas, ceci ne constitue pas un réel réseau privé virtuel, mais plutôt un extranet ; c'est la raison pour laquelle nous classons plutôt TLS dans les outils d'accès distant. En effet, ce protocole est de niveau applicatif. L'employer permet difficilement de protéger le réseau interne d'attaques réseau de niveau inférieur, au contraire d'IPsec. Remarque Le protocole IPsec existe dans les deux versions du protocole IP, IPv4 et IPv6. La norme IPv6 prévoit en particulier de façon obligatoire l'implantation d'IPsec. Toutefois, ce n'est pas parce qu'un réseau est configuré en IPv6, que le chiffrement est activé. Diode Une diode réseau est un équipement de cloisonnement un peu particulier qui vise à permettre la circulation d'information dans un seul sens. Comme tous les protocoles réseaux habituels sont bi-directionnels, ceci n'est possible qu'en incorporant dans la diode réseau ou dans son environnement immédiat des serveurs mandataires chargés de simuler le comportement du réseau extérieur à la diode. Exemple Un réseau très sensible peut avoir besoin d'informations publiques pour son utilisation. Par exemple, un réseau de contrôle aérien aura besoin d'informations météo pour fonctionner. Si ces informations sont disponibles sur internet, il faut pouvoir les récupérer tout en protégeant les informations du contrôle aérien d'un accès non contrôlé depuis l'internet. Le fonctionnement d'une diode réseau consiste donc à répondre aux requêtes internes à la place du serveur externe consulté. Les informations nécessaires sont en permanence mise à jour au niveau du serveur mandataire interne, en fonction de la configuration de la diode. Attention Une diode réseau ne permet pas de « surfer » sur internet. Les serveurs potentiellement accessibles au niveau du réseau interne doivent être configurés manuellement et aucune navigation interactive n'est possible (pas de moteur de recherche, pas d'envoi de formulaire, etc.). A retenir Une diode réseau est un équipement très particulier dans un réseau. Il permet :
Exemple Une diode réseau peut effectivement être utile pour protéger une source primaire d'informations contre toute tentative d'altération. Le serveur mandataire de la diode sera dans ce cas exposé potentiellement à des attaques, mais ce ne sera qu'une copie. La source primaire restera inatteignable. |
|