TP NAT Firewall

5
TP - NAT et Firewall N. Delestre Rappels : Information sur le CR ` a rendre Les TP se font en bin ˆ ome (bin ˆ ome que vous conserverez pendant tous les TP). Chaque TP de r´ eseau sera suivi d’un compte rendu qui devra ˆ etre d´ epos´ e sur le site moodle au format PDF avant la prochaine s´ eance de TP. Le nom de ce fichier devra suivre la syntaxe suivante : “nom1-nom2-tpX.pdf” Le CR de 2 ` a 3 pages devra pr´ esenter : – la d´ emarche suivie, – les commandes et configurations permettant d’obtenir les r´ esultats, – les r´ esultats demand´ es. Rappels / Documentation Le param` etre : net.ipv4.ip_forward Le fonctionnement du noyau linux peut ˆ etre modifi´ e « ` a chaud » par la modification de certains param` etres. Par exemple, lorsque le param` etre net.ipv4.ip_forward est ` a 1, tout paquet IP qui arrive sur une interface et dont l’adresse de destination appartient ` a un des r´ eseaux connect´ es, est automatiquement transf´ er´ e. On obtient/modifie la valeur d’un param` etre du noyau linux ` a l’aide de la commande sysctl. On peut aussi configurer le noyau au d´ emarrage en modifiant le fichier /etc/sysctl.conf. Netfiler Netfilter est le firewall int´ egr´ e` a Linux depuis le noyau 2.4. Il intercepte les donn´ ees r´ eseaux ` 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 associ´ ees un ensemble de r` egles de d´ ecision (nomm´ ees chaˆ ınes). Il existe les chaˆ ınes syst` emes (il y en a 5, une par hook : PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING) et des chaˆ ınes utilisateurs (qui sont alors appel´ ees par les r´ egles des chaˆ ınes syst` emes). Les chaˆ ınes sont regroup´ ees en table. Il existe trois tables correspondant aux trois fonctionnalit´ es de Netfilter que sont le filtrage (filter), le nat (nat) et le marquage (mangle). Les chaˆ ınes utilis´ ees ependent de la fonctionnalit´ e. 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 les tables. Pour manipuler les tables, il faut utiliser la commande iptables. iptables permet : – d’ajouter des r` egles et des chaˆ ınes ` a une table, 1

description

TP NAT Firewall

Transcript of TP NAT Firewall

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