ASR4
réseaux
Barrière de Sécurité
Introduction
Serveur de proximité, pare-feu IP, filtrage,
architecture
1
3
5
Une vue d'ensemble
• Nécessiter de définir une politique sécurité
– tout interdire ou ouverture sélective ?
• Structurer le réseau
– pour séparer les communautés
– permettre des délégations de "pouvoir"
• une partie "ouverte" (sans risques)
• le reste accessible sur critères
• Penser sécurisation dans les 2 sens !
Pare-feu
• Dispositif informatique
– qui filtre les paquets IP les segments TCP et
ou les datagramme UDP entre un réseau
interne et un réseau public
– qui effectue de la translation d’adresses IP
Niveau OSI
• Mandataire -Proxy
• Pare-feu - Firewall
applicatif
Transport
Réseau
Objectif des gardes barrières
• Protéger un environnement (vis à vis de l’extérieur et de
l’intérieur)
– tout n'est pas bien administré
– des machines ne doivent pas être accessibles par tous
– certaines doivent être « accessibles" (serveur WWW,
FTP, Courriel)
• Contrôler les accès entrant et sortant
– Contrôler/espionner
– autoriser certains services seulement
• dans un sens pas dans l'autre
• vers/depuis certaines machines seulement
Pare-feu
firewall,
Mur pare-feu , coupe-feu
Types de Pare-feu
• Dispositif informatique
– qui filtre les paquets IP les segments TCP et
ou les datagramme UDP entre un réseau
interne et un réseau public
– qui effectue de la translation d’adresses IP
• pare-feu :
– routeur filtrant
– une station équipée de deux interfaces
réseaux – appelé parfois bastion
2
4
6
1
Translation d'adresses - NAT
Partage de connexion
• Network Adresse Translation - Masquerading –
Réseau privé
Une adresse publique :
80.8.128.5
Internet
Mascarade - usurpation d’identité
Partager une connexion permet de relier
plusieurs machines à Internet (ou à un autre
réseau) au travers d'une seule machine (la
passerelle)
adresses IP privées
Ex: 192.168.15.0/24
Les hôtes du réseau privé ont accès à tous les
services sur Internet
7
9
Tables – type de traitement
• filter
Cette table permet de filtrer les paquets
Typiquement ce sera pour les accepter ou non
• nat
translations d'adresse (ou de ports)
utiliser pour partager une connexion
• mangle modification des entêtes des paquets
8
10
Parefeu sous Linux
module destiné au filtrage réseau: netfilter
Commande: iptables
Filtrage sous Linux
Chaînes prédéfinies : Points de filtrage
Chaînes prédéfinies déterminent les paquets/trames
qui seront traités:
– INPUT les paquets entrants à destination de
l’hôte
– OUTPUT des paquets sortant dont la source est
l’hôte
– FORWARD les paquets en transit (entrants ou
sortants) sur l’hôte
Une trame/paquet est de type « INPUT »,
« OUTPUT », ou exclusif « FORWARD »
12
11
2
Illustration des chaînes pour le filtrage
Cibles – actions pour le filtrage
Paquet arrivant d’une
interface réseau
INPUT
OUTPUT
FORWARD
Paquets allant à une
interface réseau
• ACCEPT
Les paquets/segments
poursuivront leur cheminement au travers des
couches réseaux
Publicité
• DROP
refus des paquets (qui seront donc
ignorés)
• REJECT
refus du paquets et envoie d’une
réponse à l'émetteur pour lui signaler que son
paquet a été refusé
• LOG
enregistrement un message dans
/var/log/messages
13
14
Option d’iptables
-L Affiche toutes les règles de la table indiquée
-F Supprime toutes les règles de la table sauf la
politique par défaut
-P Modifie la politique par défaut
-A Ajoute une règle à la fin de la table spécifiée
-I
-D Supprime une règle
Insère la règle avant celle indiquée
Exemples de filtrage
iptables -t filter –F
// plus de règles de filtrage mais
// Ne change pas les politiques par défaut
iptables -t filter -P OUTPUT DROP
//Politique par défaut pour la chaîne OUTPUT est
« DROP »
iptables -t filter –L
// affiche les règles de filtrage et les politiques de
filtrage par défaut
15
16
Format des règles de filtrage
table
option
iptables
chaîne
iptables
-t filter
-A
OUTPUT
Option de filtrage
--source 1.2.3.4
--jump REJECT
option de
filtrage
action
17
18
3
Protocoles liés à TCP/IP
Option de filtrages
DNS BOOTP
FTP
SMTP
HTTP …
ICMP
UDP
TCP
ARP
IP
par exemple Ethernet
Trames
--in-interface
--out-interface
Interface réseau d'entrée
Interface réseau de sortie
Paquet IP
--source
--destination
--protocol
Adresse IP origine du paquet
Adresse IP de destination
tcp, udp, icmp ou all
correspondant au champ « protocole » de
l’entête IP
19
20
Exemples de filtrage
Exemples de filtrage
iptables -t filter -A OUTPUT
--destination 192.168.30.45
--jump ACCEPT
// les paquets à destination de 192.168.30.45
(sortant) peuvent partir
iptables -t filter -A INPUT
--source 192.168.30.45
--jump ACCEPT
// les paquets venant de 192.168.30.45 (entrant)
sont acceptés
iptables -t filter -A FORWARD
--protocol ICMP --jump ACCEPT
// les paquets ICMP en transit sont routés
iptables -t filter -A FORWARD
--protocol TCP --jump ACCEPT
// les datagrammes TCP en transit sont routés
21
22
Option de filtrages (suites)
Option de filtrages (suites)
Uniquement segment TCP ou datagramme UDP
--source-port
--destination-port
port de la
source du segment
port de la
destination du segment
Uniquement segment TCP
--state
[« ajouter module state » :
-m state]
NEW : ouverture de connexion
ESTABLISHED : déjà établie
RELATED : nouvelle connexion liée à une
connexion déjà établie
23
24
Publicité
4
Exemples de filtrage de segments TCP
iptables -t filter -A OUTPUT
--protocol tcp --source-port 80
–-jump ACCEPT
iptables -t filter -A OUTPUT
--protocol tcp ! --source-port 80
--jump DROP
Exemples de filtrage de segments TCP
iptables -t filter -A INPUT
--protocol tcp
--destination-port 80 –-jump ACCEPT
iptables -t filter -A INPUT
--protocol tcp
! --destination-port 80
–-jump DROP
//Ces règles permettent de laisser passer tout le
trafic TCP sortant du port 80.
Par contre les autres segments sortants TCP sont
ignorés
Ces règles permettent de laisser passer tout le trafic
TCP entrant sur le port 80
Par contre les autres segments entrants TCP sont
ignorés
25
26
M1
Exemples de filtrage
(suite)
tcp : NEW, RELATED, ESTABLISHED
tcp : RELATED, ESTABLISHED
10.4.2.0/24
tcp : NEW
iptables -A FORWARD –-source
10.4.2.0/24
--protocol tcp --jump ACCEPT
iptables -A FORWARD --destination
10.4.2.0/24 --protocol tcp
-m state --state ESTABLISHED,
RELATED
--jump ACCEPT
Mascarade sous Linux
Translation d’adresses
27
28
Chaînes prédéfinies –
Points de mascarade
Pour « NAT – network adresse translation» -
Déterminer les paquets qui seront traités:
• PREROUTING
les paquets entrants
(destination hôte ou paquet en transit)
• POSTROUTING
Les paquets sortants (en
transmis ou crées par l’hôte)
Une trame/paquet est de type « PREROUTING »,
ou non exclusif « POSTROUTING»
Illustration des chaînes pour NAT
Paquet arrivant d’une
interface réseau
PREROUTING
INPUT
FORWARD
OUTPUT
29
POSTROUTING
Paquet allant à une
interface réseau
30
5
Cibles – actions pour le NAT
Option de NAT
• MASQUERADE
- POSTROUTING
Elle change l'adresse IP de l'émetteur par adresse
IP de l’interface spécifiée
• SNAT
- POSTROUTING
Elle change l'adresse IP de l'émetteur par la valeur
fixe spécifiée
• DNAT
- PREROUTING et OUTPUT
Elle change l'adresse IP du destinataire par la
valeur fixe spécifiée
Trames
--in-interface
--out-interface
Interface réseau d'entrée
Interface réseau de sortie
Paquet IP
--source
--destination
--protocol
Adresse IP origine du paquet
Adresse IP de destination
tcp, udp, icmp ou all
31
32
Option de NAT (suites)
segment TCP ou datagramme UDP
--source-port
--destination-port
--state
port de la
source du segment
port de la
destination du segment
[« ajouter module state » :
-m state]
NEW : ouverture de connexion
ESTABLISHED : dans conversation déjà
établie
RELATED : nouvelle connexion liée à une
connexion déjà établie
Exemple de mascarade
iptables -t nat –F
iptables -t nat -A POSTROUTING
--out-interface ppp0 --jump MASQUERADE
Publicité
iptables -t nat -A POSTROUTING
--out-interface ppp0 --jump SNAT
--to-source xxx.xxx.xxx.xxx
// xxx.xxx.xxx.xxx est l’adresse IP
remplaçant l’adresse IP de
l’émetteur
33
34
Format des règles NAT
table
option
iptables
chaîne
iptables
-t nat
-A
POSTROUTING
--out-interface ppp0
--jump MASQUERADE
option de
filtrage
action
Enregistre les règles de iptables sous
Unix
• Sauver les règles avec iptables-save :
iptables-save >/etc/iptables.rules
• Restaurer les règles avec iptables-restore :
iptables-restore < /etc/iptables.rules
35
36
6
Usage des règles de manière
permanente (sous Linux Debian)
Usage des règles de manière
permanente (sous Linux Debian)
• Dans /etc/network/interfaces
iface eth0 inet static
address x.x.x.x
netmask 255.255.0.0
network x.x.0.0
broadcast x.x.255.255
pre-up iptables-restore < /etc/firewall
• Dans /etc/network/interfaces
iface eth0 inet dhcp
[.. option ..]
pre-up iptables-restore < /etc/firewall
37
38
Serveur de Proximité
Synonymes :
Proxy, Mandataire
Serveur de Proximité
• Dispositif informatique
– Une application sur un poste qui prend en charge
certaines fonctions applicatives à la place d’un
ensemble de postes
Niveau OSI
• Mandataire -Proxy
• Pare-feu - Firewall
applicatif
Transport
Réseau
39
40
Fonctionnement d’un serveur de
proximité WEB
Fonctionnement d’un serveur de
proximité WEB
1. Requêtes
HTTP
4. URL
2. requête HTTP avec entête
« If-Modified-Since »
proxy
3. Si URL a été modifié alors URL
est envoyé sinon juste une entête
proxy
41
42
7
économiseur de ressources réseaux
Clients Web
Serveur Web client Web
Serveur Web
1. GET A
2. GET A
4. A
5. GET A
6. A
3. A
A,…
Cache web
Exemple – visualisation des paquet IP
• No.Source
• 4 192.168.0.10
Destination
11.169.0.253 HTTP
Protocol
Info
GET …
La requête a été faite au proxy et non pas à la cible. Le
proxy transmet la requête à la cible.
• 11 11.169.0.253
42.16.0.251 HTTP
GET …
La cible répond au proxy :
• 13 42.16.0.251
11.169.0.253 HTTP
… 200
qui retransmet au client:
Clients perçoivent un débit plus élevé
• 15 11.169.0.253
192.168.0.10 HTTP
… 200
Diminution du trafic Web
et ainsi de suite...
Plus de services
43
Publicité
44
Rôle d’un serveur de proximités
A l’IUT
Serveur de proximité WEB :
cache.ens.iut-orsay.fr
Hôte du réseau
ens.iut-orsay.fr
1
Proxy
8080
Serveur
Proxy
Serveur web externe
80
2
45
46
A l’IUT
Serveur de proximité WEB :
cache.ens.iut-orsay.fr
A l’IUT
Serveur de proximité WEB :
cache.ens.iut-orsay.fr
Hôte du réseau
ens.iut-orsay.fr
1&4
Proxy
8080
Serveur
Proxy
Proxy
8080
Serveur
Proxy
Serveur web externe
80
2&3
Serveur web externe
80
47
48
8
A l’IUT
Serveur de proximité WEB :
cache.ens.iut-orsay.fr
Rôle d’un serveur de proximité
• Economiser les ressources réseaux - cache
Proxy
8080
Serveur
Proxy
• Enregistre les communications
• Sécuriser le réseau local (Filtre)
Serveur web externe
Serveur web externe
80
80
• Partager une connexion à Internet
derrière un serveur de proximité, s’il y a un réseau
privé
– serveur de proximité remplacer un routeur
à translation d'adresse
49
50
Réseau Domestique
Logiciels et protocole
Réseau privé =
adresses IP privées
Ex: 192.168.15.0/24
Eviter le mascarade pour
les services
FTP/HTTP/webmail
Logiciels
• Des modules « proxy » pour certains serveurs
Web (Apache)
• Squid is.a full-featured Web proxy cache, Unix
Adresse publique
Ex: via DHCP
open-source
Protocoles
Ethernet
Modem
192.168.15.254
80.8.128.5
FAI
• SOCKS est un protocole « proxy » générique
pour les applications communicantes [RFC 1928]
51
52
Architecture
Structuration
• 3 types de zones :
– Réseau interne (les hôtes)
Une zone démilitarisée - DMZ - demilitarized
zone – serveurs du réseau interne qui
doivent être accessibles de l’extérieur (DNS,
SMTP, HTTP, FTP, News)
Réseau Externe (Internet)
Pas d’accès directe de l’extérieur
vers l’intérieur, intérieur vers extérieur ???
53
54
9
Architecture 1
Architecture 2
coupe-feu
pare-feu
R. Interne
dmz
55
56
R. Interne
dmz
10