Vous êtes sur la page 1sur 91

Sécurité Réseau


Les techniques présentées précédemment visent
plutôt à protéger une machine dans un
environnement réseau hostile


Une alternative (peut-être) plus simple: protéger
le réseau interne de l'extérieur.


Le plus simple: l'isoler physiquement. S'il y a
trop à perdre à s'ouvrir et peu à gagner c'est LA
solution.


Sinon quoi?
Internet
● Une avancée technologique majeure:
– accès à l'information
– possibilité d'en publier
● Un danger majeur:
– pollution de l'information
– destruction de données
● Prendre part à l'Internet tout en s'en protégeant ?
Protéger quoi?
● Les données
– Confidentialité
– Intégrité

Destruction
● Modification
– Disponibilité

Les ressources
Protéger quoi?
● La réputation
– Postage de mails et news infamant venant de vous
– Annulations, propos hors la loi , liste de diffusion
exploitée
– Exploitation des disques pour le piratage
– Blacklistage
Retour en arrière long, pénible et humiliant.
Types d'attaques
● Intrusion
– Réduire le nombre des comptes accessibles
– Permettre de :

« logger » les tentatives d'accès

et même de contrer les attaques par supposition en bloquant
les comptes
● Refus de service
– Par inondation
– Re-routage
Types d'attaques
● Vol d'informations
– Actif: demander l'information en ce faisant ou non passer
pour un autre
– Passif : Écoute du réseau

Renifleurs de mots de passe
● Reniflage d'autres données
– Ici:protéger son réseau interne mais pas ce qui transite
sur Internet.
Types d’attaques

Ingénierie sociale
– Manipulation psychologique et sociale pour obtenir
des informations
– Abuser des personnes pour obtenir un accès à des
données sensibles

Dans l'organisation de base d'un réseau local d'entreprise
connecté à l'Internet, tout client extérieur peut se connecter
librement à un serveur local à l'écoute sur un port TCP.
Pour les services sensibles, comme RPC par exemple,
une authentification est indispensable. Si elle est basée
sur des numéros UID et GID (AUTH_UNIX de Sun par
exemple) , tout attaquant envoyant des identificateurs
valides sera autorisé à lire et écrire des fichiers sur le
système.

Le protocole TFTP (Trivial File Transfer Protocol)
représente un autre danger, car il permet de lire et
d'écrire des fichiers sans vérification de mot de passe.
Les services d'Internet
● Courrier électronique (SMTP) Transfert de fichiers
● (FTP) News Usenet (NNTP)
● Accès par terminal distant (Telnet, ssh) Accès au

Web (HTTP)

Recherche de nom/adresse (DNS) Attribution

dynamique d'adresse (DHCP)

Autoriser ces services c'est commencer modestement
Comment protéger son site?
● Absence de sécurité... Obscurité
● Sécurité par l'hôte : sécuriser chaque serveur
– Complexe à l'extrême:


Multitude de systèmes
● services conflictuels
● Maintenance?
● Accès par trop de responsables
– Pas rentable sauf pour de petite
structures
Comment protéger son site?
● Sécurité par le réseau:
– adapté à de gros sites
– concentration du contrôle d'accès

filtrage
● authentification
● chiffrement

La meilleure politique de sécurité repose sur un contrôle
(filtrage) des paquets transitant entre le réseau local (zone
intérieure sûre) et l'Internet (zone extérieure non sûre).

– Le filtrage permet d'interdire le


transfert de certains paquets
entre les deux zones.
– Le plus souvent, il est réalisé
par un dispositif physique
composé d'un ensemble de
composants matériel
– Cet ensemble constitue le par-
feu ou firewall.
– Il permet ainsi un contrôle
centralisé de l'accès depuis et
vers un réseau tout entier.
Stratégies de sécurité
● Le moindre privilège
– tout objet ne doit disposer que des privilèges
nécessaires et pas plus.

porte clef séparable
– Sur Internet:

tout le monde n'a pas a avoir accès à tous les services
tous les fichiers d'un système ne sont pas lisible par
● tous
Sendmail tourne suidbit et est très complexe

– donc il faut isoler les parties privilégiées des parties complexes.

Attention à la contrariété des humains.


Stratégies de sécurité:
Sécurité en profondeur

Le Firewall offre la possibilité de vérifier le trafic
en un point précis

Cet outil très puissant ne remplace pas les autres
mesures de sécurité, il vient en complément.

Le filtrage permet d'empêcher les agresseurs de
s'approcher des autres défenses

Signalons également les logiciels comme TCP-
WRAPPER qui permettent de contrôler l'accès aux
services TCP/UDP au niveau d' une machine.
Stratégies de sécurité:
Goulet d'étranglement

● un canal étroit facile à surveiller et à contrôler


● Inutile si non incontournable

Pas d'alternative:
– tous les œufs sont dans le même panier
– on regarde tout le temps le panier.
Stratégies de sécurité:
Le maillon le plus faible


Une chaîne n'est pas plus résistante que le maillon
le plus faible

Il faut porter son attention de manière égale sur
tous mes aspects de la sécurité
Stratégies de sécurité:
La position de panne sans danger

● En cas de panne le refus d'accès doit être la règle



un ascenseur est conçu pour s'accrocher aux
câbles en cas de panne

Les services ou routages sont interrompusen cas
de panne
Ce qui est par défaut permis ou non

● Politique de filtrage:ce qui passe/ ce qui ne passe pas


● 2 approches:
– autorisé par défaut: il faut définir des conditions du
blocage (Default permit)

avantage: permet de n'exclure que ce qui est dangereux
● évidente pour les utilisateurs (et la direction éventuellement)
– refusé par défaut (Defaul deny)

avantage: permet de n'autoriser que ce qui concerne
l'organisation

évidente pour le responsable de la sécurité
– Il est possible de lâcher du lest pour un petit
groupe d'utilisateurs formés
Stratégie: la participation
universelle
● Pour être efficace il faut que les utilisateurs participent:
– au moins de s'opposent pas
– éviter les lignes externes
– vous ne pouvez pas tout voir
– Certains peuvent vous nuire à plaisir (changement de
mots passe contournés )

Comment faire:
– convaincre
– vaincre

Les effets secondaires de luttes intestines sont
redoutables
Stratégie: la diversité des
défenses

Des systèmes provenant de différents fournisseurs
peuvent améliorer la sécurité:
– bug
– erreur de configuration

Mais:
– maintenance difficile
– ne contourne pas les problèmes conceptuels ou issus
de méconnaissances de protocoles
Stratégie: éloge de la simplicité
● C'est en soit une stratégie
– Facile à comprendre donc à analyser
– Il est plus facile de protéger ce qui est simple
– Quand on accepte des comportements aléatoire
on accepte tout: plus de détection possible
Conception des firewalls
Firewall à filtrage des paquets
Internet

Routeur écran
Réseau interne


Le routeur écran ne se demande pas seulement s'il peut router
mais s'il doit router

Sa responsabilité est totale

Il ne peut modifier les services

Filtrage de premier niveau
Mandatement
● Service mandataire (proxy): sur l'hôte du firewall
● Applications ou serveurs spécialisés qui prennent
les requêtes des utilisateurs vers les services
extérieurs et les re-dirigent vers les vrais services,
en accord avec une politique de sécurité de site.
● Passerelles de niveau applicatif
– qualité d'un proxy: transparence
– n'a d'intérêt que dans le cadre d'une politique de
restriction d'accès (pas de court circuit)
Services mandataires avec hôte à
double réseau
Serveur réel
Internet

Hôte à
Serveur
mandataire double
firewall
réseau

Réseau interne

Compte tenu de sa position géographique
stratégique le Firewall peut servir à d'autres
choses:
– bloquer l'accès à certains sites www
– monitoring des accès externes (volumes, etc...)
– enregistrer le trafic
– chiffrage des données vers un autre Firewall ami
pour réaliser un VPN (virtual private network)
Architecture des firewalls

Il existe plusieurs façons d'assembler les
composants d'un firewall

La « bonne solution » est rarement une technique
unique

En général c'est plutôt une combinaison de
techniques destinées à résoudre chaque

problème
Le choix des problèmes à résoudre dépend des

services offerts aux utilisateurs
Ex:
– Telnet, SMTP: filtrage des paquets
– FTP, WWW :mandatement
Hôte à double réseau
Serveur réel Internet

Hôte à

double

réseau
firewall
Réseau interne
Hôte à double réseau


Construite autour d'un ordinateur à 2 interfaces

réseau. Il peut agir comme un routeur entre 2 réseaux

Il peut ré-acheminer les paquets IP: à désactiver

Niveau très élevé de contrôle

Travail important de configuration Permet le
mandatement

Permet le rlogin pour offrir certains services
Hôte à écran
Internet
Firewall
Routeur écran

Réseau interne

Bastion

L'hôte n'est rattachée qu'au réseau interne en utilisant un routeur séparé

Principale sécurité: le filtrage des paquets

Le bastion (ordinateur en contact avec l'extérieur) est situé sur le
réseau interne

Mandatement possible

En cas de compromission de l'hôte: plus de défense
ARP SPOOFING

Cette attaque, appelée aussi ARP Redirect, redirige le
trafic réseau d'une ou plusieurs machine vers la
machine du pirate.

Efficace bien que détectable dans les logs

Elle consiste à s'attribuer l'adresse IP de la machine
cible, c'est-à-dire à faire correspondre son adresse IP
à l'adresse MAC de la machine pirate dans les tables
ARP des machines du réseau.

Comment:
– envois régulier des paquets ARP_reply en broadcast,
contenant l'adresse IP cible et la fausse adresse MAC.
ARP SPOOFING

Cela a pour effet de modifier les tables dynamiques de toutes
les machines du réseau. Celles-ci enverront donc leur trames
ethernet à la machine pirate tout en croyant communiquer
avec la cible, et ce de façon transparente pour les switches.
De son côté, la machine pirate stocke le traffic et le renvoie à
● la vraie machine en forgeant des trames ethernet comportant
la vraie adresse MAC (indépendamment de l'adresse IP).
Cette technique est très puissante puisqu'elle opère au niveau
ethernet, permettant ainsi de spoofer le traffic IP et même

TCP.
D'autre part, elle permet de contourner les barrières que
constituent habituellement les switches (partitionnement de

réseaux).
Sous-réseau à écran

Internet
Bastion

Routeur
extérieur
Réseau périphérique

Routeur intérieur

Réseau interne
Firewall
Sous-réseau à écran
● Le réseau périphérique isole le réseau intérieur

Pourquoi:
– car le bastion est par nature une machine
vulnérable
– s'il y a intrusion: l'agresseur ne dispose plus que
d'un accès limité
– Il n'y a plus un seul point de sécurité
– n'est utile que si la couche supplémentaire apporte
un filtrage complémentaire
– Empêche tout sniffing sur le réseau interne si le
bastion est compromis
Sous-réseau à écran

Sur le bastion sont placées les connexions depuis le
monde extérieur:
– Sessions e-mail entrantes (SMTP)
– Connexions FTP entrantes sur le serveur FTP anonyme du
site
– Réception des requêtes DNS entrantes concernant le site

Services sortants:
– filtrage de paquets sur les routeurs externes et internes
afin de permettre à des clients internes d'accéder
directement à des serveurs externes
– ou accès indirect par mandatement (filtrage vers l'extérieur
mais pas vers l'hôte)
Sous-réseau à écran

● Le routeur intérieur:
– Ou routeur-goulet (choke router)
– protège d'internet et du réseau périphérique
– On peut différencier:

les services du réseau interne vers l'internet
● les services du réseau interne vers le bastion
● les services du bastion vers certain serveurs du réseau
interne et les autres clients internes (seule possibilité
d'attaque en cas de compromission du bastion)
Sous-réseau à écran
● Le routeur extérieur:
– ou routeur d'accès
– protège le réseau périphérique et le réseau interne de
l'Internet
– Il tendent à tout laisser passer ce qui est dommageable
– Les règles de filtrage devraient être sensiblement les
mêmes que celles du routeur interne
– Les règles spécifiques sont celles liées au trafic vers les
bastions mais ils sont en général bien protégés
– Filtrage des paquets venant de l'extérieur dont les
adresses sources sont falsifiées (adresses internes )
Variation sur les architectures
de firewalls
Sous-réseau à écran à 2 bastions

Internet FTP/WWW SMTP/DNS

Routeur
extérieur
Réseau périphérique

Routeur intérieur

Réseau interne
Firewall
Sous-réseau à écran à 2 bastions

Un bastion gère les services importants pour les
utilisateurs
● Un autre gère les services fournis sur l'Internet Les

performances pour les utilisateurs ne sont pas
pénalisées par les activités des utilisateurs extérieurs
➔ Un serveur HTTP (puissant) dédié au client, un autre
pour le grand public
➔ Redondance possible
Sous-réseau à écran
Routeurs intérieur extérieur fusionnés
Internet
Bastion

Routeur

intérieur/
Réseau périphérique
extérieur

Réseau interne
Firewall


Routeur puissant avec des filtres sur chaque interface
réseau

Vulnérable à la défaillance du routeur unique
Sous-réseau à écran
Routeur extérieur et bastion fusionnés
Internet

Bastion /
routeur extérieur

Réseau périphérique

Routeur intérieur

Réseau interne
Firewall
Sous-réseau à écran
Routeur extérieur et bastion fusionnés
● Moins performant et souple qu'un routeur dédié

Intéressant dans le cas d'un liaison faible débit

Le filtrage de paquet n'est pas forcement aisé
(dépend du logiciel) mais ce n'est pas critique à
cette position
➔ Cette fusion ne rend pas le système
significativement plus vulnérable
➔ Attention toutefois aux protections sur le bastion
➔ Les choses sont différente dans le cadre
d'une fusion routeur intérieur / bastion
Sous-réseau à écran
Routeur intérieur et bastion fusionnés
Internet

Routeur extérieur

Réseau périphérique

Bastion /
routeur intérieur

Réseau interne
Firewall
Sous-réseau à écran
Routeur intérieur et bastion fusionnés

● Cette fusion compromet la sécurité


● Le bastion et le routeur externe assurent des tâches
complémentaires mais non redondantes (le bastion
n'est pas moins vulnérable pour ce qui concerne sa gestion
des protections de par l'existence physique du routeur
extérieur)
● Le routeur intérieur fonctionne en tant que sauvegarde
des deux autres systèmes (il renforce les règles de
filtrage)

Le sniffing devient possible en cas de compromission
du bastion
Firewall internes
Internet

Firewall

Réseau interne

Firewall

Réseau laboratoire
Pourquoi créer un Firewall interne?

Isoler un réseau de test où il peut se passer des
choses inhabituelles

Isoler un réseau moins sûr ( démonstration,
formation)

Isoler un réseau plus sécurisé (données financières,
développement secrets
Le filtrage de paquets

Mécanisme de sécurité réseau qui fonctionne en
contrôlant les données qui peuvent arriver sur le
réseau et en partir.

Le filtrage est basée sur:
– L'adresse d'où les données proviennent
– L'adresse où elles vont
– Les protocoles de session et d'application utilisés
pour transférer les données

Rien sur les données elles-même (en général)
Le filtrage de paquets
● Exemples:
– Ne permettre à personne d'utiliser telnet pour se loger
depuis l'extérieur
– Permettre à tout le monde d'envoyer de l'e-mail via
SMTP
– Cette machine peut nous envoyer des news via NNTP
● mais aucune autre machine ne le peut.
Contre-exemple:
– Cet utilisateur peut faire du telnet à partir de l'extérieur,
mais aucun autre ne le peut
➔ – On peut transférer ces fichiers mais aucun autre
Utilisateur et fichier ne sont pas des notions identifiables
par un système de filtrage de paquet
Protocole TCP

Un firewall filtre les paquets sur la base des informations
contenues dans les en-têtes TCP et/ou IP. Les protocoles
TCP et IP concernent les couches 3 et 4 de la pile des
protocoles de réseau. Contrairement à IP, le protocole TCP
fonctionne en mode connecté. Il établit une connexion
logique fiable de bout en bout (flot d'octets ou stream) entre
deux sockets.

Comme chaque socket d'un stream est lié à une adresse
TCP, une connexion s'identifie de manière unique par un
couple d'adresses TCP

(local_host: local_port, remote_host:remote_port).

Chaque machine maintient une table des connexions. On
peut ainsi multiplexer plusieurs streams sur une même
liaison IP.
Protocole TCP
Paquets TCP et paquets IP

Un paquet TCP est formé par un en-tête, suivi des
données. L'en-tête comporte 6 mots de 32 bits. Le filtrage
utilise les champs suivants de l'en-tête TCP.
– Port source : port TCP de l'émetteur
– Port dest. : port TCP du destinataire
– Flags : Chaque bit du champ flags indique un type de
paquet (ouverture de connexion, acquittement,...)
Paquets TCP et paquets IP

Pour être acheminé, chaque paquet TCP doit être encapsulé dans un
paquet IP (datagramme), dont l'en-tête comporte 5 à 15 mots de 32
bits. Le filtrage utilise les champs suivants de l'en-tête IP.
– Adresse source : adresse IP de l'émetteur
– Adresse dest. Adresse IP du destinataire
– Proto : le protocole (TCP, UDP, ICMP) dont provient le
paquet encapsulé.
Etablissement d'une connexion TCP

L'établissement d'une connexion TCP nécessite l'échange de
trois paquets, d'où le nom three-way handshake.
– Le socket du serveur est initialement à l'écoute (état listen).
– Le client envoie au serveur un premier paquet SYN
(Synchronize Sequence Numbers) contenant le numéro de
séquence émission initial N(S) qu'il a choisi.
– Le serveur répond par un paquet SYN+ACK. Son rôle est
d'acquitter le paquet SYN reçu du client et d'indiquer
également le numéro de séquence émission initial choisi
par le serveur.
– Enfin, le client envoie un paquet ACK acquittant le paquet
SYN+ACK reçu du serveur. La connexion est établie (état
established)

Remarque. Il est important de noter que seul le premier
paquet SYN comporte le flag ACK positionné à 0. Tous les
paquets suivants portent le flag ACK=1.
Etablissement d'une connexion TCP
Protocole UDP

Comme TCP, le protocole UDP permet l'acheminement
de paquets entre deux sockets. Mais, contrairement à
TCP, il opère en mode non connecté, sans contrôle
d'erreur.

La fiabilité de la communication n'est pas garantie. L'en-
tête d'un paquet UDP ne comporte que 2 mots de 32 bits.
Protocole ICMP

Le protocole ICMP est utilisé pour les messages de
contrôle et de statut IP. Bien que ICMP soit un
protocole réseau (couche 3) au même titre que IP, les
paquets ICMP sont encapsulés dans des paquets IP,
comme les paquets provenant de TCP et de UDP.

ICMP n'utilise aucun numéro de ports source ou
destination. Le type de message est identifié par un
code, qui peut être utilisé pour filtrer les paquets.
Exemple
– Code 8 = requête d'écho (ping)
– Code 0 = réponse à une requête ping
Filtrage de paquets
● Règles de filtrage
– Le filtrage des paquets est réalisé grâce à un ensemble de
règles. Chaque règle se présente sous la forme d'un
couple: <critères, action>
– Elle spécifie une action (refus/acceptation) pour chaque
paquet dont l'en-tête correspond aux critères.
– Les règles sont appliquées en séquence, jusqu'à ce qu'une
correspondance soit trouvée.
– Alors, l'action indiquée est exécutée. Si aucune
correspondance n'est trouvée, une action par défaut est
choisie.
Filtrage de paquets

Les paramètres du paquet pris en compte pour effectuer le
filtrage sont
– L'adresse IP de l'émetteur

– L'adresse IP du destinataire
– Le port TCP/UDP de l'émetteur
– Le port TCP/UDP du destinataire
– Le protocole (TCP, UDP, ICMP)
– La direction du paquet (entrant ou sortant)

Les données contenues dans les paquets ne sont pas
analysées en principe.
Exemples:
– Interdire toute connexion Telnet venant de l'extérieur
– Autoriser tous transferts de courrier avec le protocole
SMTP
Interdire tous les paquets venant de l'extérieur et
– portant une adresse d'émission interne: il s'agit de
paquets falsifiés potentiellement dangereux.


Limitations. Les règles ne peuvent porter que sur les
en- têtes des paquets, ce qui limite les possibilités de
filtrage.
Filtrage par l'adresse

C'est la forme la plus simple de filtrage, permettant d'autoriser
certains hôtes externes à communiquer avec certains hôtes internes.

On filtre les paquets en fonction des adresses TCP d'origine et de
destination.

Exemple. Le filtrage par l'adresse permet, par exemple, d'interdire les
paquets falsifiés venant de l'extérieur et comportant une adresse
d'origine interne, en autorisant tous les autres paquets.
Ad.
Règle Direction Ad. Dest. Protocole Port Port ACK action
Source Source Dest. =1
A Entr. Interne toute tous tous tous tous refus
s
B toutes toutes toute toutes tous tous tous accep
s t.

– La sûreté du filtrage par l'adresse n'est évidemment pas parfaite, puisqu'un attaquant
peut toujours usurper l'adresse d'une machine que l'on considère comme fiable.
Filtrage par la réponse

La possibilité de reconnaître des paquets TCP de début de
connexion (SYN) permet de créer une règle qui autorise la
connexion des clients internes aux serveurs extérieurs, mais
interdit aux clients extérieurs de se connecter aux serveurs
internes (filtrage par la réponse).

Règle Direction Ad. So Ad. Dest. Protocole Port Port Dest. ACK=1 action
urce Source
A Entr. toutes interne TCP tous tous non refus
B Entr. toutes interne TCP tous tous oui accept.
C Sort. interne externe TCP tous tous tous accept.
D toutes toutes toutes tous tous tous tous refus.
Filtrage par la réponse

– Le filtrage par la réponse ne peut pas être appliqué au protocole


UDP.
– On ne peut pas distinguer le premier paquet UDP venant d'un
client extérieur d'un paquet envoyé en réponse par un serveur
externe à un client interne.
– Sauf si le firewall est à mémoire et est capable d'ajuster
dynamiquement ses règles
Filtrage par le service

Le filtrage par le service est plus compliqué à mettre en oeuvre que le filtrage
par l'adresse, mais plus sûr. Il faut être capable de caractériser les paquets
associés à des services précis.

A titre d'exemple, le tableau ci-dessous regroupe les caractéristiques des paquets
utilisés par le protocole Telnet.
Direction pa Ad. Ad. Dest. Protocole Port Port Dest. ACK=1
Source Source

Demande de service { Sort


Entr.
Interne
externe
externe
interne
TCP
TCP
> 1023
23
23
> 1023 oui
Entr.. externe interne TCP >1023 23
Offre de service { Sort. Interne Externe TCP 23 >1023 oui
Filtrage par le service

Le filtrage par le service est plus compliqué à mettre en oeuvre que le filtrage
par l'adresse, mais plus sûr. Il faut être capable de caractériser les paquets
associés à des services précis.

A titre d'exemple, le tableau ci-dessous regroupe les caractéristiques des paquets
utilisés par le protocole Telnet.
Direction paquet Ad. Ad. Dest. Protocole Port Port Dest. ACK=1
Source Source

Demande de service { Sort.


Entr.
Interne
externe
externe
interne
TCP
TCP
> 1023
23
23
> 1023 oui

Offre de service { Entr..


Sort.
externe
Interne
interne
Externe
TCP
TCP
>1023
23
23
>1023 oui
Filtrage par le service

Le filtrage par le service est plus compliqué à mettre en oeuvre que le filtrage
par l'adresse, mais plus sûr. Il faut être capable de caractériser les paquets
associés à des services précis.

A titre d'exemple, le tableau ci-dessous regroupe les caractéristiques des paquets
utilisés par le protocole Telnet.
Direction paquet Ad. Ad. Dest. Protocole Port Port Dest. ACK=1
Source Source

Demande de service { Sort.


Entr.
Interne
externe
externe
interne
TCP
TCP
> 1023
23
23
> 1023 oui

Offre de service{
Entr.. externe interne TCP >1023 23
Sort. Interne Externe TCP 23 >1023 oui
Filtrage par le service

Le filtrage par le service est plus compliqué à mettre en oeuvre que le filtrage
par l'adresse, mais plus sûr. Il faut être capable de caractériser les paquets
associés à des services précis.
● A titre d'exemple, le tableau ci-dessous regroupe les caractéristiques des paquets
utilisés par le protocole Telnet.
Direction paquet Ad. Ad. Dest. Protocole Port Port Dest. ACK=1
Source Source
Sort. Interne externe TCP > 1023 23
Demande de service { Entr. externe interne TCP 23 > 1023 oui
Entr.. externe interne TCP >1023 23
Offre de service{ Sort. Interne Externe TCP 23 >1023 oui
● Partant de ces caractéristiques, pour autoriser le service Telnet sortant et rien
d'autre, on construit l'ensemble de règles suivant.
Règle Direction Ad. Ad. Protocole Port Port ACK=1 action
Source Dest. Source Dest.
A Sort. Interne Toutes TCP > 1023 23 tous accepte
B Entr. toutes interne TCP 23 > 1023 oui accepte
C toutes toutes tous tous tous tous tous refus

De même, pour autoriser les requêtes ping sortantes et
interdire celles venant de l'extérieur, on utilisera les règles
suivantes. ( type 8=requete; type=0 reponse)

Règle Direction Ad. Source Ad. Dest. Protocole Port Port Type action
Source Dest.
A Entr. externe interne ICMP 8 refus
B Sort. interne externe ICMP 0 refus
C Sort. interne externe ICMP 8 Accepte.
D Entr. externe interne ICMP 0 Accepte.
Stateful inspection firewall
Dynamic packet-filtering
Pare-feu à mémoire
● Analyse :
– les adresses IP src/dst les ports src/dst

– le protocole

– les bits SYN/ACK/FIN, les numéros de séquence, etc. (garde chaque


connexion dans une table)

tous les champ des entêtes IP (type, fragmentation, etc.), TCP (URG/taille
de la fenêtre, etc.)

ouverture de ports ( ftp, rpc, etc.) correspondant à ceux qui ont été

négociés en début de connexion
modification du contenu du paquet si celui-ci contient des adresses/ports
– qu'il faut translater (NAT)

● Exemple: Pare-feu personnels: Iptables (sous Shorewall),


Ipfw
Filtrage des services DNS

Domain Name Service (DNS) est une base de
données répartie au niveau de l'Internet, permettant
de stocker les informations sur les machines:
– Adresse IP
– Nom
– Système d'exploitation
– Serveur de nom
– Serveur de courrier
– Etc,...

Les domaines sont organisés de
manière hiérarchique.

Chaque domaine possède un DNS
primaire et, éventuellement, un ou
plusieurs DNS secondaires.

Un serveur DNS maintient les
informations concernant les machines
de son domaine et il stocke
temporairement dans un cache les
informations qu'il peut recevoir des
autres serveurs.

Les serveurs sont organisés de manière
hiérarchique, au même titre que les
domaines. Chaque serveur connaît les
adresses des serveurs du niveau
immédiatement inférieur.

Chaque fois qu'un programme doit
traduire un nom de machine en
adresse IP ou inversement, ou encore
envoyer du courrier à une machine
donnée, il consulte son Serveur de
Noms local.

Si celui-ci possède l'information dans
son cache, il la communique au client.

Sinon, il transmet la requête aux
serveurs DNS des domaines
concernés, en commençant par la
racine.

De plus, un serveur primaire peut
transférer des informations à un
serveur secondaire du même domaine
(transfert de zone). Ces transferts
utilisent à la fois TCP et UDP.
Filtrage des services DNS

La difficulté du filtrage du trafic DNS vient de ce que
les DNS agissent à la fois comme serveurs et
comme clients d'autres DNS.
– Un serveur DNS est toujours à l'écoute sur le port 53
(UDP et TCP)
– Lorsqu'il agit comme client, il utilise un numéro de
port supérieur à 1023 (UDP et TCP)

Le tableau suivant regroupe les caractéristiques des
paquets engendrés par le trafic DNS.
Filtrage des services DNS

Directio Adr. Adr. Protocole Port Port dest ACK=1


n source Dest. source
entrant Ext; Int. UDP >1023 53 Requête entrante (UDP)
sortant Int. Ext. UDP 53 >1023 Réponse à requête entrante
entrant Ext. Int. TCP > 1023 53 Requête entrante (TCP)
sortant Int. Ext; TCP 53 > 1023 oui Réponse à requête entrante
sortant Int. Ext. UDP > 1023 53 Requête sortante (UDP)
entrant Ext Int UDP 53 > 1023 Réponse à requête sortante
sortant Int. Ext. TCP >1023 53 Requête sortante (TCP)
entrant Ext. Int. TCP 53 > 1023 oui Réponse à requête sortante
UDP 53 53 Requête ou réponse entre DNS
Etude de cas : Attaque par SYN-Flooding

L'attaque par SYN-flooding concerne la disponibilité des services.
Elle consiste à submerger un serveur par des demandes de
connexions portant une fausse adresse source, l'empêchant ainsi
de répondre aux demandes authentiques.

Lors de l'établissement d'une connexion TCP, le serveur reçoit
d'abord du client une demande de connexion (paquet SYN).

Le serveur répond par un paquet SYN-ACK, puis il place la
connexion dans l'état d'attente TCP_SYN_RECV (half-open
connection).

Lorsque le serveur reçoit la réponse du client (paquet ACK), il met
la connexion dans l'état TCP_ESTABLISHED.

Si le premier paquet SYN reçu porte une fausse adresse source, le
client sera incapable de répondre au paquet SYN-ACK et la
connexion du serveur restera dans l'état d'attente
TCP_SYN_RECV.

Le serveur est constamment inondé par de nombreux
paquets SYN portant une fausse adresse source, sa table
des connexions peut se trouver rapidement saturée, bloquant
ainsi tout service (denial of service).

Une parade possible à l'attaque par SYN-Flooding consiste
à utiliser le numéro de séquence émission N(S) initial
proposé par le serveur afin d'identifier la négociation en
cours.
– Le client C envoie une demande de connexion au serveur S
(paquet SYN);

S calcule un nombre X par hachage des adresses identifiant la
connexion. Ensuite, S répond au client par un paquet SYN-ACK
portant le champ N(S)=X et il libère la connexion.

Si S reçoit un paquet ACK il recalcule X comme
précédemment, le compare au champ N(R) du paquet ACK
reçu, afin de déterminer s'il s'agit bien de la réponse à un
paquet SYN-ACK envoyé précédemment. Il met alors
directement la connexion dans l'état TCP_ESTABLISHED.
Port Knocking

Le Port knocking est une technique qui permet de
faire en sorte qu’une connexion sur un port X
autorise une connexion à un port Y sur le même
serveur, à partir de la même adresse ip cliente.

Exemple :
1.Une connexion sur le port 1600 autorise un accès
du même client au port ssh pendant 60 secondes.
2.Une connexion au port 1601 rends impossible toute
connexion de ce client au port ssh.
Choix d'un routeur à filtrage de paquets
● Il peut être un routeur dédié ou un ordinateur générique
– Problème de vitesse et de nombre d'interfaces réseau
– Un simple lien internet : machine peu puissante
– Grand nombre de réseaux et de protocoles: routeur dédié
En fonction du matériel existant:

– Parfois il vaut mieux acheter une grosse machine qui fait
tout (règles de routage complexes)
– Parfois il vaut mieux ajouter une petite machine qui fait
peu mais bien. (plus simple à configurer)
Choix d'un routeur à filtrage de paquets
● Il doit permettre une spécification simple des règles
– Important: ne pas rajouter de la complexité à la
complexité
– Possibilité de niveaux d'abstraction
– Pas de tableaux d'octets
– Télé-chargement de règles depuis une machine dédiée

– Interfaces(web en général)
Il doit permettre de définir des règles basées sur
n'importe quel critère d'en-tête ou de méta-paquet (port
d'interface).


Adresse ip source et destination Ports, TCP , UDP, src, dst
 Options ip
 Type de message ICMP
 Protocole (udp, tcp, icmp)  Information de début
connexion (bit ACK)
Choix d'un routeur à filtrage de
paquets

● Il doit appliquer les règles dans l'ordre spécifié


– certains firewall réorganisent les règles

Ex: de la plus générale à la moins générale
– Compréhension plus difficile
– Peut détériorer le fonctionnement
Etude de cas
● Un pare-feu sans mémoire:
– Une machine 203.167.75.1
● On souhaite:
– naviguer sur le web (port 80)
– recevoir des connexions telnet (port
23)
– recevoir et initier du SSH (port 22)
Etude de cas
● Règles de filtrage:
Etude de cas
trafic ssh entrant
● Règles de filtrage:
Etude de cas
trafic ssh sortant
● Règles de filtrage:
Etude de cas
trafic http
● Règles de filtrage:
Etude de cas
trafic telnet entrant
● Règles de filtrage:
Etude de cas
● Un pare-feu avec
mémoire
dmz_web

dmz_proxy:
Etude de cas
● Règles de filtrage de PF1:

10
Etude de cas Un pare-feu
avec mémoire
Etude de cas
● Règles de filtrage:

Vous aimerez peut-être aussi