Cours Securite
Cours Securite
Cours Securite
Réseaux
1
Définition
Une définition formelle du Firewall a été proposée par Cheswick et Bellovin dans leur
ouvrage « Building Internet Firewalls » :
Types de Firewall
Historiquement, les pare-feux se partageaient entre deux familles :
• les pare-feux de type routeur filtrant (le filtrage du trafic se fait au niveau
des couches réseau et transport), évoluant vers une technique dite « stafeful
inspection » permettant de gérer dynamiquement l’état des sessions en
cours,
2
• les pare-feux de type mandataire, effectuant une analyse syntaxique et
sémantique au niveau applicatif pour un certain nombre de protocoles. Un
certain nombre de ces derniers sont issus de la technologie TIS de Gauntlet.
La plupart des pare-feux combinent aujourd’hui ces deux approches de manière plus ou
moins fine. Un pare-feu est généralement constitué des éléments suivants :
Présent dans l’immense majorité des routeurs en tant que mécanisme optionnel, il est
utilisé simultanément avec les mécanismes de routages de base.
Filtrage applicatif
Notion de Proxy
Le principe du filtrage applicatif, ou mandataire, consiste à assurer une médiation
entre deux réseaux, par l’insertion d’un équipement intermédiaire, obligatoire, et qui
assure une fonction de relayage (Proxy).
3
l’utilisateur (on utilise pour ce faire un mécanisme d’interception), mais le plus
souvent son emploi nécessite un paramétrage particulier du client pour qu’il puisse
l’utiliser.
Les nombreuses options d’un tel mécanisme en font un outil particulièrement puissant et
performant en termes de sécurité :
La principale différence réside dans le fait que, dans le premier cas, le client sait où
se trouve le Proxy et est configuré pour l’utiliser, alors que, dans le second cas, le
Proxy doit être totalement transparent et répondre à la place du serveur.
1 Il existe toutefois des services de Proxy « génériques » (Socks Proxy par exemple) permettant
de relayer des services non supportés, mais l’efficacité du filtrage s’en ressent fortement.
4
Dans la plupart des cas (serveurs HTTP et DNS par exemple), les champs
protocolaires ne comportent pas toujours le nom ou l’adresse du serveur. Ainsi, et
pour ces protocoles, les Proxys inverses ne peuvent relayer du trafic que pour un
seul serveur interne.
Enfin, les Proxys inverses peuvent également être utilisés comme accélérateurs de
trafic (Proxy accelerators) : dans ce cas, le Proxy inverse fait également office de
cache, conservant une copie locale de tous les fichiers transitant par lui. S’il reçoit
une requête pour un fichier qui est dans son cache et s’il sait que ce fichier est
toujours valide, le Proxy peut répondre à la requête sans déranger le serveur. Ceci
permet donc le partage de charge entre le Proxy et le serveur original.
Il s’agit ici de la technologie la plus élaborée en matière de filtrage réseau, et qui permet
une sécurisation particulièrement performante.
Les Firewalls « Statefull», peuvent intervenir à chaque niveau des couches réseaux
et gèrent alors dynamiquement un contexte de session permettant de suivre à la
trace les connexions réseau.
Cette technique est par ailleurs la seule qui permet de gérer efficacement le problème
de la fragmentation
Gestion de la fragmentation
Le mécanisme de la fragmentation IP, pourtant parfaitement connu
et intégré dans les spécifications du protocole IP, n’est pas sans
poser de nombreux problèmes de sécurité.
Soient :
• 1 machine interne A
5
• 1 machine externe B
• un Firewall
On interdit les connexions de B vers A sur le protocole HTTP (port 80) et on autorise le
reste.
Les routeurs intermédiaires vont filtrer le premier segment car l’en-tête TCP du fragment 1
contient l’adressage du port 80…
...mais les autres fragments vont passer car ils ne contiennent pas d’en-tête TCP !
6
Généralités
Comme dit précédemment, un Firewall n’est pas l’outil de protection absolu. Leur fonction
principale de filtrage réseau peut se définir comme l’inspection, au regard de critères
variés, des flux de communication dans le but de juger de leur adéquation à une politique
de sécurité définie.
Pour un attaquant, jouer avec les limites des équipements de filtrage réseau revient
alors à exploiter les erreurs d’implémentation, les mauvaises interprétations des
standards ou plus simplement les limitations intrinsèques des outils de protection ;
l’objectif ultime de l’attaquant consiste donc à formater son flux réseau de manière
à le rendre licite vis-à-vis de la politique de filtrage.
7
5 any any any any any Deny
La règle 1 spécifie que tout le monde (expression any) peut émettre sur le port
TCP SMTP du serveur.
La règle 2 est une règle dite « de retour », autorisant les réponses aux requêtes
des clients
La règle 3 précise que le serveur peut atteindre tout autre serveur de
messagerie
La règle 4 est la règle de retour de la règle 3
La règle 5 permet d’interdire explicitement toute autre connexion, dans les deux
sens.
Aussi simple qu’il soit, cet ensemble de règles contient pourtant déjà une erreur, car
il est plus permissif qu’il devrait l’être. En effet, la règle 4 autorise toute machine à
se connecter au serveur et ce quel que soit le port de destination pour peu que le
port source soit le port 25. La règle 2 va également autoriser les réponses à ce type
de requêtes. Ainsi, il suffira à un attaquant de choisir systématiquement le port 25
comme port source de ses requêtes pour scanner l’ensemble des ports de services
du serveur.
On peut contrer ce type d’attaque en ajoutant aux règles de filtrage une vérification
sur les flags TCP, permettant ainsi de déterminer le sens de la connexion sachant
qu’une réponse à une requête aura toujours le flag ACK positionné. Les règles de
notre exemple prennent alors la forme suivante :
Source Port Destination Port Protocole Flags Action
La solution n’est par contre pas parfaite. En effet, si un attaquant parvient à forger
un segment TCP contenant le flag ACK de positionné, à destination du serveur,
avec un port source égal à 25 et sur un port quelconque du serveur, la règle 4
autorisera l’entrée d’un tel paquet.
8
Le tableau suivant spécifie des règles de filtrage pour une architecture dans
laquelle un routeur filtrant autorise toute communication vers un serveur sur tous
les ports de services inférieurs à 1024, sauf les ports HTTP et SMTP.
… … … … … … …
… … … … … … …
Si l’on spécifie les règles dans cet ordre, tout le monde pourra accéder aux ports
HTTP et SMTP, contrairement à ce que l’on souhaitait faire. En effet, les règles 15
et 16 devraient l’interdire, mais, la règle 1 étant rencontrée en premier, celle-ci est
appliquée et l’algorithme de traitement s’achève sans avoir balayé les deux règles
15 et 16.
Pour obtenir un filtrage efficace, les règles 15 et 16 auraient donc dû être positionnées
avant la règle 1.
ACK Channel
Pour discriminer le sens d’une connexion TCP, un firewall sans état détectera la
réponse à un segment précédent par la présence du flag ACK. Tout segment de ce
type sera donc considéré comme valide, puisque étant le résultat d’un segment
précédent, censé avoir passé avec succès le filtrage réseau.
Il suffit alors de n’utiliser que des segments ACK pour faire transiter de l’information
au travers d’un tel équipement de filtrage. Un outil comme ackcmd permet, sous
Windows, d’exploiter un tel canal de communication basé sur ce principe.
Ping Channel
Dans une requête ICMP de type Echo Request (ping), un champ est réservé pour
des données optionnelles. Ce champ est généralement rempli avec des octets de
bourrage dépendant du système d’exploitation (sous Windows ce champ contient
une table des caractères ASCII : ABCDEFGH…).
Il est donc possible d’utiliser ce champ pour établir un canal de communication entre deux
entités séparées par un système de filtrage laissant passer le ping.
9
ICMP Channel
L’utilisation abusive d’un champ optionnel dans ICMP peut être facilement contrée
par un système de filtrage intelligent ; il suffit d’écraser les données présentes dans
ce champ lors de l’opération de filtrage.
D’autres techniques utilisant ICMP ont alors été implémentées pour mettre en
œuvre un canal de communication caché. Lorsqu’une erreur ICMP est reçue par le
firewall, ce dernier devrait vérifier systématiquement que ce message se rapporte
bien à une communication en cours en consultant sa table d’états.
Ré acheminement de ports
Les techniques de ré-acheminement de ports sont souvent utilisées pour contrer les
protections d'un Firewall entre un attaquant et sa cible ; elles consistent à injecter
des commandes entrantes dans un canal de communication sortant d’une cible.
Afin de mieux illustrer ce type d'attaque, voici la description d'une telle attaque
utilisant l'utilitaire netcat configuré manuellement.
Un pirate souhaite atteindre une machine Windows disposée derrière un mur pare-
feu qui n'autorise que les connexions sortantes de la victime vers l'extérieur, et
uniquement sur les ports 80 (HTTP) et 25 (SMTP).
10
L'attaque nécessite trois pré-requis :
11
Les commandes saisies dans la première fenêtre sont renvoyées au premier client
netcat de la victime, elles sont redirigées dans l'interpréteur de commandes local de
la victime et la sortie standard de l'interpréteur est alors redirigée vers le second
client netcat de la victime, d'où le fonctionnement décrit.
Gestion de la fragmentation
Il en résulte que la seule solution possible consiste à laisser passer tous les
fragments sans contrôle autre que celui des adresses sources et destination. Ce
problème a cependant été résolu dès l’apparition du filtrage à état.
Recouvrement de fragments
L’une des premières techniques de contournement de firewalls a consisté à utiliser
la possibilité offerte de recouvrement de fragments. Les premiers firewalls
implémentant la gestion de la fragmentation basaient leur décision sur les
informations contenues dans le premier fragment, puis appliquaient la même
décision aux fragments suivants.
12
Protocoles à ports négociés
Alors que la plupart des applications reposent sur une connexion TCP ou un flux
UDP simple, n’utilisant qu’un seul port de service, d’autres nécessitent
l’établissement en cours de session d’autres flux réseaux dont les paramètres
peuvent être négociés.
Le cas particulier de FTP n’est pas isolé ; il existe de plus en plus de protocoles
fonctionnant avec des ports de services négociés comme l’IRC (Internet Relay
Chat), le H323 et les systèmes d’échanges peer to peer.
Lorsque Bob envoie une requête DCC au serveur, il lui fournit également le port sur
lequel il va écouter pour cette connexion entrante. Le serveur retransmet les
13
paramètres de cette requête à Alice, qui ouvre ensuite une connexion sur la
machine de Bob et sur le port négocié.
Pour qu’un firewall laisse passer cette dernière connexion entrante, il lui faut donc
suivre la requête DCC de Bob et ouvrir temporairement le port choisit par Bob, avec
cette difficulté que l’adresse IP de Alice n’est connue que du seul serveur IRC.
Dans ce cas de figure, il est impossible d’ouvrir le canal sélectivement en
n’autorisant QUE Alice à se connecter.
L’attaquant doit alors remonter les couches réseau : ce n’est au niveau TCP que
s’établira son canal, mais au niveau du protocole applicatif lui-même.
http://www.truc.com/ceci/est/un/canal/caché/
Préambule
La grande majorité des systèmes d’information mis en place dans les entreprises
est supportée par des réseaux locaux, s’appuyant sur des protocoles de type
TCP/IP. Interconnecter ces systèmes ne pose pas de difficultés techniques, de
nombreux types de produits répondant à ce besoin.
14
On trouvera en fin de chapitre un certain nombre d’architectures de sécurité
typiques pour l’interconnexion de réseaux locaux : il va de soi que ces architectures
ne constituent qu’une base de travail, qu’il conviendra d’adapter à l’architecture
existante et au niveau de sécurité requis.
Lors de l’étude d’une interconnexion il sera nécessaire d’aborder les axes suivants :
Ces quatre axes, très différents, doivent être analysés de façon cohérente.
Routeurs ou Firewalls ?
L’une des premières questions que se posent les responsables d’une
interconnexion est de savoir quel type de matériel il est préférable d’utiliser pour
assurer la sécurité de l’interconnexion. Techniquement, il n’existe généralement
que deux réponses à ce type de question : routeurs filtrants ou Firewalls.
• Les ACLs sont fastidieuses à créer et à tenir à jour par les administrateurs, même
s’il existe désormais des interfaces d’administration graphiques évoluées,
• Les routeurs sont d'autant plus ralentis que les ACL sont plus longues (mais c’est
également le cas de Firewalls),
• Les routeurs sont des machines sans capacité de stockage (disque ou disquette),
et donc ne peuvent pas assurer de journalisation importante du trafic,
• Leur ergonomie d'administration est fruste,
15
• Les routeurs ne sont pas programmables, et ne peuvent donc héberger des
fonctions de sécurité adaptées aux cas particuliers des entreprises.
Ce sont souvent ces limitations, plus qu’une meilleure sécurité d’ensemble, qui amènent à
préférer le choix d’un Firewall pour une interconnexion sécurisée.
En effet, les Firewalls ont tendance à offrir un niveau de sécurité supérieur à celui
des routeurs filtrants, au détriment du niveau de performance en terme de bande
passante (syndrome du goulet d’étranglement), mais les récentes évolutions des
routeurs et des Firewalls rendent difficile une telle classification, la frontière entre
les deux types de technologie se faisant de plus en plus floue :
Le choix final devra donc se faire en fonction des besoins des utilisateurs (en
termes de fonctionnalités mais également en termes de niveau de sécurité) et des
capacités des produits existants à répondre à ces besoins.
L’authentification
Lorsque l’on interconnecte son réseau d’entreprise à un réseau public comme
l’Internet, il devient alors tentant d’autoriser des utilisateurs distants, c’est à dire non
physiquement raccordé au réseau de l’entreprise, à accéder au système
d’information. C’est ce que l’on appelle l’extranet : un réseau virtuel, constitué du
système d’information principal, de réseaux partenaires (filiales, entreprises co-
traitantes, clients…) et des éventuels utilisateurs nomades (représentants de
commerce, collaborateurs en déplacement…).
Dès cet instant se pose non seulement le problème de la sécurité des flux transitant
entre l’utilisateur et le système d’information, mais également celui de
l’authentification de cet utilisateur.
Pour ce qui concerne la sécurité des flux réseaux, l’offre VPN du marché offre un
niveau de sécurité correct mais elle ne permet d’identifier que des machines et /ou
des réseaux, pas les utilisateurs de ces équipements. Dans ce contexte, il s’avère
alors souvent nécessaire de mettre en place une solution d’authentification qui aura
pour but de combler ce manque.
16
L’analyse de contenu et la décontamination virale
Ces fonctions peuvent être utilisées lorsqu’un service de messagerie est rendu au
travers de l’interconnexion. Cela permet de limiter certains problèmes particuliers
liés à la messagerie :
• Propagation de virus (le plus souvent par pièces jointes contenant du code
exécutable).
• Envoi de code exécutable malicieux (pièce jointe ou script dans un message
HTML).
• Spam (courrier non sollicité envoyé à une longue liste de personnes).
• Attaque par saturation de la messagerie.
• Spoofing (courrier envoyé en utilisant une adresse d’émetteur usurpée).
• Relayage de serveur de messagerie.
• Fuite d’informations.
• Utilisation abusive de la messagerie (par exemple messages de grand volume).
Les Proxys applicatifs des pare-feux apportent une solution partielle à ces problèmes
(limitation du nombre de destinataires, de la taille des messages, …).
Pour obtenir une protection plus efficace, on peut utiliser des outils qui surveillent
tout le trafic de messagerie, et analysent en détail chaque message et ses pièces
jointes. Ces outils d’analyse de contenu s’interposent en tant que serveur de
messagerie entre le réseau extérieur et le serveur de messagerie interne. Certains
produits peuvent également être intégrés directement en tant que modules du
serveur de messagerie.
L’analyse de contenu
Les fonctions assurées par les systèmes d’analyse de contenu sont les suivantes :
La décontamination virale
17
Exemple de produits : gamme MIMEsweeper avec MAILsweeper (pour SMTP,
Microsoft Exchange, Lotus Domino), SECRETsweeper (messages chiffrés),
InterScan VirusWall, Mail Guard ou bien e-mail Sentinel.
Ce type de solution est actuellement très en vogue sur le marché des produits civils
car ces produits complètent efficacement les pare-feux pour la mise en œuvre
d’une politique de sécurité. Il est à noter cependant que ces produits peuvent offrir
des fonctions et des performances très inégales du point de vue de la sécurité.
La détection d’intrusion
Pour tracer et traquer un pirate, il faut des outils de surveillance afin d’anticiper ou
réduire les conséquences de l’attaque. Pour cela des capteurs sont nécessaires
pour chacune des phases de l’attaque et sont indispensables pour s’apercevoir au
plus tôt qu’une tentative d’attaque est en cours ou a déjà eu lieu.
• une approche temps réel avec des outils produisant des alarmes en cas de
détection d’une signature d’attaques sur le réseau, on peut alors parler de
détection d’intrusion,
• une approche temps différé avec des outils produisant des journaux
d’audit ou ‘logs’ permettant une analyse a posteriori, on peut alors parler
d’analyse d’attaques.
Les outils de détection d’intrusion (ou IDS, pour Intrusion Detection System)
travaillent directement sur les trames réseau. Ces outils de capture réseau sont
communément appelés sondes ou senseurs, ils sont en général basés sur une
sonde d’analyse réseau qui capture les trames réseau.
Le principe consiste à récupérer les données contenues dans la (ou les) trames
réseau et à les comparer aux signatures d’attaques contenues dans la base de
données du produit. Le traitement est réalisé à la volée et l’alerte est envoyée
aussitôt à l’administrateur sécurité.
Le principal problème de la mise en œuvre d’un IDS réside dans son positionnement dans
l’architecture réseau.
L’IDS enregistrera toutes les tentatives d’intrusion, y compris celles qui auront
échoué parce que bloquées par l’élément de filtrage.
• En DMZ :
18
L’IDS ne détectera que les tentatives d’intrusion ayant réussies à passer
l’élément de filtrage, mais pas celles qui seront restées « à la porte » de la
DMZ.
On détectera ici à la fois les agressions internes et externes, mais seules les
intrusions réussies et uniquement sur le réseau interne seront détectées.
L’objectif recherché est que tous les échanges passent par cette zone et qu’aucun
échange direct ne se fasse entre le réseau interne et le réseau externe.
La DMZ peut héberger un certain nombre de services publics (serveur WEB pour
l’externe, serveur FTP, etc.) ainsi que des serveurs relais pour les services inter
réseau (messagerie, annuaire, etc.).
Ce type de solution s’avère très complet du point de vue de la sécurité. C’est une
architecture classique qui permet de mettre en œuvre une politique de sécurité
évoluée où les aspects de filtrage des échanges sont complétés par une analyse
fine de ces échanges ainsi que par des fonctions de journalisation / sauvegardes
des données transitant par le système d’interconnexion. Il est ainsi possible de
mettre en place des services dits publics à destination d’une communauté
extérieure au sein de la DMZ.
Architectures types
Firewall Personnel
19
La figure ci-contre montre un ordinateur équipé d’un Firewall
personnel et raccordé à l’Internet, par exemple par un lien modem. Le
Firewall personnel consiste en un programme spécifique, installé sur
la machine à protéger, limitant les connexions entrantes et sortantes.
Les connexions sortantes se font directement entre l’Internet et le réseau interne, ce qui
expose ce dernier à des attaques directes.
20
Passerelle filtre
Firewall et DMZ
21
La sécurité est mieux assurée que dans les architectures précédentes, mais le Firewall
reste toujours un élément critique
22
Solutions à DMZ multiples
Ce type de solution constitue une variante sécuritaire des deux précédentes, dans
laquelle on pousse la logique de cloisonnement à l’extrême : les machines devant
communiquer avec l’extérieur sont placées dans des DMZ différentes, en fonction
de leurs rôles.
23
Dans le schéma présenté, tous les équipements sont redondés. Les switches
assurent d’une part une surveillance permanente des équipements auxquels ils
sont raccordés et, d’autre par, une surveillance mutuelle via le protocole VRPP
(Virtual Router Redondancy Protocol) sur une ligne dédiée. En cas de panne d’un
équipement, le système bascule automatiquement le routage vers les éléments
encore disponibles.
Les éléments actifs sont configurés pour rediriger le trafic en cas de saturation de la
bande passante d’un des équipements vers le second, ou en simple équilibrage de
charge. Nota : les réponses aux requêtes peuvent ne pas suivre le même chemin
que les requêtes qui les ont provoquées.
Ce type d’architecture peut ainsi résister à une série de pannes multiples (jusqu’à
50% des équipements), tout en équilibrant la bande passante. Le schéma suivant
montre le cheminement du trafic en cas de panne d’un routeur, d’un switch et d’un
Firewall :
24
Solutions Complètes à équilibrage de charge
25