Académique Documents
Professionnel Documents
Culture Documents
–
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).
●
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
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
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
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
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
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: