Академический Документы
Профессиональный Документы
Культура Документы
Configurer/scuriser un
routeur avec Linux
Plan
Routage, filtrage sur les paquets IP
Technique de masquage et de
traduction d'adresse
Masquerading et Forwarding
ICMP et le filtrage de paquets
Langage d'Ipchains
Langage d'Iptables
Fonctions de filtrage
2
Technique de masquage et de
traduction d'adresse
Le terme anglais "address translation" a t souvent repris
sous la forme "translation d'adresse dont la signification est
plus proche de ce que fait rellement le noyau (et de la
traduction littrale du terme anglais "translation" ).
Une adresse est ainsi "traduite en une autre".
Cette technique est principalement utilise pour partager une
ou plusieurs adresses publiques pour un rseau priv (pnurie
d'adresses publiques).
Elle permet galement de scuriser un rseau en entre, de
limiter les sorties.
Technique de masquage et de
traduction d'adresse
Dans la traduction d'adresse encore appel masquage ou
camouflage (ip masquerade), le routeur modifie dans le paquet
l'adresse source (SNAT ou ip masquerade) ou l'adresse de
destination (DNAT).
La modification est ralise lors de l'envoi et du retour du paquet.
Il y a bien deux fonctions diffrentes : le routage et le filtrage.
Le filtrage va consister appliquer des rgles supplmentaires aux
paquets qui sont routs.
Ces deux fonctions sont prises en charge par le noyau Linux. Elles
sont prises en charges par "ipchains" pour les noyaux 2.2.x et par
"netfilter" pour les noyaux 2.4.
Technique de masquage et de
traduction d'adresse
Le filtrage consiste mettre en place des rgles qui
seront appliques aux paquets. Pour netfilter, on
utilise la commande "iptables" qui permet de mettre
en place ou modifier des chanes de rgles.
Les chanes sont des ensemble de rgles qui sont
appliques squentiellement aux paquets jusqu' ce
que l'une d'entre elles soit applicable.
Il y a toujours au moins une chane par dfaut. Ces
chanes, sont places dans des tables.
Technique de masquage et de
traduction d'adresse
Il y a 3 tables principales pour netfilter (filter, nat et
mangle).
La table "filter" est la table par dfaut qui contient les
rgles de filtrage.
La table "nat" contient les rgles pour faire de la
traduction d'adresse.
La table "mangle" contient les rgles qui permettent de
Technique de masquage et de
traduction d'adresse
Dans la table filter, il y a 3 principales chanes : (INPUT,
OUTPUT, FORWARD).
La chane "INPUT" contient les rgles appliques aux paquets
entrants qui sont gnralement destines aux processus
locaux.
La chane "OUTPUT" contient les rgles appliques aux paquets
sortants qui sont gnralement mis par les processus locaux.
La chane "FORWARD" contient les rgles appliques aux
paquets qui traversent.
9
Technique de masquage et de
traduction d'adresse
10
Technique de masquage et de
traduction d'adresse
Le routeur est une "bote noire".
Chaque paquet entrant, quelque soit l'interface d'entre
Masquerading et Forwarding
Le forwarding est une fonction qui permet de router les
paquets entre deux rseaux.
Le masquerading est le fait de permettre aux machines de
votre rseau interne de pouvoir sortir sur votre rseau externe
en utilisant une seule adresse IP officielle. Cette adresse
officielle est mise la place de l'adresse IP de votre machine
cliente et re-remplace au retour du paquet.
Dans le cas du masquerading, les machines internes ne
peuvent pas tre atteintes sans rgles supplmentaires par
une machine de l'extrieur.
12
13
14
15
Langage d'Ipchains
Ipchains est utilisable avec les
anciennes versions de netfilter sur
les versions des noyaux 2.2.
D'aprs la page de man d'ipchains :
16
Langage d'Ipchains
Ipchains est utilis pour configurer, maintenir et
Langage d'Ipchains
target: une rgle de firewall spcifie un ensemble de critres
appliquer pour un paquet et une destination.
Si le paquet ne peut tre trait, la rgle suivante est examine,
si le paquet peut tre trait, alors la rgle est applique.
Cette rgle peut tre :
18
Langage d'Ipchains
Commandes :
ces options spcifient les actions
raliser.
Il est possible d'en spcifierqu'une
seule la foissur la ligne de
commande.
19
Langage d'Ipchains
20
Langage d'Ipchains
Attention l'criture.
Les cibles (target) sont sensibles la
casse.
Exemples d'criture:
21
Langage d'Ipchains
La premire chane signifie que pour tous les
protocoles qui entrent les paquets seront dtruits.
Pour modifier les rgles par dfaut des chanes
input, output ou forward, utiliser -P
22
Langage d'Ipchains
23
24
25
Langage d'Ipchains
26
27
Langage d'Iptables
Extrait de la page de manuel et de
l'aide :
28
Langage d'Iptables
29
Langage d'Iptables
Attention l'criture. Les cibles (target) sont sensibles la
casse.
Les tables passes en lignes de commandes ou
dynamiquement, ne sont pas conserves lors du
redmarage de la machine.
Il est ncessaire d'utiliser les commandes iptables-save et
iptables-restore pour les sauvegarder, ou les mettre dans
un script qui est excut au dmarrage de la machine, par
exemple dans /etc/init.d/rc.local.
30
Langage d'Iptables
Exemples d'utilisation d'iptables
Prenez l'habitude avant toute chose
de vrifier l'tat des rgles avant de
procder des tests. Videz les au
besoin avant de commencer.
31
Langage d'Iptables
32