INF806 – Système et réseau
Cours 4 – Mise en place d’un pare-feu
Christian Barrette
Le plan du jour
Se situer dans le plan de cours
Remise du devoir 1
Les nouvelles
Le cours
2
Les nouvelles
Quelques sites
1.[Link]
2.[Link]
3.[Link]
4.[Link]
5.[Link]
6.[Link]
Le cours
Les pare-feux
Pare-feu de
Pare-feu avec état
filtrage de paquets
(Stateful)
(sans état)
Types de
pare-feux
Pare-feu de
passerelle Pare-feu de
d'application nouvelle
(proxy) génération(NGFW)
Types de pare-feux / NGFW
Les NGFW peuvent inclure les
fonctionnalités suivantes:
1. IPS (Intrusion Prevention
System)
Types de 2. Protection contre les
parefeu / malwares
NGFW 3. Filtrage applicatif
4. QoS
5. VPN
6. Déchiffrement SSL/SSH
7. DPI (Deep Packet Inspection)
NGFW
-
Gartner
Critères de sélection d'un pare-feu
Fonctionnalités et
capacité de filtrage
Filtrage sur les 7 couches
Simplicité
d'administration
Évolutivité
Intégration avec
l'existant / Compatibilité
Pare-feu - durcissement
Le pare-feu doit être
Désactiver les
exclusivement dédié
interfaces non
aux fonctions de
nécessaires
pare-feu
Pare-feu – Durcissement (suite)
➢ Désactiver ou bloquer tous les services non
requis
• Telnet, r-command, http, etc.
• Redirection ICMP
• Routage par la source
• Broadcast IP
• Etc.
Pare-feu – Durcissement (suite)
➢ Bannière d'entrée de sessions
➢ Controle d'accès robuste
• Authentification centralisée
• Politique de mots de passe
• Accès basés sur les rôles (RBAC)
• Gestion stricte des utilisateurs /administrateurs
• Changements frequents des mots de passe
• Révisions frequentes des accès
Pare-feu – Durcissement (suite)
➢ Activer les fonctions anti-spoofing
➢ Activer les fonctions anti-déni de service
➢ Désactiver la fonction IP-Forwarding
➢ Traduction d'adresses
• NAT
• PAT
– Ex: pare-feu 80 → web_server 443
Pare-feu – Durcissement (suite)
➢ Accès à distance aux pare-feu
• Accès via un protocole sécurisé :ex: ssh v2
• Utilisation d'une authentification à deux facteurs
(ex: RSA SecuriD)
• Accès via une zone de gestion sécurisée
➢ Jumpoint ou zone de gestion
➢ Journalisation centralisée
Pare-feu – Durcissement (suite)
Réf.: [Link]
Pare-feu – Durcissement (suite)
Pare-feu – Durcissement
Réf.: [Link]
Pare-feu
◼ Configuration de pare-feu
– Activer le mode « stateful inspection »
– Par default, bloquer tout flux non permis
• Any to any : deny
– Journaliser les événements
• Identifier le type d'actions que l'on désire
journaliser
– Journaliser minimalement les actions
refusées
– Attention au volume de logs
Pare-feu
◼ Configuration de pare-feu
– Justification et approbation des règles avant leur
création
– Optimisation des règles
• Fusion si nécessaire
– Valider la cohérence des règles
• Existence de règles bloquantes?
Pare-feu
◼ Configuration de pare-feu
– Révision périodique des règles
• Optimisation des règles
• S'assurer que tous les règles en place sont
autorisées
• Supprimer les règles non requises
Proxy/Reverse Proxy
◼ But
– Assurer la sécurité du flux entrant/sortant du
réseau, sur les couches applicatives
– Enforcer la politique de sécurité de l'entreprise
– Deux (2) types
• Serveur Proxy
• Serveur Reverse-proxy
Proxy
– Reseau interne vers l'externe (Internet)
Proxy
◼ Fonctions
– Filtrage (Web, FTP, etc.)
• Source ou destination de la requête
– Ex: Autoriser uniquement l'équipe de
Sécurité (source) à accéder aux sites de
Hacking (destination/catégorie)
• Type de requête: port ou méthode utilisée
– Ex: bloquer le port 443 pour interdire les
transactions en ligne
Proxy
◼ Fonctions
– Filtrage (Web, FTP, etc.) suite
• Le contenu (analyse de mots clés)
• Le temps
– Ex: bloquer tous les accès internet en dehors des
heures ouvrables
– Cache
• Diminution du trafic réseau
• Accès à des sites indisponibles
Reverse Proxy
– Externe (Internet) vers le réseau interne
Reverse Proxy
◼ Fonctions du Reverse-Proxy
– Filtrage de flux
– Cache
• Diminution du trafic réseau
– Répartition de charges (load balancing)
Topologie
– Pare-feu
Topologie 1 – LAN vers Internet
Topologie 2 – FW et serveurs publiques
Topologie 3 – FW et serveurs publics
Topologie 4 – Redondance des FW
Topologie 5 – pare-feu complexe
Exemple d’architecture
Exemple d’architecture
Exemple d’architecture
Exemple d’architecture
[Link]
Exemple d’architecture
Mise en place d’un NGFW
Palo Alto
Mise en place d’un NGFW
[Link]
Mise en place de PFSense
Réf.: [Link]
Les ACL
Les ACL - Listes de contrôle d'accès
Principes sur les ACL :
• Une liste de contrôle d'accès par protocole : pour contrôler le flux du trafic
sur une interface, définissez une liste de contrôle d'accès pour chaque
protocole activé sur l'interface.
• Une liste de contrôle d'accès par direction : les listes de contrôle d'accès
contrôlent le trafic dans une seule direction à la fois sur une interface. Vous
devez créer deux listes de contrôle d’accès ; la première pour contrôler le
trafic entrant et la seconde pour contrôler le trafic sortant.
• Une liste de contrôle d'accès par interface : les listes de contrôle d'accès
contrôlent le trafic dans une seule interface, par exemple, Gigabit Ethernet
0/0.
Fonctionnement des listes de contrôle d'accès
Les listes de contrôle d'accès étendues peuvent filtrer le trafic en
examinant les numéros de port TCP.
Voici une liste de numéros de ports TCP et UDP couramment
utilisés :
Types de listes de contrôle d'accès IPv4
Les listes de contrôle d'accès standard filtrent les paquets
en fonction de l'adresse source uniquement.
Les listes de contrôle d'accès étendues filtrent les
paquets en fonction des éléments suivants :
◦ Le type ou le numéro de protocole (exemple : IP, ICMP, UDP, TCP,…)
◦ Les adresses IP : source et de destination
◦ Les ports TCP et UDP : source et de destination
Types de listes de contrôle d'accès IPv4
Les listes de contrôle d'accès standard et étendues et leur liste
d'instructions peuvent être identifiées par un numéro ou par un
nom.
Fonctionnement des listes de contrôle d'accès
Les listes de contrôle d'accès étendues doivent être placées le plus près possible de la
source du trafic à filtrer.
◦ Le trafic indésirable est refusé près du réseau source et ne traverse pas l'infrastructure
de réseau.
Les listes de contrôle d'accès standard doivent être placées le plus près possible de la
destination.
◦ Lorsqu'une liste de contrôle d'accès standard est placée à la source du trafic, elle filtre le
trafic en fonction de l'adresse source, quelle que soit la destination du trafic.
Types de listes de contrôle d'accès IPv4
Une liste de contrôle d'accès standard est configurée pour bloquer pour tout le trafic en provenance de
[Link]/24 et à destination de [Link]/24.
La liste de contrôle d'accès standard doit être appliquée au plus près de la destination, soit dans cet
exemple en aval de l'interface G0/0 de R3.
Types de listes de contrôle d'accès IPv4
Une liste de contrôle d'accès étendue est configurée pour bloquer tout le trafic FTP et Telnet en
provenance de [Link]/24 et à destination de [Link]/24.
La liste de contrôle d'accès étendue doit être appliquée au plus près de la source, soit dans cet exemple
en amont de l'interface G0/1 de R1.
Mise en œuvre des listes de contrôle d'accès IPv4
standard
La syntaxe complète de la commande des listes de contrôle d'accès standard
est la suivante :
◦ access-list numéro-liste-accès {deny | permit | remark} source [caractère-générique-
source][log]
▪ Par exemple :
• Autoriser toutes les adresses IP sur le réseau
[Link]/24
• Utilisez la commande no access-list 10 pour
supprimer une liste de contrôle d'accès.
• Utilisez le mot-clé remark pour documenter
une liste de contrôle d'accès afin de la
rendre plus explicite.
Mise en œuvre des listes de contrôle d'accès IPv4
standard
Une liste de contrôle d'accès IPv4 est associée à une interface à l'aide de la
commande en mode de configuration d'interface suivante :
◦ ip access-group {numéro-liste-accès | nom-liste-accès} {in | out}
Remarque :
◦ Pour supprimer une liste de contrôle d'accès d'une interface, saisissez d'abord la commande no ip access-group sur
l'interface, puis saisissez la commande globale no access-list pour supprimer la liste de contrôle d'accès complète.
Mise en œuvre des listes de contrôle d'accès IPv4
standard
Pour créer une liste de contrôle d'accès standard nommée :
▪Utilisez la commande de configuration globale ip access-list standard nom.
▪Les noms doivent contenir uniquement des caractères alphanumériques, sont sensibles à la casse et
doivent être uniques.
▪La commande active le mode de configuration de liste de contrôle d'accès standard nommée.
▪Utilisez les instructions permit, deny ou remark.
▪Appliquez la liste de contrôle d'accès à une interface à l'aide de la commande ip access-group nom.
ACL étendues
Structure d'une liste de contrôle d'accès IPv4
étendue
Les listes de contrôle d'accès IPv4 étendues assurent un filtrage plus précis du trafic.
Les listes de contrôle d'accès étendues sont numérotées de 100 à 199
Structure d'une liste de contrôle d'accès IPv4
étendue
Les listes de contrôle d'accès étendues peuvent filtrer le trafic en fonction du
protocole et du numéro de port utilisé.
Une application peut être spécifiée en configurant l'un des deux éléments suivants :
▪Numéro du port
▪Nom d'un port réservé
Configuration de listes de contrôle d'accès IPv4
étendues
La syntaxe complète de la commande des listes de contrôle d'accès étendues est la suivante :
◦ access-list numéro-liste-accès {deny | permit | remark} protocole
{source caractère-générique-source][opérateur [numéro-port | nom-port]]
{destination caractère-générique-destination][opérateur [numéro-port |
nom-port]]
Configuration de listes de contrôle d'accès IPv4
étendues
Les listes de contrôle d'accès étendues sont appliquées de la même manière
que les listes de contrôle d'accès standard, sauf qu'elles doivent être placées
au plus près de la source.
Configuration de listes de contrôle d'accès IPv4
étendues
Dans cet exemple, le trafic FTP provenant du sous-réseau [Link] et à destination du sous-
réseau [Link] est refusé, mais tout autre trafic est autorisé.
• Le protocole FTP utilise deux numéros de port (ports TCP 20 et 21). Deux ACE sont donc nécessaires.
• L'exemple utilise les noms de port réservé ftp et ftp-data.
• S'il n'existe aucune instruction permit dans une liste de contrôle d'accès, tout le trafic sur l'interface à
laquelle cette liste est appliquée est abandonné.
• La liste de contrôle d'accès est appliquée en amont de l'interface G0/1 de R1.
Annexes
Transmission de paquets
Dialogue a trois phases: Handshaking
Principes Pas de chiffrement, pas d’authentification
réseau
Protocoles faiblement sécurisés
Routage
Contrôle de congestion
Établissement de session dans la couche Transport
•Chaque processus de demande s'exécutant sur un serveur est configuré pour
utiliser un numéro de port. Le numéro de port est soit attribué
automatiquement, soit configuré manuellement par un administrateur
système.
•Deux services ne peuvent pas être affectés au même numéro de port d'un
serveur au sein des mêmes services de la couche transport.
•Un hôte qui exécute une application de serveur web et une application de
transfert de fichiers ne peut pas avoir les deux configurées pour utiliser le
même port, tel que le port TCP 80.
Établissement de session dans la couche transport
(suite)
•Une application de serveur active affectée à un port spécifique est considérée
comme étant ouverte, ce qui signifie que la couche transport accepte et traite
les segments adressés à ce port.
•Toute demande entrante d'un client qui est adressée à l'interface de connexion
correcte est acceptée et les données sont transmises à l'application de serveur.
•De nombreux ports peuvent être ouverts simultanément sur un serveur,
chacun étant destiné à une application de serveur active.
Établissement de session dans la couche transport
Clients envoyant des requêtes TCP
Le client no 1 demande des services Web et le client no 2 demande le service de messagerie du même serveur.
Établissement de session dans la couche Transport
Ports de destination des requêtes
Le client 1 demande des services Web en utilisant le port de destination 80 (HTTP) bien connu et le client
2 demande un service de messagerie en utilisant le port 25 connu (SMTP).
Établissement de session dans la couche transport
Ports source des requêtes
Les requêtes de clients génèrent dynamiquement un numéro de port source. Dans ce cas, le client 1 utilise le port source
49152 et le client 2 utilise le port source 51152.
Établissement de session dans la couche transport
Ports de destination des réponses
Lorsque le serveur répond aux demandes d’un client, il inverse les ports de destination et source de la demande
initiale. Notez que la réponse du serveur à la demande Web a maintenant le port de destination 49152 et que la
réponse e-mail a maintenant le port de destination 51152.
Établissement de session dans la couche transport
Ports source des réponses
Le port source dans la réponse du serveur est le port de destination d'origine dans les demandes initiales.
Établissement de session dans la couche transport
• Dans les connexions TCP, le client hôte établit la
connexion avec le serveur en utilisant le processus
de poignée de main à trois voies.
• La poignée de main à trois voies valide que l'hôte de
destination est disponible pour communiquer.
• Les étapes de l'établissement d'une connexion TCP
sont les suivantes :
• Étape 1. Le client demande l'établissement d'une
session de communication client-serveur avec le
serveur.
Établissement de session dans la couche transport
Étape 2. ACK et SYN: Le serveur accuse réception de Étape 3. ACK: Le client accuse réception de la session
la session de communication client-serveur et
demande l'établissement d'une session de de communication serveur-client.
communication serveur-client.
Termination de session dans la couche transport
• Pour mettre fin à une connexion, l'indicateur de contrôle FIN (Finish) doit être défini dans l'en-
tête de segment.
• Pour mettre fin à chaque session TCP unidirectionnelle, on utilise un échange en deux étapes
constituées d'un segment FIN et d'un segment ACK.
• Pour mettre fin à une seule conversation TCP, quatre échanges sont nécessaires pour mettre
fin aux deux sessions. La terminaison peut être initiée par le client ou le serveur.
• Les termes client et serveur sont utilisés comme référence pour plus de simplicité, mais deux
hôtes quelconques qui ont une session ouverte peuvent lancer le processus de terminaison.
• Quand la réception de tous les segments a été confirmée, la session est fermée.
Termination de session dans la couche transport
Les étapes de fin de session sont les suivantes:
Étape 1. FIN: Quand le client n'a plus de données à Étape 2. ACK: Le serveur envoie un segment ACK
envoyer dans le flux, il envoie un segment dont pour informer de la bonne réception du segment FIN
l'indicateur FIN est défini. afin de fermer la session du client au serveur.
Termination de session dans la couche transport
Étape 3. FIN: Le serveur envoie un segment FIN au Étape 4. ACK: Le client répond à l'aide d'un segment
client pour mettre fin à la session du serveur au ACK pour accuser réception du segment FIN envoyé
client. par le serveur.
Pile TCPIP vs OSI
Vulnérabilités des échanges
75
Analyse -
Wireshark
Analyses et captures
77
Analyses et captures – les filtres
78
Analyses et captures – les filtres (suite)
79
Analyses et captures – les filtres (suite)
80
Vulnérabilités de la pile TCPIP
- Authentification faible. Les adresses sources et destination sont non garanties
- Pas de protection de l’intégrité. Option Redirect ICMP, Injection de paquets
- Confidentialité. Messages FTP en clair. Affichage de l’entête
- Disponibilité. TCP vulnérable aux attaques DoS, spoofing, poisoning
- Comptabilisation. Traçage difficile (adresses non garanties)
- Non répudiation (origine, réception). Adresses non garanties. Spoofing.
81
Bibliographie
1. [Link]
2. CIS
3. SANS
4. Gardner
Questions?
83