Sous Paragaphe



4.13 Ancienne Configuration du filtrage de Paquets

Avec la configuration du filtrage de paquets, deux choses sont à différencier: La connexion avec le Routeur et la connexion traversant le Routeur pour d'autres réseaux locaux. On doit indiquer, les réseaux qui sont connectés au routeur, par l'intermédiaire des adresse-IP ou des hôtes, on peut se baser sur les variables suivantes IP_NET_x, IP_NET_x_IPADDR et les noms hôtes HOST_x.

4.13.1 connexion traversant le Routeur

Le filtrage de paquets acceptera seulement des paquets des adresses IP connues. Des adresses IP sont connues, si elles proviennent d'un sous-réseau, qui a été configuré dans les variables suivantes:

Le Routeur connaît tous les ordinateurs, donc les connexions ont été établies.

De plus, fli4l applique une liste Black/White (noir/blanche) aux adresses-IP dans (FORWARD_HOST_x) et filtre également les ports FORWARD_DENY_PORT_x. L'illustration 4.2 montre les détails des filtres des régles et des ramifications, comment sont-ils appliqués, lorsqu'un paquet passe une régle soit il est dirigé vers le haut soit vers le bas mais si le paquet ne s'applique pas à cette régle il passe à la suivante. Le déplacement est symbolisé par une flèche.

Les variables de configuration sont décrites plus précisément ci-après.

Illustration 4.2: Utilisation des variables de configuration

\includegraphics[width=\columnwidth]{forward}

PRE/Post
Les règles créées par l'utilisateur qui ont été sauvegardées dans opt/etc/rc.d/fwrules.pre, post.*. Ces paquets peuvent être accepés ou refusés.
TN
TRUSTED_NETS le paquet est accepté sans aucun filtrage.
FDP
FORWARD_DENY_PORT_x les ports ou ensemble de ports qui sont mentionnés ici sont rejetés.
BL
L'ensemble des adresses IP indiquées dans la liste noire (Blacklist), est rejetées.
WL
L'ensemble des adresses IP indiquées dans la liste blanche (Whitelist), n'est pas rejetées du moment (qu'ils appartient à un réseau connu du Routeur).
RN
ROUTE_NETWORK l'ensemble des paquets provenant d'un sous-réseau mentionné, est acceptés.
MN
MASQ_NETWORK l'ensemble des paquets provenant d'un sous-réseau mentionné, est acceptés.
Rel
Si le paquet fait partie d'une relation déjà établie, il est accepté (peu importe, d'où il vient).
All
Règle qui s'applique à tous les paquets, ils seront rejetés.
Log
les paquets sont inscrits dans le Syslog ou sur la console (ou écran).
Drop
Les paquets sont rejetés.
Accept
Les paquets sontacceptés ettransmis.

MASQ_NETWORK

Ici, ont indique les réseaux qui doivent être masqués pour une connexion extérieur (Internet). Seulement si on utilise des adresses-IP non officiels (privées), comme p. ex.192.168.x.x, on doit utiliser le Routeur pour accèder à Internet, les adresses-IP doivent absolument être indiqués ici.

Sous cette forme:

NUMERO DU RESEAU/NUMERO DU MASQUE-SOUS-RESEAU NOTATION-CIDR

P. ex. pour le réseau 192.168.x.0:

MASQ_NETWORK='192.168.6.0/24'

Ici, les 24 premiers bits sont placés dans le masque de sous réseau.

Si plusieurs réseaux doivent être masqués, ceci seront séparés par un espace (ou un blanc). Si aucun réseau ne doit être masqué, la variable doit être vide.

Dans illustration 4.3 on montre comment se déplace un paquet d'un sous-réseau dans la variable MASQ_NETWORK du Firewall

Illustration 4.3:Le chemin des paquets filtrés
dans MASQ_NETWORK

\includegraphics[width=\columnwidth]{mn}

ROUTE_NETWORK

Les paquets qui appartiennent à un hôte connexion à un sous-réseau différent p. ex un sous réseau derrière une passerelle sont redirigé par le routeur. De plus, les paquets adressés à ces réseaux, ne sont pas masqueraded (masqués). Ceci peut être utile par exemple, si un employé a besoin d'accèder au réseau interne de sa société par l'intermédiaire d'une autre connexion. L'écriture est identique à la variable MASQ_NETWORK, par exemple

ROUTE_NETWORK='192.168.1.0/24'

Plusieurs réseaux peuvent être indiqués ils seront séparés par un espace (ou blanc).

La variable ROUTE_NETWORK peut rester vide dans la plupart des cas.

Le filtage de paquets de ROUTE_NETWORK, est illustré ici 4.4 (est identique à la variable TRUSTED_NETS).

Illustration 4.4: Chemin du filtrage de paquets avec ROUTE_NETWORK ou TRUSTED_NETS

\includegraphics[width=\columnwidth]{tn}

SRN
Le paquet provient (source) d'un sous-réseau indiqué dans ROUTE_NETWORK.
DRN
Le paquet devrait être expédié(destination) à un sous-réseau indiqué dans ROUTE_NETWORK.

FORWARD_HOST_WHITE

Il y a des situations ou l'on aimerait permettre à certain hôte (ordinateur) d'accéder au réseau local et à internet liste White (blanche) et à d'autre interdire l'accés du réseau liste Black (noir). Dans ce cas le filtrage de paquets du routeur laisse passer ou bloque ces paquets.

Si on met la variable FORWARD_HOST_WHITE sur 'yes' on aura une liste blanche (Whitelist), mais si on écrit 'no' on aura au contraire une liste noir (Blacklist) en plus on doit régler dans la variable FORWARD_HOST_N='0' le nombre de hôte,elle est ici à zéro. La configuration standard est 'no'.

[FORWARD_HOST_N FORWARD_HOST_x]

La première variable sert aux nombre hôtes (ou ordinateurs), la deuxième aux adresses-IP.

Ici, sont spécifiés les ordinateurs de Blacklist ou de Whitelist. Par exemple.

FORWARD_HOST_N='2'
        FORWARD_HOST_1='192.168.6.5'
        FORWARD_HOST_2='192.168.6.6'

Les paquets de ces deux ordinateurs sont uniquement transmis au Routeur Whitelist, ou sont uniquement bloqués Blacklist.

FORWARD_DENY_PORT_N FORWARD_DENY_PORT_x

Avec ces deux variables on peut interdire les ports d'une adresse-IP. Par exemple interdire les ports Netbios 137-139 est judicieux, aucune adresse IP ne peut sortir du routeur avec ces ports, ni entre deux réseau local (ou LAN).

Si on a plusieurs cartes réseaux dans le routeur fli4l et que ces sous réseaux souhaite communiquer entre eux pour accéder p. ex. au répertoire de Windows, il ne faut pas bloquer les ports Netbios ici. il vaut mieux utiliser la variable TRUSTED_NETS pour écrire les sous réseaux dans lesquels les ports seront permis.

Un exemple. Pour interdire l'accès au service de Napster et Netbios:

FORWARD_DENY_PORT_N='7'                # Anzahl
        FORWARD_DENY_PORT_1='135-139 REJECT'   # NetBios-Ports 135 bis 139
        FORWARD_DENY_PORT_2='445 REJECT'       # MS-DS
        FORWARD_DENY_PORT_3='8888 REJECT'      # Napster Port 8888
        FORWARD_DENY_PORT_4='7777 REJECT'      # Napster Port 7777
        FORWARD_DENY_PORT_5='7000 REJECT'      # Napster Port 7000
        FORWARD_DENY_PORT_6='4444 REJECT'      # Napster Port 4444
        FORWARD_DENY_PORT_7='4200 REJECT'      # Napster Port 4200
TRUSTED_NETS

Bloquer les ports indiqués avec FORWARD_DENY_PORT_x et bloquer les hôtes avec Black/Whitelist (FORWARD_DENY_HOST) peuvent être abrogés par la variable TRUSTED_NETS pour certains réseaux. Ici des réseaux dignes de confiance peuvent être indiqués dans cette variable. Par exemple si le routeur-fli4l est équipé de deux cartes reseaux, les réseaux locaux pouront communiquer entre eux par le port Netbios sans danger de piratage. Exemple de Deux réseaux digne de confiance

TRUSTED_NETS='192.168.1.0/24 192.168.6.0/24'

Contrairement à la variable MASQ_NETWORK on est obligé d'indiquer plusieurs réseaux pour que la régle IP-Table soit correctement générée. Un minimum de deux réseaux doit être écrit!

Le chemin des paquets dans ROUTE_NETWORK, est représenté dans l'illustration 4.4 (il est le même que les paquets de TRUSTED_NET).

Réglage Standard: TRUSTED_NETS=''

Autre Réseau

Comme on l'a déjà remarqué dans l'introduction, le Router ne transmet que les paquets des réseaux qu'il connaît. Cependant lorqu'un nouveau réseau interne est établi, avec lequel on veut communiquer, le Router établi un registre de connexion et laisse ainsi passer les paquets qui font partie du registre de connexion. Le filtrage de paquets avec cette connexion est représenté dans l'illustration 4.5.

Illustration 4.5:Chemine de filtrage de paquets d'un réseau inconnu
\includegraphics[width=\columnwidth]{other}

4.13.2 connexion dans le Router

Le précédant paragraphe décrivait les connexions des hôtes à traversant le routeur, ce parargaphe décrit les connexions avec le routeur-fli4l. Puisque fli4l met des processus à la disposition sur certains ports, il est logique de protéger ceux-ci des accés externe.


Important: Le RÉSEAU LOCAL, sont généralement masqué par le Routeur et protégé d'une manière générale des accés externes. Donc les numéros de ports indiqués sont seulement limités aux accès externes par le routeur-fli4l lui même.

Les hôtes des réseaux locaux qui peuvent accéder au routeur fli4l sont indiqués dans les variables suivantes MASQ_NETWORK, ROUTE_NETWORK et TRUSTED_NETS, ces réseaux locaux, on peut être des Ports fermés qui ne peut accéder au Routeur. Si vous voulez accéder à un service supplémentaire, utiliser la variable INPUT_ACCEPT_PORT_x pour pouvoir ouvrir le port correspondant. D'une manière intéressante dans le tableau 4.4 sont décrits les ports et les processus.


Tableau 4.4:  Ports, sur le fli4l ggfs. et processus

Port Nom Processus
22 ssh sshd
37 time < kernel>
53 domain dnsmasq
80 www mini_httpd
137:139 netbios smbd (samba)
515 printer lpd
5000 < imond> imond
5001 < telmond> telmond
8000 < proxy> proxy


Il est fortement recommandé, de ne pas changer la configuration standard des ports du pare-feu (ou Firewall).

INPUT_ACCEPT_PORT_N INPUT_ACCEPT_PORT_x

Dans la configuration standard, tous les ports du routeur sont fermés aux hôtes du réseau local. Il n'est pas possible de se connecter au routeur. Les ports que vous voulez utiliser pour fournir un service au monde extérieur (Internet) doivent être indiqués ici.

Une ouverture se compose d'un simple port ou de plusieurs ports (les deux ports sont séparés par deux points 137:139) on peut indiquer le protocole facultatif (TCP ou UDP). Si aucun protocole n'est indiqué, les deux protocoles sont acceptés sur le port. Si vous voulez vous connecter au processus ssh (sur port 22/tcp), l'entrée devrait ressembler à ceci:

INPUT_ACCEPT_PORT_N='1'       # no. of ports to accept from outside
INPUT_ACCEPT_PORT_1='22 TCP'  # e.g. allow connexion to ssh service

INPUT_POLICY

Si un paquet arrive sur le routeur et qu'il ne puisse pas passer en raison de la configuration, le Routeur a deux possibilités, soit de jeter le paquet (DROP) ou soit de refuser le paquet (REJECT) et informer l'expéditeur du refus. La configuration standard est REJECT.

Si le paramètre est placé DROP (ou rejet) est silencieux, cela peut mener au problème suivant les serveurs qui fournissent des services comme le ftp, essaie de se connecter au port 113 (auth), le routeur ne renvoie aucune réponse à la demande de connexion, le routeur-fli4l ne réagit pas du tout à la connexiondu serveur ftp, ceci peut mener à une déconnexion non désirée.

Information supplémentaire au sujet de REJECT et DROP:

http://www.iks-jena.de/mitarb/lutz/usenet/Firewall.html#Deny
http://www.chiark.greenend.org.uk/%7Epeterb/network/drop-vs-reject

DENY_ICMP

Si vous voulez interdire une demande de protocole ICMP (requète écho) du réseau externe on écrit DENY_ICMP='yes'. Dans ce cas on ne pourra plus interroger le routeur-fli4l de l'extérieur par un ping. Avant d'écrire 'yes' je vous recommande de visiter ces pages Web:

http://www.iks-jena.de/mitarb/lutz/usenet/Firewall.html#Verstecken
http://extern.fli4l.de/fli4l_faqengine/faq.php?display=faq& faqnr=26& catnr=10& prog=1& lang=de& layout=def

Réglage Standard: DENY_ICMP='no'

PACKETFILTER_LOG

Si on met 'yes' dans cette variable les paquets refusés des accés Internets sont écrit dans un fichier log (ou journal) par intermédiaire de l'interface Syslog.

Une description courte des éléments les plus importants d'une trame d'un paquet:

IN=ppp0 OUT= MAC= SRC=217.238.54.176 DST=217.235.38.43 LEN=48
TOS=0x00 PREC=0x00 TTL=124 ID=30343 DF PROTO=TCP SPT=3087
DPT=4662 WINDOW=16384 RES=0x00 SYN URGP=0
        

IN Interface sur lequel est arrivé le paquet
SRC, DST Adresse IP source et destination du paquet
LEN Longueur du paquet en Octets
TOS Type de Service
TTL Time To Live, (temp de vie) nombre de saut avant que le paquet soit supprimé
PROTO=TCP Protocole du Paquet
SPT, DPT Port source et destination
ID

IP-ID, chaque paquet envoyé par l'expéditeur est incrémenté (augmente) de un

Réglage Standard: PACKETFILTER_LOG='no'

Das Fli4l-Team
24 decembre 2006