(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 ---

[ 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