TP - NAT et Firewall
N. Delestre
Rappels : Information sur le CR a rendreLes TP se font en binome (binome que vous conserverez pendant tous les TP).Chaque TP de reseau sera suivi d’un compte rendu qui devra etre depose sur le site moodle au
format PDF avant la prochaine seance de TP. Le nom de ce fichier devra suivre la syntaxe suivante :“nom1-nom2-tpX.pdf”
Le CR de 2 a 3 pages devra presenter :– la demarche suivie,– les commandes et configurations permettant d’obtenir les resultats,– les resultats demandes.
Rappels / Documentation
Le parametre : net.ipv4.ip_forwardLe fonctionnement du noyau linux peut etre modifie « a chaud » par la modification de certains
parametres. Par exemple, lorsque le parametre net.ipv4.ip_forward est a 1, tout paquet IPqui arrive sur une interface et dont l’adresse de destination appartient a un des reseaux connectes,est automatiquement transfere. On obtient/modifie la valeur d’un parametre du noyau linux a l’aidede la commande sysctl. On peut aussi configurer le noyau au demarrage en modifiant le fichier/etc/sysctl.conf.
NetfilerNetfilter est le firewall integre a Linux depuis le noyau 2.4. Il intercepte les donnees reseaux a
l’aide de 5 hook (NF IP PRE ROUTING, NF IP LOCAL IN, NF IP FORWARD, NF IP LOCAL OUT,NF IP POSTROUTING). A ces hook sont associees un ensemble de regles de decision (nommeeschaınes). Il existe les chaınes systemes (il y en a 5, une par hook : PREROUTING, INPUT, FORWARD,OUTPUT, POSTROUTING) et des chaınes utilisateurs (qui sont alors appelees par les regles deschaınes systemes).
Les chaınes sont regroupees en table. Il existe trois tables correspondant aux trois fonctionnalitesde Netfilter que sont le filtrage (filter), le nat (nat) et le marquage (mangle). Les chaınes utiliseesdependent de la fonctionnalite. En effet le filtrage utilise les chaınes INPUT, FORWARD et OUPUT.Le nat utilise PREROUTING, OUPUT et POSTROUTING. Le marquage, quant a lui, utilise toutes lestables.
Pour manipuler les tables, il faut utiliser la commande iptables. iptables permet :– d’ajouter des regles et des chaınes a une table,
1
FIG. 1 – Les hook de Netfilter
– de supprimer des regles et des chaınes d’une table,– de modifier des regles et des chaınes d’une table,– et d’afficher les regles et des chaınes d’une table.Les parametres d’iptables les plus souvent utilises sont presentes en Annexe A. Pour plus d’in-
formation, allez voir la documentation (en francais :-) ) de Netfilter sur http://www.netfilter.org/.
1 NATSoit le reseau propose par la figure 2 qui correspond au laboratoire Netkit disponible sur moodle.
Ce lab configure automatiquement les adresses IP et les passerelles de PC1 et PC2.
PC1
192.168.0.2
192.168.0.1
PC2
192.168.0.1
192.168.0.2
10.0.0.1 10.0.0.2
10.0.0.3
FW1
WWW
A B
C
FW2
PIRATE
10.0.0.4
����������������
����������������
����������������
����������������
��������������
��������������
������������������������������������������������
������������������������������������������������
������������������
������������������
���������������������������������������������
���������������������������������������������
������������������
������������������
������������������������������������������������
������������������������������������������������
������������������
������������������
FIG. 2 – Le reseau de ce TP
1.1 Utilite du NATDepuis la machine PC1, pinger la machine FW2. Pendant ce ping, faite un tcpdump sur PC2. Que
constatez-vous ? Pourquoi ?
2
1.2 Configuration du NATPour resoudre le probleme precedent, nous allons “nater” le reseau A et C. Pour ce faire, vous
allez configurer FW1 (idem avec FW2) de facon a ce que tous les paquets qui sortent par eth1 vontsubir une translation d’adresse. Cette action est possible en modifiant la table nat de facon a masquerl’adresse source.
– Etudier le parametre “SNAT” de l’option “-j” de la commande iptables– Configurer FW1 et FW2– Comme precedemment, depuis la machine PC1, pinger la machine FW2, en faisant toujours un
tcpdump sur PC2.– Tester le fonction du NAT en navigant depuis PC1 et PC2 (a l’aide du navigateur lynx) sur le
site web de WWW (utiliser le serveur developpe au TP precedent ou le serveur apache).
2 Scan de portLe scan de port consiste a essayer de se connecter (envoie d’un paquet SYN) a une machine sur
differents ports Si la machine repond, c’est qu’un service est a l’ecoute : une faille de securite peutetre exploitee. L’outil nmap permet de scanner des ports.
2.1 Utilisation de nmap1. Depuis la machine PIRATE, scanner les ports de la machine FW1.
2. Trouver une astuce pour scanner les ports de la machine PC1 depuis la machine PIRATE.
3 Firewall sans etatOn veut proteger les machines FW1, FW2, PC1 et PC2 contre tout attaque et que seule la navigation
vers des sites web soit possible depuis ces deux dernieres machines.
1. A l’aide de la commande iptables, ecrire un script qui configure FW1 (repectivement FW2)de facon a ce que :– tout ce qui n’est pas autorise est interdit,– seules les connexions web (tcp sur le port 80) depuis l’intranet, le reseau A, (respectivement
le reseau B) sont acceptees vers l’exterieur, c’est-a-dire le reseau C.
2. Tester a l’aide de la commande nmap les ports visibles depuis la machine PIRATE.
3. Etudier l’option -g ou --source port de nmap.
4. Montrer que la machine PIRATE peut tout de meme voir les services offerts par PC1 malgreFW1.
4 Firewall avec etat1. Etudier l’option state de iptables.
2. Modifier votre script afin que PIRATE ne puisse plus scanner PC1.
3
Ann
exe
A1 Opt
ion
Para
met
rePa
ram
.opt
ionn
elE
xplic
atio
n-t
(tab
le)
”filte
r”,”
nat”
,”m
angl
e”O
uiIn
diqu
esu
rqu
elle
tabl
eno
usvo
ulon
str
avai
ller.
Siau
cun
pa-
ram
etre
n’es
tfou
rni,
c’es
tla
tabl
efil
ter
quie
stse
lect
ionn
eepa
rde
faut
.-F
(Flu
sh)
”filte
r”,”
nat”
,”m
angl
e”O
uiSu
ppri
me
tout
esle
sre
gles
d’un
ech
aıne
pred
efini
e(t
el”P
RE
-R
OU
TIN
G”,
”IN
PUT
”,”F
OR
WA
RD
”,”O
UT
PUT
”et
”PO
ST-
RO
UT
ING
”).S
iauc
unpa
ram
etre
n’es
tdon
ne,t
oute
sle
sch
aıne
spr
edefi
nies
sont
supp
rim
es.
-X(e
Xcl
ude)
[Cha
ıne
utili
sate
ur]
Oui
Supp
rim
eun
ech
aıne
utili
sate
ur.
Siil
n’y
aau
cun
para
met
re,
tout
esle
sch
aıne
sut
ilisa
teur
sso
ntsu
ppri
mee
s.-P
(Pol
icy)
”filte
r”,”
nat”
,”m
angl
e”N
onD
efini
ela
polit
ique
(ou
cibl
e)pa
rdef
autd
’une
chaı
ne.S
eule
sle
sch
aıne
spr
edefi
nies
peuv
ent
avoi
run
com
port
emen
tpa
rde
faut
.C
ette
cibl
ene
sera
appl
ique
equ
’apr
esl’
exec
utio
nde
lade
rnie
rere
gle
dela
chaı
ne.
-N(N
ew)
[Cha
ıne
utili
sate
ur]
Non
Cet
teop
tion
cree
une
nouv
elle
chaı
neut
ilisa
teur
.Par
lasu
ite,d
esre
gles
doiv
ent
etre
scr
eees
,afi
nde
rem
plir
cette
chaı
ne.
Sino
n,el
lene
sera
pas
tres
utile
!-A
(App
end)
[Cha
ıne]
Non
Ajo
ute
une
regl
ea
une
chaı
nepr
edefi
nie
ouut
ilisa
teur
.Nou
sal
-lo
nsut
ilise
rmaj
orita
irem
entc
ette
com
man
de.
-D(D
elet
e)[C
haın
e][N
umer
ode
regl
e]N
onSu
ppri
me
une
regl
eda
nsun
ech
aıne
part
icul
iere
.Le
num
ero
dela
regl
epe
utet
rere
trou
veav
ecla
com
man
de”i
ptab
les
-L”
ou”i
ptab
les
-L-n
”-L
(Lis
te)
[Cha
ıne]
Oui
Affi
che
lalis
tede
sre
gles
pour
lach
aıne
indi
quee
.Ou,
siau
cune
chaı
nen’
est
indi
quee
,ce
laaf
fiche
rale
sre
gles
pour
tout
esle
sch
aıne
sde
lata
ble
indi
quee
.Not
e:
Raj
oute
ra
”-L
”le
sop
tions
”-n”
et”-
v”es
ttre
sut
ile.
-j(j
ump)
[Cib
le]
Non
Defi
nil’
actio
na
effe
ctue
rsiu
npa
quet
repo
ndau
xcr
itere
sde
cette
regl
e.L
espr
inci
pale
sva
leur
sso
nt:
AC
CE
PT,D
RO
P,R
EJE
CT,
LO
G
1 http://olivieraj.free.fr/fr/linux/information/firewall/fw-03-05.html
4
Opt
ion
Para
met
rePa
ram
.opt
ionn
elE
xplic
atio
n-i
(inp
ut)
[Int
erfa
cere
seau
]N
onC
rite
resu
rl’i
nter
face
rese
audo
ntpr
ovie
ntle
paqu
et-o
(out
put)
[Int
erfa
cere
seau
]N
onC
rite
resu
rl’i
nter
face
rese
aud’
oule
spa
quet
svo
ntso
rtir
-s(s
ourc
e)[!
][A
dres
seIP
oure
seau
]N
onC
rite
resu
rl’a
dres
seIP
sour
cedu
paqu
et-d
(des
tinat
ion)
[!][
Adr
esse
IPou
rese
au]
Non
Cri
tere
surl
’adr
esse
IPde
dest
inat
ion
dupa
quet
-p(p
roto
cole
)[!
]”a
ll”,
”tcp
”,”u
dp”,
”icm
p”,o
uun
num
ero
Non
Cri
tere
sur
lety
pede
tram
esut
ilise
dans
lepa
quet
.D
’aut
res
num
eros
depr
otoc
oles
peuv
ent
etre
utili
ses.
Voir
votr
efic
hier
”/et
c/pr
ocol
es”
–spo
rt[!
][Po
rtou
serv
ice]
Non
Cri
tere
surl
epo
rtso
urce
des
paqu
ets
IP–d
port
[!][
Port
ouse
rvic
e]N
onC
rite
resu
rle
port
dede
stin
atio
nde
spa
quet
sIP
-m(m
odul
e)[N
omd’
unm
odul
e]N
onD
eman
ded’
utili
seru
nm
odul
epa
rtic
ulie
r–s
tate
[!]
”NE
W”,
”EST
AB
LI-
SHE
D”,
”RE
LA
TE
D”,
”IN
VAL
ID”
Non
Cet
teop
tion
nes’
utili
sequ
ecu
mul
eeav
ecl’
optio
n”-
mst
ate”
,afi
nd’
etre
utili
sepo
urle
suiv
ide
conn
exio
n
–ulo
g-pr
efix
[Un
mot
]N
onR
ajou
teun
com
men
tair
epo
urle
sci
bles
LO
Get
UL
OG
5