Sie sind auf Seite 1von 28

Administration

Réseaux
- Parfeux-
Pourquoi un pare-
pare-feu?
• Définition: Programme, ou un matériel, chargé de protéger du monde
extérieur en contrôlant tout ce qui se passe, et surtout tout ce qui ne doit
pas circuler entre internet et le réseau local privé
privé.

Université de Paris 5
© Ahmed Mehaoua - 2
Master 1 - Informatique
Analogie avec une ville fortifiée

• Ville
– Population et biens à protéger de l’attaque de bandes de brigands
• Protection
– Enceinte (cloison) avec un nombre limité des points de passage
dont on contrôle l’accès

Université de Paris 5
© Ahmed Mehaoua - 3
Master 1 - Informatique
Pourquoi un pare-
pare-feu?
• Définition: Programme, ou un matériel, chargé de protéger du monde
extérieur en contrôlant tout ce qui se passe, et surtout tout ce qui ne doit
pas circuler entre internet et le réseau local privé
privé.
• Pourquoi un pare-feu:
– Contrôle: gérer les connexions sortantes à partir du réseau local
– Sécurité: protéger les réseaux internes des intrusions venant de l’extérieur
– Vigilance: surveiller et tracer le trafic entre le réseau local et internet
• Rôle principale: séparation et protection du réseau privé et INTERNET
– Limiter les accès: filtrage, masquage et le relais
– Empêcher les attaques, tout en laissant passer le trafic utile
– Permet de bloquer les backdoors, les spyware et certains vers

Université de Paris 5
© Ahmed Mehaoua - 4
Master 1 - Informatique
Relations intérieur <-
<-> extérieur
Besoin de contrôler l’accès

Empêcher que n
n’importe
importe quel utilisateur puisse accéder à
n’importe quelle donnée

Politique d’autorisation

• 4 Stratégies:
1 Tout autoriser
1.
2. Tout interdire
3. Tout autoriser et interdire ce qui est dangereux
• Déconseillé
4. Tout couper et autoriser ce qui est utile
• La L b bonne solution
l ti
Université de Paris 5
• Ce qui n’est pas explicitement permis est interdit
Master 1 - Informatique
© Ahmed Mehaoua - 5
Filtrage par le pare-
pare-feu
• Tous les trafics (entrants et sortants) doivent passer par le pare-feu
– Analyse chaque paquet (@IP, ports, protocoles, etc.)
– Résultat de ll’analyse:
analyse: Accepter ou rejeter selon certaines conditions
• Seul le trafic autorisé par les politiques de sécurité pourra traverser le pare-
feu
• M
Masquage d adresses:
des d substitution
b tit ti ddes IP src par soit
it sa propre IP
IP, soit
it
une @IP d’un ensemble d’@IP libre
• Le Firewall est un des outils de réalisation de la politique de sécurité
• Il ne suffit pas à bien protéger le réseau tout seul
– Aucune efficacité pour les délits perpétrés à l’intérieur de l’entreprise
• Un Firewall n’est pas un antivirus (il faut le protéger contre les infections
virales)
• Il est sujet à des menaces (intrusion, modification des configs et des traces
de journalisation)
j )
– Il doit être accompagné d’outils, de mesures et de procédures de sécurité
– Connaissance des technologies de réseau et leur faiblesses
– Connaissance des menaces: apprendre, analyser, prévenir et corriger les vulnérabilités

Université de Paris 5
© Ahmed Mehaoua - 6
Master 1 - Informatique
Filtrage par paquet
• Le filtrage est constitué d’une liste de règles
– basées sur les entêtes des paquets
• S’il y a une correspondance,
d lla règle
è l estt appliquée
li é ((accepter/rejeter)
t / j t )
• Sinon, la politique par défaut est appliquée:
– Rejet: ce que l’on ne permet pas expressément est interdit
– T
Transmission:
i i on permet ce quii n’est
’ pas expressément
é iinterdit.
di

Action Src Port Dest port


transmission 192.168.0.0/24 * 10.10.10.148 25
rejet * * 10.10.10.148 23, 21
transmission * * 10.10.10.148 22
By default: rejet * * * *

• L filt
Le filtrage estt constitué
tit é d’une
d’ liliste
t dde règles
è l
– basées sur les entêtes des paquets
• S’il y a une correspondance, la règle est appliquée (accepter/rejeter)
• Sinon, la politique par défaut est appliquée:
– Rejet: ce que l’on ne permet pas expressément est interdit
– Transmission: on permet ce qui n’est pas expressément interdit.

Université de Paris 5
© Ahmed Mehaoua - 7
Master 1 - Informatique
DMZ
• Définition DMZ: une zone démilitarisée (DMZ) est un sous-réseau
se trouvant entre le réseau local et le réseau extérieur
• Propriétés:
– Les connexions à la DMZ sont autorisées de n’importe où.
– Les connexions à partir de la DMZ ne sont autorisées que vers l’exterieur.

• Intérêts:
– Rendre des machines accessible à partir de l’extérieur
– Serveur Web, EMAIL, DNS, etc.

Université de Paris 5
© Ahmed Mehaoua - 8
Master 1 - Informatique
Historique sous Linux
• 3 générations du parefeu:
1. Ipfw (IP Firewall) : filtrage basique, peu flexible et inefficace pour les
configurations complexes (jusqu’à la version 2.1.102 du noyau)
2. IP chains: amélioration d’ipfw tjrs en utilisation (2.2.0 < version < 2.4)
3 Netfilter (commande iptables): améliorations de filtrage et de translation
3.
d’adresses par rapport à ipchains (à partir des noyaux 2.4)
– Iptables: c’est un parefeux qui permet de contrôler les paquets avec le système
Linux.
– Rejeter les paquets non autorisés par les règles
– Router les paquets d’un réseau envers un autre
– Gestion du NAT/PAT, modification des entêtes
– Traçage (audit/log)
– Filtrage par @IP source ou destination, port source ou destination
– Filtrage par protocole (TCP,
(TCP UDP)
– Filtrage basé sur les couches réseau et transport (L3 & L4)
– Filtrage basé sur les @ MAC (possible dans le noyau 2.6)

Université de Paris 5
© Ahmed Mehaoua - 9
Master 1 - Informatique
Fonctionnalités
Trois Fonctionnalités:

1 Filtrage de paquets: tableau FILTER


1.

2. NAT (Network Address Translation): tableau NAT

3 Marquage de paquets: tableau MANGLE


3.

• Architectures: 3 tables de chaînes (FILTER, NAT et MANGLE)


FILTER NAT
(filtrage des paquets) (translation d’adresses)
INPUT Paquets entrant sur le PREROUTING NAT de destination
routeur
OUTPUT P
Paquets
t éémis
i par le
l POSTROUTING NAT dde source
routeur
FORWARD Paquets traversant le OUTPUT NAT sur les paquets émis localement
routeur

• La table MANGLE sert au marquage des paquets (TOS, TTL, etc.)

• La table NAT sert au changement des @IP/Ports


Université de Paris 5
© Ahmed Mehaoua - 10
Master 1 - Informatique
Principe de fonctionnement

– Chaîne: une liste des règles


g s’appliquant
pp q aux paquets
p q
– Filtrage basé sur 3 chaînes: INPUT, OUTPUT, FORWARD
– INPUT: s’applique aux paquets reçus et destinés au système local
– OUTPUT: s’applique
pp q aux paquets
p q transmis par
p le système
y local
– FORWARD: s’applique aux paquets routés d’une interface réseau envers
une autre par le système local.

Université de Paris 5
© Ahmed Mehaoua - 11
Master 1 - Informatique
Principe de fonctionnement

• A l’arrivée d’un paquet (après décision de routage):


– Si le paquet est destiné au système alors il traverse la chaîne INPUT
– S’il n’est rejeté alors il est transmis au processus (application)
– Sinon (c.à.d si le paquet est destiné à un autre réseau) il traverse la chaîne
FORWARD
– S’il n’est pas rejeté alors il poursuit sa route
• Tous les paquets transmis par le système local traversent la chaîne OUTPUT
Université de Paris 5
© Ahmed Mehaoua - 12
Master 1 - Informatique
Filtrage
• Filtrage des paquets IP, ICMP, TCP, UDP
• p
Spécification des règles
g p
pour le rejet
j ou l’acceptation
p des p
paquets
q
• Utilisation de la table FILTER et des chaînes INPUT, OUTPUT,
FORWARD
• Traitement séquentielle
séq entielle des règles
– First FIT: dès qu’il rencontre une règle qui satisfait les conditions, il l’applique.
• Exemples:
p
– Accepter tous les paquets TCP provenant de 192.168.100.0/24
Iptables –A input –s 192.168.100.0/24 –p tcp –j ACCEPT
– Permit SSH & deny TELNET
Iptables –A INPUT –p tcp --dport 22 –j ACCEPT
Iptables –A INPUT –p tcp --dport telnet –j DROP
– Supprimer une règle (D: Delete)
Iptables –D INPUT 2 ou
Iptables –D INPUT -p tcp --dport telnet –j DROP

Université de Paris 5
© Ahmed Mehaoua - 13
Master 1 - Informatique
Filtrage: Exemples (1)
( )
– Effacer de toutes les règles: Iptables –F

– Listage des régles: iptables –L –t FILTER, iptables –L –t MANGLE, iptables –L –t nat

– Blocage basé sur l’interface: iptables –A INPUT –i eth0 –s 10.10.10.0/24 –j DROP

– Filtrage basé sur le protocole: iptables –A INPUT –p udp –dport 514 –j ACCEPT

– Effacer toutes les règles d’une


d une chaîne: iptables –Z
Z –tt NAT (Z: zero)

– Création d’une nouvelle chaîne: iptables –N nom (ex: iptables –N INTRANET)

– Renommer une chaîne: iptables –E ancien nouveau

– Redirection vers la nouvelle chaîne: iptables –A INPUT –s 10.10.10.0/24 –j INTRANET

– ICMP: iptables –A OUTPUT–p icmp --icmp-type echo-reply –j DROP

• Iptables
I t bl –p icmp
i –help
h l : pour plus
l d de dét
détails
il sur iicmp

– Plusieurs ports: iptables –A INPUT –p tcp –m multiport --dport 23,80 –j DROP

– @ MAC: iptables
p –A INPUT –p
p tcp
p –m mac --mac-source 00:bb:aa:cc:ed:08 –jj DROP

– @ MAC: iptables –A INPUT –p tcp –m mac --mac-destination 00:bb:aa:cc:ed:08 –j DROP

– Port redirection: iptables –t nat –A PREROUTING –p tcp –dport 2323 –j REDIRECT –to-ports 23

Université de Paris 5
© Ahmed Mehaoua - 14
Master 1 - Informatique
Filtrage: Exemples (2)
( )
• Changement de la politique par défaut: iptables –P FORWARD DROP

• Limitations du trafic: accepter un paquet ICMP (echo-request ou ping) par seconde


Iptables –A INPUT –p icmp –icmp-type echo-request –m limit --limit 1/s –i eth0 –j ACCEPT

• Pour éviter l’attaque « SYN flooding », accepter 5 segments TCP ayant le bit SYN
positionné par seconde
iptables –A INPUT –p tcp –syn –m limit --limit 5/s –j ACCEPT

• Routage des paquets entrant sur eth0:


iptables –A FORWARD –i eth0 –d 192.168.0.250 –p tcp -o eth1 –m multiport --dport 80,443 –j
ACCEPT

• On parle de système Linux, et non pas d’un routeur ?

• Pour activer le routage sous le système Linux:


1. echo1 > /proc/sys/net/ipv4/ip_forward

2. route add –net 10.0.0.0/24 netmask 255.255.255.0 gw 192.168.1.20 && route –nr

3. nano /etc/sysctl.conf
y et modifier la valeur du net.ipv4.ip_forward
p p_ de 0 à 1

Université de Paris 5
© Ahmed Mehaoua - 15
Master 1 - Informatique
DoS, DDoS: SYN Flooding
• SYN FLOOD: inondation SYN
• Un attaquant harcèle le serveur avec TCP SYN (demande d’ouverture d’une
connexion)
• Mais il ne répond pas au message final
• TCP instaure une connexion semi-ouverte ppour q
quelques
q minutes ((~75s))
• Les messages SYN peuvent engorger le module TCP

SY AC
SY + A
N K
N CK
SYN
SYN+ACK
ACK

N victime
i ti
SY ACK
N+ 182.108.0.7
SY K
AC
DoS

K CK
N YN
AC + A
SY S
Université de Paris 5
© Ahmed Mehaoua - 16
Master 1 - Informatique DDoS
Protection contre SYN Flooding
• SIMPLE:
• Limitation de nb de SYN envers un serveur
• Avancé
• Le Pare-Feu temporise les paquets SYN et génère lui-même un SYN-ACK
• C
C’est
est seulement s’il
s il reçoit un ACK qu
qu’ilil envoie au serveur le SYN original

Université de Paris 5
© Ahmed Mehaoua - 17
Master 1 - Informatique
Information sur les vulnérabilités
• Vulnérabilités associées aux protocoles
• Usurpation d’adresse pour déjouer le contrôle d’accès
• @ MAC,
MAC @IP (IP spoofing),
fi ) N° ded portt
• IP Address Spoofing : on change la source IP d’un paquet
• L’attaquant ne voit pas les réponses
• Solution: ne pas acheminer hors d’un
d un réseau de paquets avec une @ source n’appartenant
n appartenant
pas à ce réseau

Université de Paris 5
© Ahmed Mehaoua - 18
Master 1 - Informatique
Information sur les vulnérabilités
• Vulnérabilités liées à ICMP
• 32 types de messages ICMP. Qui les connaît tous ?
• Echo request (ping) – echo reply (pong), etc.
• Très utilisé pour des attaques par déni de service
• 8 ping simultanés de taille 1000octets saturent une linge à 64 kb/s
• Attaque SMURF: envoi de messages ping vers une adresse de diffusion et renvoi
des réponses vers une victime (yahoo en 2000)
• Pilotage d’attaque DDoS (Distributed Denial of Service) dépuis l’extérieur d’un
site avec des messages (echo/reply)

ly
ep
R
P
M
ICMP request

IC
@IP dst: 193.108.117.255
@IP src:141.115.64.20

Université de Paris 5
© Ahmed Mehaoua - 19
Master 1 - Informatique Source Victime
192.168.0.7 141.115.64.20
Linux comme routeur
1. echo 1 > /proc/sys/net/ipv4/ip_forward

2. Supposons que le réseau privé est connecté à l’interface eth1, et le réseau publique à eth0

– /sbin/iptables -tt nat -A


A POSTROUTING -o
o eth0 -jj MASQUERADE (NAT pour l’usage
l usage de l’adresse
l adresse publique)

– /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT (laisser l’extérieur
répondre à nos requêtes)

– /sbin/iptables -A
A FORWARD -ii eth1 -o
o eth0 -jj ACCEPT

Université de Paris 5
© Ahmed Mehaoua - 20
Master 1 - Informatique
NAT
• Network Address Translation (RFC 3022)
• Les @IP publiques disponible sont rare
• P t
Partage d’une
d’ seule
l @ IP entre
t plusieurs
l i machines
hi d
dans un LAN
• Ex: réseau domestique avec N ordinateurs et une seule adresse
• Pour 100 postes, une seule adresse publique
• NAT est une solution à court terme au problème du manque d’adresses

Université de Paris 5
© Ahmed Mehaoua - 21
Master 1 - Informatique
NAT
• À l’intérieur du LAN, chaque machine a une adresse IP
• À l’extérieur, une adresse IP publique est utilisée
• LAN <== Boîtier
B îti NAT ==> INTERNET
– Boîtier NAT: conversion des adresses dans les paquets entrant/sortant de
l’internet
– Sens LAN ==> INTERNET: correspondance non ambiguë
– Sens INTERNET ==> INTRANET: unicité ?
– Paquet contenant l’@
l @ IP source
– Pour enlever l’ambiguité: changement du numéro de port src du protocole
de transport (changement des: @IP + N° de port)

Université de Paris 5
© Ahmed Mehaoua - 22
Master 1 - Informatique
NAT

Université de Paris 5
© Ahmed Mehaoua - 23
Master 1 - Informatique
Fonctionnalités NAT

• Modification de la destination du paquet avant le routage (reçu de


l’extérieur)
iptables –t nat –A PREROUTING –d 82.140.102.18 –j DNAT –-to-destination
192 168 0 2
192.168.0.2
• Modification de la source du paquet après le routage (émis à
partir du réseau privé)
iptables –t nat –A POSTROUTING –s 192.168.0.2 –j SNAT –-to-source
82.140.102.18

Université de Paris 5
© Ahmed Mehaoua - 24
Master 1 - Informatique
MASQUERADE

• Masquerade: remplacement de l’@ IP source par l’@IP de l’interface du firewall.


• Association entres toutes les @IP privées 192.168.0.0/24 avec l’interface eth1
iptables
p –t nat –A POSTROUTING –o eth1 –s 192.168.0.0/24 –jj MASQUERADE
• Association entres toutes les @IP privées 192.168.1.0/24 avec l’interface eth2
iptables –t nat –A POSTROUTING –o eth2 –s 192.168.1.0/24 –j MASQUERADE

Université de Paris 5
© Ahmed Mehaoua - 25
Master 1 - Informatique
Transfert de ports

• Transférer les connexions sur le port 80 de 80.15.82.16 (eth1) sur la machine


privée 192.168.0.101 sur le port 8080:
iptables –t nat –A PREROUTING –p tcp –d 80.15.82.16 --dport 80 –j DNAT --to
192.168.0.101:8080

Université de Paris 5
© Ahmed Mehaoua - 26
Master 1 - Informatique
Suivi des connexions
• Suivi des connexions disponible (conntrack)
– Quatre états possibles pour une connexion :
1. NEW: nouvelle connexion établie
2. ESTABLISHED: la connexion analysée est déjà établie
3. RELATED: La connexion est en relation avec une connexion déjà
établie
4. INVALID: le paquet reçu n’appartient à aucune des trois catégories
précédents.
• Exemples:
– Autoriser tous paquets émis concernant des connexions déjà établies
iptables –A OUTPUT –m state --state ESTABLIDED, RELATED –j ACCEPT
– Relayer tous paquets concernant des nouvelles connexions sur le port 22
iptables –A FORWARD –p tcp --dport 22 –m state --state NEW –j ACCEPT

Université de Paris 5
© Ahmed Mehaoua - 27
Master 1 - Informatique
Journalisation et Diagnostic
• Traces iptables : possibilité de tracer certaines actions
iptables
• Les logs
g p
permettent de retrouver les tentatives d’attaque
q
• Exemple:
– iptables –A OUTPUT –jj LOG ((nano /etc/syslog.conf)
y g )
– iptables –A INPUT –j LOG
– iptables –A FORWARD –j LOG
• Rajouter une régle pour traces les paquets rejetés
– Iptables –N LOG_DROP
– Iptables
I t bl –A A LOG_DROP
LOG DROP –jj LOG –log-prefix
l fi `ssh
h access attempt
tt t`
iptables –A LOG_DROP –p tcp –dport 22 –j DROP

Université de Paris 5
© Ahmed Mehaoua - 28
Master 1 - Informatique

Das könnte Ihnen auch gefallen