(Courriels de diversion: <polluer@bateleurs-sectoriseras.com> <bouillonnera@fluorescentes-segmenterions.com> <conforterez@mandait-oublierait.com> <chiffrerai@supplanterons-detention.com> <avilies@embargos-reparus.com> <larguant@saupoudrerions-obvenir.com> <calomnie@acierer-embranchais.com> <brisees@assainissement-continuez.com> <disparaîtrez@captais-jubileras.com> <meneront@reinitialises-fantastiques.com> )
je viens de retrouver ca dans mes archives jdd
--- Begin Message ---
- Subject: [RESEAU/Filtrage] Le filtrage de trafic chez Nerim [29/09/2002]
- From: Raphael Bouaziz <bouaziz@nerim.net>
- Reply-to: bouaziz@nerim.net
- Date: Sun, 29 Sep 2002 13:12:26 +0000 (UTC)
[ Version 1.0 du 29 septembre 2002. ] Nerim et le filtrage du trafic. Il sera expliqué ici de quelles manières et à quels endroits le filtrage du trafic réseau est effectué chez Nerim. Définitions ----------- * Filtrage de niveau 2 Les protocoles de niveau 2 (Ethernet, ATM, PPP) servent de support au protocole de la couche réseau (niveau 3). Il est possible d'effectuer du filtrage à ce niveau avec certains équipements. Cela inclut par exemple le blocage d'adresses MAC ou de certains types de trames suivant des critères précis. Je n'inclus pas dans le filtrage de niveau 2 les mécanismes qui peuvent empêcher un lien de prendre du trafic tel que le spanning-tree de l'Ethernet. Ces mécanismes sont considérés comme faisant partie du protocole, le filtrage n'étant qu'une option. Exemple : le filtrage d'adresses MAC ou de trames broadcast effectué par un pont entre deux réseaux Ethernet. * Filtrage de niveau 3 Il s'agit de bloquer certains paquets IP en exploitant la manière dont fonctionne un routeur. Le filtrage de niveau 3 ne s'applique donc que sur les adresse de destination inscrites dans les paquets IP, et sur des propriétés IP pures. Le filtrage de niveau 3 ne permet donc de filtrer que des paquets entrant dans un réseau vers une adresse IP de celui-ci, ou des paquets sortant d'un réseau vers une adresse IP déterminée, et ce sans subtilités suivant le contenu du paquet lui-même. Exemple : une "nullroute" sur un routeur Cisco, ou une route vers 127.0.0.1 sur n'importe quel routeur PC (appelée souvent "blackhole"). * Filtrage de niveau 4 Il s'agit du "filtrage IP", dans le sens que la plupart des gens connaissent, qui est implémenté par la plupart des pare-feu. Un logiciel de filtrage au niveau 4 est capable d'analyser le paquet de manière plus approfondie qu'un routeur, notamment les sous-protocoles IP utilisés (ICMP, UDP, TCP, ...), les adresses de destination mais aussi les adresses source. Exemple : ipfwadm, IPFW, IPFilter, les ACL (ip access-group/ip access-list) sur les routeurs Cisco. * Filtrage de niveau 7 Enfin, une application peut effectuer du filtrage à son propre niveau, c'est à dire celui du protocole qu'elle gère (FTP, HTTP, SMTP, IRC, ...). Exemple : un fichier '.htaccess', une K-line sur un serveur IRC, un fichier 'ftpusers' et j'en passe ... * Shaping/Rate-limiting/Policing/... Un petit mot sur ce type de contrôle de trafic, souvent implémenté avec les outils de filtrage. Sans entrer dans le détail de la différence entre "policing", "rate-limiting" et "shaping", il s'agit en gros de limiter le trafic réseau (à divers niveaux) en supprimant le trames/paquets/segments/ messages/datagrammes supplémentaires par rapport à une limite fixée à l'avance. * Spoofing Méthode warlordzesque qui consiste à "maquiller" des paquets (ou des trames) afin de passer outre des règles de filtrage. Le "spoof" peut se faire au niveau 2 (adresses MAC déguisées) ou, comme c'est le plus courant sur Internet, au niveau 3 (adresse IP source déguisée). Politiques de filtrage ---------------------- Il y a deux grandes politiques de filtrage, appelons les A(llow) et D(eny) par exemple, dans les réseaux, que l'on peut résumer par : (A) "tout ce qui n'est pas explicitement interdit est autorisé" (D) "tout ce qui n'est pas explicitement autorisé est interdit" Nerim applique naturellent (là où il y a du filtrage) la politique (A) adaptée à la fourniture d'accès. Protocoles de niveau 2, 3, 4 et 7 utilisés chez Nerim ----------------------------------------------------- Voici, pour résumer rapidement, les protocoles qui sont employés dans le réseau de Nerim. Conformément à la politique ci-dessus, il est tout à fait possible d'utiliser d'autres protocoles s'il sont compatibles avec le fonctionnement du réseau de Nerim. - niveau 2 : (Fast/Gigabit) Ethernet, ATM, SDH, PPP (et protocoles associés) - niveau 3 : IPv4, IPv6 (et le multicast dans les deux protocoles) - niveau 4 : TCP, UDP, ICMP, OSPF, RIP, GRE, L2TP - niveau 7 : (presque tout ce qu'il est possible d'imaginer) Par exemple, en tant que protocole de niveau 4, Nerim n'utilise pas IPIP, mais il est tout à fait possible pour les utilisateurs d'en faire : cela n'est pas interdit ou bloqué quelque part dans le réseau. Il est également connu que les utilisateurs de Nerim faisaient déjà de l'IPv6 avant que Nerim en fasse. Inversement, Nerim ne se "réserve pas" les protocoles utilisés par le réseau de production. Par exemple, Nerim ne va pas empêcher des paquets GRE, L2TP ou RIP en provenance des clients ADSL de passer, sous prétexte qu'on s'en sert déjà sur le réseau d'infrastructure. Cela ne gêne en rien le fonctionnement de celui-ci. Implémentation du filtrage de trafic chez Nerim ----------------------------------------------- Tout d'abord, il y a plusieurs types de réseaux à distinguer. On trouve notamment : - les réseaux de transport Internet (LAN Backbone, LAN Core) - les réseaux de collecte (LAN de concentration CIPA) - les réseaux applicatifs (LAN Serveurs) - les réseaux d'hébergement - les réseaux d'administration (LANs NOC et ADM) Voici un résumé rapide de la politique : - pas de filtrage de niveau 2 chez Nerim en général - pas de filtrage de niveau 4 sur les LANs servant à la fourniture d'accès (collecte et transport Internet) - le filtrage de niveau 3 est utilisé sur ces LANs en cas *exceptionnel* pour protéger les équipements réseaux (en pratique, lors des floods warlordzesques) - les LANs serveurs et applicatifs disposent de filtrage de niveau 4 et 7 standards suivant les types d'applications des machines. Au niveau des équipements réseaux, il faut savoir que, par exemple, le switch-routeur swr101-hst-telehouse est incapable de faire du filtrage de niveau 4. D'autres équipements comme les Cisco 7204/7206 de Nerim peuvent faire du filtrage de niveau 4, mais ces fonctions sont désactivées pour en optimiser les performances. Il est donc *impossible* qu'il y ait (ou bien de demander) un filtrage de port sur le réseau d'accès. Sur la machine cynthia, passerelle du LAN de concentration FSA depuis le 26 septembre, le filtrage IP a été désactivé afin de gagner en performances. Tout ce que peux faire Nerim, c'est filtrer les paquets vers une certaine adresse IP _extérieure_ depuis l'intérieur, ou alors vers une certaine adresse IP _intérieure_ depuis l'extérieur. Il n'est pas possible de faire du filtrage de niveau 3 entre clients ADSL, car on ne peux pas savoir sur quel LNS va être connecté un utilisateur donné. Le filtrage de niveau 4 chez Nerim (et la plupart du temps, sauf attaques, de niveau 3) reste donc cantonné au niveau des serveurs. Parmi les filtres standards, on trouve par exemple l'interdiction à des adresses IP non-Nerim de se connecter sur les machines SMTP (kraid et mallaury). Ce type de filtrage, au passage, empêche ces machines d'être qualifiées de relais ouverts, puisqu'elles refusent les connexions externes (avis aux utilisateurs de listes de SPAM pourries). Il y a également du filtrage de niveau 7, comme par exemple le fait qu'il faille disposer d'une adresse IP Nerim pour se connecter sur le serveur NNTP sans authentification. Certains services sont totalement ouverts chez Nerim (vis-à-vis de l'extérieur) et donc utilisables de n'importe où. Cela comprend : - les serveurs POP3 Nerim et Mangoosta, ainsi que le serveur IMAP de Mangoosta - le serveur FTP anonyme - le serveur FTP utilisateur (pour les pages personnelles) - les différents serveurs HTTP (dont les services 'webmail') - le serveur NNTP avec authentification utilisateur A noter que le serveur IRC n'est pas une machine de production du LAN Serveurs de Nerim, mais une machine hébergée fournie par Nerim. La politique de filtrage de cette machine est donc gérée en accord avec celle d'IRCNet-FR, et non par Nerim. Limitation de bande passante et LANs hébergement ------------------------------------------------ Il y a quatre LANs d'hébergement chez Nerim. - Le 1er LAN d'hébergement (62.4.16.128/28) historique, derrière myrtille. - Le 2ème LAN d'hébergement (62.4.21.224/27) derrière myrtille également. - Le 3ème LAN d'hébergement (80.65.238.64/26) derrière swr101-hst-telehouse. - Le LAN Infiniland (80.65.238.128/25) derrière mirana, correspondant aux offres "Nerim Hosting". Sur tous les LANs derrière myrtille, il est possible de demander des règles de filtrage au niveau 4. Par défaut, il n'y a pas de règles en dehors du filtrage RFC1918 (voir plus bas) et broadcast (adresse source 255.255.255.255 par exemple). Sur le troisième LAN d'hébergement ainsi que sur le LAN Infiniland, c'est au client d'effectuer son propre filtrage IP. Nerim n'a aucun filtre. La limitation de bande passante n'est pas implémentée de la même manière sur les différents LANs. Sur tout ce qui est derrière myrtille, il est possible de définir des groupes d'adresses IP qui vont se partager la bande passante. Egalement, les machines sur le même LAN ou sur le LAN voisin peuvent "discuter" sans êtres soumises à la limitation. Ceci n'est pas possible sur les LANs derrière mirana ou swr101-hst-telehouse. La limitation est en effet faite par port physique sans distinction du type de trafic. Pour partager une bande passante entre plusieurs machines, il faut donc se procurer son propre routeur et l'héberger avec ses machines. Filtrages exceptionnels sur les LANs d'infrastructure ----------------------------------------------------- Je tiens à revenir sur le filtrage au niveau des LANs d'infrastructure (Backbone, Core, Concentration FSA et Turbo IP/CIPA) car c'est la plus grande source d'erreurs et de confusion. Il n'y a _aucun_ filtrage sur ces LANs, ce qui signifie qu'aucune communication entre une machine quelconque à l'extérieur de Nerim et un abonné ADSL (ou autre type d'accès) n'est bloqué par Nerim. Si cela coince, c'est dû à du filtrage du côté distant. Lorsqu'il y a des attaques vers une adresse IP du réseau, le filtrage de niveau 3 est implémenté sur les routeurs Internet du réseau vers l'adresse IP attaquée, afin que les paquets "pourris" ne pénètrent pas à l'intérieur du réseau. Il faut savoir cependant qu'il est de plus en plus difficile de savoir vers quelle destination se dirigent les floods, et que cela fait donc très longtemps qu'il n'y a plus eu de filtrages. Enfin dans l'autre sens (Nerim -> extérieur) il n'y a tout simplement pas (et aucune raison de mettre en place) une quelconque nullroute. A propos de l'anti-spoof ------------------------ Au niveau des LANs Serveurs, NOC et ADM, il y a des filtres anti-spoof rudimentaires, c'est à dire qu'un paquet dont l'adresse source est située _derrière_ la passerelle et qui se présente _devant_ la passerelle sera détruit. Par exemple, envoyer depuis un accès ADSL un paquet avec l'adresse source de maridia vers metroid sera détruit par miren. De la même façon, les paquets avec des adresses sources en RFC1918 sont détruits par les passerelles de ces LANs (miren et maina). A noter que les adresses RFC1918 sont également filtrées par les passerelles d'hébergement myrtille et mirana. Il y a eu (il y a très, très longtemps) des règles anti-spoof de ce type sur le routeur qui connectait le réseau de Nerim avec celui d'Isdnet (aboukir-1.nerim.net, Cisco 3620 à l'époque). Un paquet ayant une adresse source de Nerim arrivant par l'interface Isdnet était détruit. Ces règles ont disparu lorsque ce routeur a été remplacé par miren (à l'époque où elle faisait passerelle BGP) car j'avais désactivé le filtrage sur cette machine afin d'en optimiser les performances. Aujourd'hui, il n'y a plus aucune règle anti-spoof sur les routeurs Cisco et donc sur les LANs d'infrastructure. Un paquet envoyé avec l'adresse source de maridia depuis un accès ADSL vers un autre accès ADSL sera reçu dans tous les cas. C'est la même chose pour le RFC1918. Au niveau des transits, il n'y a pas de règles anti-spoof car nous n'avons plus que des fournisseurs tier 1 ; ils peuvent donc voir potentiellement transiter dans leur réseau n'importe quel paquet IP, et ne peuvent donc pas définir de politique de filtrage sur leur infrastructure. Bien qu'ils ne fournissent plus de transit à Nerim, je signale que Isdnet dispose de règles anti-spoof sur son réseau. Lorsque Isdnet fournissait du transit à Nerim, il n'était pas possible d'envoyer au travers de notre lien de transit un paquet dont l'adresse source n'était pas à Nerim ; la règle doit toujours être valable sur le peering privé. Chaque peer est libre d'appliquer ses règles de filtrage au trafic qui lui est destiné (ce qui est forcément le cas, parce qu'un peer ne transporte jamais les paquets ailleurs que chez lui ou ses clients, contrairement à un transit). -- Raphael Bouaziz--- End Message ---
--------------------------------------------------------------------- To unsubscribe, e-mail: projets-unsubscribe@savage.iut-blagnac.frFor additional commands, e-mail: projets-help@savage.iut-blagnac.fr