Les Bases Du Firewaling

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 85

Les Technologies

Pare-feu

INPTIC-2020
Firewalls
• Les Pare-feu réseau séparent les zones protégées des zones non
protégées, en empêchant les utilisateurs non autorisés,
d'accéder aux ressources réseau protégées.
• Technologies utilisées:
o ACL
• Étendues, numérotées et nommées
o Advanced ACL
• Stateful firewall - ACL avec le mot clef established.
• Reflexive (dynamic), timed-based
o Firewall base sur Zones (Zones based)
Types de Firewalls
• Packet-filtering
firewall

• Stateful firewall
ACL
Types d’ACL
• Pratiquement n'importe quel type de trafic peut être défini
explicitement en utilisant une ACL numérotée appropriée.

1-99 , 1300-1999
100-199 , 2000-2699

• Dans le passé le champ ‘Ethernet type’ d'une en-tête de trame Ethernet était
utilisé pour définir certains types de trafic.
• Exemple: Ethernet type 0x0806 indiquait une trame ARP.
0x8035 indiquait une trame RARP...

• Il était également fréquent de créer des ACL basées sur les adresses MAC.
Standard ACLs

• Note:
o Peut être appliqué dans un sens entrant ou sortant sur ​une interface à
l'aide de la commande ip access-group.
o Il peut également être appliqué sur un port VTY utilisant access-class.
Standard ACLs
• Créer une ACL standard nommée sur R1 appelée RESTRICT-VTY qui
permet l'accès Telnet depuis l'hôte ‘administrator’ uniquement.

R1(config)# ip access-list standard RESTRICT-VTY


R1(config-std-nacl)# remark Permit only Admin host
R1(config-std-nacl)# permit host 192.168.1.10
R1(config-std-nacl)# exit
R1(config)# line vty 0 4
R1(config-line)# access-class RESTRICT-VTY
R1(config-line)# exit
Extended ACLs
Extended ACLs - 1
• Créer une ACL étendue nommée ‘ACL-1’, appliquée dans un
sens entrant sur Fa0/0 et qui empêche le serveur ‘Workgroup’ de
sortir, mais permet au reste des PC du LAN de sortir.
• Le mot clef established définit une ACL réflexive.
R1(config)# ip access-list extended ACL-1
R1(config-ext-nacl)# remark LAN ACL
R1(config-ext-nacl)# deny ip host 192.168.1.6 any
R1(config-ext-nacl)# permit tcp 192.168.1.0 0.0.0.255 any
established
R1(config-ext-nacl)# deny ip any any
R1(config)# interface Fa0/0
R1(config-if)# ip access-group ACL-1 in
Extended ACLs - 2
• Créer une ACL étendue nommée ‘ACL-2’, appliquée en sortant
sur Fa0/1 (DMZ) et permettant l'accès au serveurs spécifié.

R1(config)# ip access-list extended ACL-2


R1(config-ext-nacl)# remark DMZ ACL
R1(config-ext-nacl)# permit tcp any host 192.168.2.5 eq 25
R1(config-ext-nacl)# permit tcp any host 192.168.2.6 eq 80
R1(config-ext-nacl)# deny ip any any
R1(config-ext-nacl)# interface Fa0/1
R1(config-if)# ip access-group ACL-2 out
R1(config-if)# exit

Le paramètre log peut être ajouté à la fin d’une


déclaration d’ACL.
permit tcp any host 192.168.2.6 eq 80 log
Logging
• Lorsqu'il est configuré, l’IOS compare les paquets, et si il trouve
une correspondance à la déclaration, il consigne alors cela sur
n'importe quelle fonction de journalisation activée, telle que:
o La console
o La mémoire tampon interne
o Serveur syslog
Logging
• Plusieurs éléments d'information sont consignés:
o Action - autoriser ou refuser
o Protocole - TCP, UDP ou ICMP
o Adresses source et destination
o Pour TCP et UDP – numéro de port source et destination
o Pour ICMP - types de messages

• Les messages du journal sont traités à la première


correspondance de paquet, puis à intervalles de cinq minutes
après ce premier match de paquets.
Affichage des operations des
ACL
• Une commande utile pour visualiser les opérations d’une liste
d'accès est show log
• Pour réinitialiser les compteurs, utiliser
clear ip access-list counter [number | name]
command.
ACL Warning
• Deny implicite:
o Toutes les ACL finissent avec un "deny all" implicite.

• Filtrage de paquets ACL:


o Standard: Limitée à un filtrage basé uniquement sur l’IP source.
o Extended: Nécessaire pour implementer une politique de sécurité complète.

• Ordre des instructions:


o Les ACL ont une politique de correspondance unique, quand une instruction
correspond, la suite de la liste n'est plus examinée.
o Veiller à ce que les déclarations au sommet de l'ACL n'annulent pas les
déclarations plus bas.
o Placer les ACL plus spécifiques en haut dans l'ACL et les déclarations plus
générales vers la fin.
Mise en garde des ACL
• Filtrage directionnels:
o Les ACL peuvent être appliquées aux paquets entrants (dans l'interface) ou
aux paquets sortants (de l'interface).
o Double-vérifier le sens des données que l'ACL filtre.

• Paquets spéciaux :
o Les paquets générés par le router, tels que les mises à jour de routage, ne
sont pas soumis aux déclarations ACL sortantes sur le routeur source.
o Si la sécurité nécessite le filtrage de ces types de paquets, les ACL entrantes
sur les routeurs adjacents doivent être utilisés, ou tout autre mécanisme de
filtrage.

• Modification des ACL:


o Les nouvelles entrées ajoutées à une ACL sont toujours ajoutées à la fin.
o Depuis l’IOS 12.3 les numéros de séquence peuvent être utilisés pour modifier
une ACL.
o L'ACL est traitée de haut en bas (par ordre croissant) sur la base des numéros
de séquence des déclarations.
Numero de sequence ACL
• Le comportement par défaut lors de l'ajout d'une déclaration à
une ACL est que l'instruction est ajoutée à la fin. Sans numéros de
séquence. Le seul moyen d'ajouter une déclaration entre les
entrées existantes était de supprimer l'ACL et de la recréer.
• De même, le seul moyen de supprimer une entrée était de
supprimer l'ensemble de la liste et de la recréer.
• Les numéros de séquence vous permettent de supprimer ou
d'ajouter sélectivement une déclaration dans une ACL existante,
à n'importe quel position de celle-ci.
• Cette fonctionnalité n'est pas disponible sur les anciennes listes
d'accès numérotées.
• N'oubliez pas qu’une liste d'accès nommée peut utiliser un
nombre comme nom.
• Les numéros de séquence eux-mêmes ne sont pas enregistrés.
Par conséquent, les numéros de séquence ne sont pas affichés
dans
show running-config ou show startup-config
• Pour afficher les numéros de séquence, utiliser
show ip access-lists access-list-name ou
show access-list.
• Par défaut les numéros de séquence démarrent à 10, et sont
incrémentés par 10 si aucun numéro n'est spécifié lors de l'ajout.
Modifier une ACL avec les
numeros de sequence
• Utiliser show pour afficher les numéros de séquence existants.
R1# show access-list 150
Extended IP acess list 150
10 permit tcp any any eq www
20 permit tcp any any eq telnet
30 permit tcp any any eq smtp
40 permit tcp any any eq pop3
50 permit tcp any any eq 21
60 permit tcp any any eq 20

• no sequence-number pour effacer une ligne.


R1(config)# ip access-list extended 150
R1(config-ext-nacl)# no 20

• sequence-number {permit | deny} pour ajouter une ligne.


R1(config)# ip access-list extended 150
R1(config-ext-nacl)# 20 permit tcp host 192.168.1.100 any eq telnet
L’emplacement des ACL
Inbound ACL Operation
Flow
Outbound ACL Operation
Flow
L’emplacement des ACL
• Standard ACL, placement:
o Sont placés le plus près possible de la destination.
o Filtrent les paquets en fonction de l'adresse d'origine uniquement, de sorte
que le placement de ces ACL trop près de la source puisse affecter les
paquets en refusant l'ensemble du trafic, y compris le trafic valide.

• Extended ACL, placement:


o Sont placés sur les routeurs au plus près possible de la source qui est filtrée.
o Placer ces ACL trop loin de la source est une utilisation inefficace des
ressources réseau parce que les paquets peuvent transiter un long chemin
uniquement pour être abandonnés ou refusés.
Ou placer une place une
ACL standard?
Ou placer une ACL
etendue?
ACLs complexes
TCP Sessions
• Dans un réseau moderne tout le trafic de l'extérieur doit débuter
à partir de l’entrée, sauf si:
o Il est expressément autorisé par une ACL.
o C’est un trafic de retour initié à partir de l'intérieur du réseau.

• De nombreuses applications communes reposent sur ​le


protocole TCP, lequel construit un circuit virtuel entre les deux
extrémités.
• Des solutions de filtrage de trafic relatives à la connectivité
double sens de TCP ont été introduites:

o TCP Established
o Reflexive ACL
TCP Established ACLs
• En 1995: la première génération de solution de filtrage du trafic
basé sur le mot-clé TCP established dans les ACL IP étendues.
o established bloque tout le trafic en provenance de l'Internet, sauf si c’est
un trafic de réponse TCP associé avec une session TCP initiée à partir du
réseau interne.

• established oblige le routeur à vérifier qu'une balise de contrôle


ACK ou RST est définie dans le segment.
o Si le drapeau ACK est défini, le trafic TCP est autorisé à entrer
o Dans le cas contraire il est présumé que le trafic est initié de l'extérieur

• established n'implémente pas un pare-feu stateful sur le routeur.


o Le paramètre established autorise les segments TCP qui ont le bon
drapeau de contrôle.
o Aucune information ‘stateful’ n’est maintenue pour garder trace du trafic
initié à partir du réseau interne, étant donné que le routeur ne garde aucune
trace des conversations pour déterminer si le trafic est le trafic de retour.
TCP Established ACLs

R1(config)# access-list 100 permit tcp any eq 443 192.168.1.0 0.0.0.255 established
R1(config)# access-list 100 deny ip any any
R1(config)# interface s0/0/0
R1(config-if)# ip access-group 100 in
Reflexive ACLs
• En 1996, les ACL réflexives ont été la solution de deuxième
génération pour le filtrage de session.
• Contrairement à la fonction ‘TCP established’ qui utilise les bits
ACK et RST, l’ACL réflexive filtre selon l’adresse source,
destination, et les numéros de port.
• En outre le filtrage de session utilise des filtres temporaires qui sont
supprimés lorsqu’une session est finie, ce qui rajoute une limite de
temps sur une opportunité d'attaque.
• Les administrateurs utilisent les ACL réflexives pour autoriser le
trafic IP des sessions internes tout en refusant celles provenant de
l'extérieur.
• Le routeur examine le trafic entrant et quand il voit une nouvelle
connexion il ajoute une entrée dans une ACL temporaire pour
permettre aux réponses de revenir.
o Ces entrées sont créées automatiquement lorsqu'une nouvelle session IP
commence, par exemple, avec un paquet sortant, et elles sont supprimées
automatiquement lorsque la session se termine.
Configurer une ACL Reflexive

• Etape 1.
o Créer une ACL interne qui cherche de nouvelles sessions sortantes
et crée les ACL réflexives temporaires.

• Etape 2.
o Créer une ACL externe qui utilise les ACL réflexives pour examiner le
trafic de retour.

• Etape 3.
o Activer les ACL nommées sur les interfaces appropriées.
Exemple :
• Créer une ACL réflexive qui correspond à :
o Des utilisateurs surfant sur le Web et
utilisant un DNS
o Une période d'expiration de 10
secondes

R1(config)# ip access-list extended INTERNAL_ACL


R1(config-ext-nacl)# permit tcp any any eq 80 reflect WEB-ONLY-REFLEXIVE-ACL
R1(config-ext-nacl)# permit udp any any eq 53 reflect DNS-ONLY-REFLEXIVE-ACL timeout
10

R1(config)# ip access-list extended EXTERNAL_ACL


R1(config-ext-nacl)# evaluate WEB-ONLY-REFLEXIVE-ACL
R1(config-ext-nacl)# evaluate DNS-ONLY-REFLEXIVE-ACL
R1(config-ext-nacl)# deny ip any any

R1(config)# interface s0/0/0


R1(config-if)# ip access-group INTERNAL_ACL out
R1(config-if)# ip access-group EXTERNAL_ACL in
ACLs Dynamiques
• Les ACL dynamiques sont aussi appelées ACL lock-and-key.
• Elles authentifient l'utilisateur et permettent un accès limité
à travers votre routeur pare-feu pour un hôte ou un LAN
dans une période limitée.
• Elles dependent de:
o La connectivité Telnet
o L’authentification (locale ou distante)
o Les ACL étendues
Implementer une ACL Dynamique
• Une ACL étendue est appliquée pour bloquer tout le trafic à travers le routeur,
sauf Telnet.
o Les utilisateurs qui veulent traverser le routeur sont bloqués par l'ACL jusqu'à
ce qu'ils utilisent Telnet pour se connecter au routeur et s’authentifient.

• Les utilisateurs s'authentifient à l'aide de Telnet, puis se déconnectent.


o Une seule entrée dynamique est ajoutée à l’ACL étendue existante.
o Cela permet la circulation pour une période donnée; des délais d'inactivité
et absolus sont possibles.

• Lorsque vous voulez qu’un utilisateur distant, ou un groupe, accède via


internet à un hôte au sein de votre LAN.
• Lorsque vous voulez qu’un sous-ensemble d’hôtes d’un LAN accèdent à
un hôte sur un réseau distant protégé par un pare-feu.
Configurer une ACLs Dynamic
Exemple

R3(config)# username Student password cisco


R3(config)# access-list 101 permit tcp any host 10.2.2.2 eq telnet
R3(config)# access-list 101 dynamic TESTLIST timeout 15 permit ip
192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255
R3(config)# interface s0/0/1
R3(config-if)# ip access-group 101 in
R3(config)# line vty 0 4
R3(config-line)# login local
R3(config-line)# autocommand access-enable host timeout 15
ACL basée sur le temps
• Permettent un contrôle d'accès basé sur le temps.
ACL basée sur le temps
• Mise en oeuvre:
o Créer un intervalle de temps qui définit des moments précis de la journée et
de la semaine.
o Identifier l'intervalle de temps avec un nom, puis reportez-vous à cela dans
une fonction.
o Les contraintes de temps sont imposées par la fonction elle-même.
Exemple
• Les utilisateurs ne sont pas autorisés à accéder à Internet
pendant les heures ouvrables, sauf pendant le déjeuner
et
entre 17h et 19h

R1(config)# time-range EMPLOYEE-TIME


R1(config-time-range)# periodic weekdays 12:00 to 13:00
R1(config-time-range)# periodic weekdays 17:00 to 19:00
R1(config)# access-list 100 permit ip 192.168.1.0 0.0.0.255 any time-range
EMPLOYEE-TIME
R1(config)# access-list 100 deny ip any any
R1(config)# interface FastEthernet 0/1
R1(config-if)# ip access-group 100 in
Depannage des ACLs
Commandes
• Deux commandes sont très utiles pour le dépannage :
o show access-lists
o debug ip packet (detail)
show access-lists
debug ip packet
Atténuer les attaques avec
les ACLs
Atténuer les attaques avec les
ACLs
• ACL peuvent être utilisées pour atténuer les nombreuses
menaces réseau:
o L'usurpation d'adresse IP, entrant et sortant (spoofing)
o Attaque DoS TCP SYN
o Attaque DoS smurf

• Les ACL peuvent également filtrer le trafic suivant:


o Les messages ICMP, entrant et sortant
o Traceroute
Ne pas autoriser l'usurpation
d'adresse
• Refuser tous les paquets IP contenant
les adresses sources IP suivantes:

o Toutes les “local host” (127.0.0.0/8)


o Les adresses privées (RFC 1918)
o Les adresses multicast (224.0.0.0/4)

Inbound on S0/0/0

R1(config)# access-list 150 deny ip 0.0.0.0 0.255.255.255 any


R1(config)# access-list 150 deny ip 10.0.0.0 0.255.255.255 any
R1(config)# access-list 150 deny ip 127.0.0.0 0.255.255.255 any
R1(config)# access-list 150 deny ip 172.16.0.0 0.15.255.255 any
R1(config)# access-list 150 deny ip 192.168.0.0 0.0.255.255 any
R1(config)# access-list 150 deny ip 224.0.0.0 15.255.255.255 any
R1(config)# access-list 150 deny ip host 255.255.255.255 any
Ne pas autoriser l'usurpation
d'adresse
• Ne pas permettre des paquets sortants avec
une IP source autre qu'une adresse IP valide
du réseau interne.
o Créer une ACL qui autorise uniquement les
paquets qui contiennent des adresses source
du LAN, et refuse tous les autres.

Inbound on Fa0/1
R1(config)# access-list 105 permit ip 192.168.1.0 0.0.0.255 any
Protéger DNS, SMTP, et FTP
• DNS, SMTP et FTP sont des services communs qui doivent souvent être autorisés à travers un
pare-feu.

Outbound on Fa0/0

R1(config)# access-list 180 permit udp any host 192.168.20.2 eq domain


R1(config)# access-list 180 permit tcp any host 192.168.20.2 eq smtp
R1(config)# access-list 180 permit tcp any host 192.168.20.2 eq ftp
R1(config)# access-list 180 permit tcp host 200.5.5.5 host 192.168.20.2 eq telnet
R1(config)# access-list 180 permit tcp host 200.5.5.5 host 192.168.20.2 eq 22
R1(config)# access-list 180 permit udp host 200.5.5.5 host 192.168.20.2 eq syslog
R1(config)# access-list 180 permit udp host 200.5.5.5 host 192.168.20.2 eq snmptrap
Filtrer les messages ICMP
• Les pirates utilisent des paquets ICMP pour les balayages pings et
les attaques d’inondation DoS, et utilisent les messages ‘ICMP
redirect’ pour modifier les tables de routage hôte.
o Les messages ICMP ‘echo’ et ‘redirect’ devraient être bloqués en entrant sur
le routeur.
Filtrer les messages ICMP
• Certains messages ICMP entrants sont nécessaires au bon
fonctionnement du réseau:
o Echo reply - Permet aux pc internes de « pinger » les hôtes externes.
o Source quench - Demande à l'expéditeur de réduire la vitesse de trafic.
o Unreachable - Sont générés pour les paquets qui sont administrativement
refusés par une ACL.

Inbound on S0/0/0
R1(config)# access-list 150 permit icmp any any echo-reply
R1(config)# access-list 150 permit icmp any any source-quench
R1(config)# access-list 150 permit icmp any any unreachable
R1(config)# access-list 150 deny icmp any any
R1(config)# access-list 150 permit ip any any
Filtrer les messages ICMP
• Certains messages ICMP sortants sont nécessaires au bon
fonctionnement du réseau:
o Echo - Permet aux utilisateurs de « pinger » des hôtes externes.
o Parameter problem - Informe l'hôte de problèmes d'en-tête de paquet.
o Packet too big - Requis pour la découverte du MTU des paquets.
o Source quench - Réduit la vitesse de trafic.

Inbound on Fa0/0
R1(config)# access-list 105 permit icmp 192.168.1.0 0.0.0.255 any echo
R1(config)# access-list 105 permit icmp 192.168.1.0 0.0.0.255 any parameter-problem
R1(config)# access-list 105 permit icmp 192.168.1.0 0.0.0.255 any packet-too-big
R1(config)# access-list 105 permit icmp 192.168.1.0 0.0.0.255 any source-quench
R1(config)# access-list 105 deny icmp any any
R1(config)# access-list 105 permit ip any any
Groupes d’objets
Utiliser les Groupes d’objets
dans les ACLs
• Les groupes d'objets sont utilisés pour classer les utilisateurs, les
dispositifs ou les protocoles en groupes.
• Ces groupes peuvent ensuite être utilisés pour créer des
politiques de contrôle d'accès pour des groupes d'objets dans un
format à utiliser.
• Les ACL IPv4 et IPv6 peuvent utiliser des groupes d'objets.
Pourquoi utiliser les Groupes
d’objets
• Dans cette topologie il y a 3 serveurs, chacun nécessitant un
accès outside to inside, pour 3 protocoles.

• Sans groupes d'objets, nous devons configurer un ‘Permit’ pour


chaque serveur et chaque protocole:

• Mais si d'autres serveurs ou protocoles sont


ajoutés il faudra modifier l'ACL!

R1(config)# ip access-list extended In


R1(config-ext-nacl)# permit tcp any host 10.10.10.1 eq smtp
R1(config-ext-nacl)# permit tcp any host 10.10.10.1 eq www
R1(config-ext-nacl)# permit tcp any host 10.10.10.1 eq https
R1(config-ext-nacl)# permit tcp any host 10.10.10.2 eq smtp
R1(config-ext-nacl)# permit tcp any host 10.10.10.2 eq www
R1(config-ext-nacl)# permit tcp any host 10.10.10.2 eq https
R1(config-ext-nacl)# permit tcp any host 10.10.10.3 eq smtp
R1(config-ext-nacl)# permit tcp any host 10.10.10.3 eq www
R1(config-ext-nacl)# permit tcp any host 10.10.10.3 eq https
Exemple
• Pour la même topologie en utilisant les objets:
D'abord créer un groupe d’objet de type service, nommé ‘Web-svcs’:
R1(config)# object-group service Web-svcs tcp
R1(config-service-group)# tcp smtp
R1(config-service-group)# tcp www
R1(config-service-group)# tcp https

• Ensuite, un groupe d’objets réseau, pour les serveurs:


o Cet exemple utilise le mot range, vous pouvez aussi utiliser le mot host ou
définir un sous-réseau.

R1(config)# object-group network Webservers


R1(config-network-group)# range 10.10.10.1 10.10.10.3

• Enfin, créer la liste d'accès:


R1(config)# ip access-list extended In
R1(config-ext-nacl)# access-list In permit tcp any object-group Webservers
object-group Web-svcs

• Quand un nouveau serveur ou service est ajouté, il suffit d'éditer le groupe ... vous
n'avez pas à toucher l'ACL!
Securiser les reseaux avec les
pare-feu
Firewall
• Un pare-feu empêche le trafic indésirable de pénétrer dans des zones
prescrites d’un réseau.
• Un pare-feu est un système ou groupe de systèmes qui applique une
politique de contrôle d'accès entre les réseaux.
• Exemple:
– Un routeur de filtrage de paquets
– Un commutateur à deux VLAN
– Hôtes avec un logiciel de pare-feu

• En 1989, AT&T Bell Labs. a développé le premier firewall ‘stateful’.


o Un pare-feu stateful (dynamique) est en mesure de déterminer si un
paquet appartient à un flux existant de données.
Firewall
Filtrage de paquets avec etat et sans etat

• Au milieu des années 1990, les filtres de paquets et les serveurs proxy ont été
deux technologies utilisées pour construire des systèmes de pare-feu. Quand le
nombre de demandes a augmenté, les fournisseurs de proxy et de filtre de
paquets ne pouvaient pas soutenir la nature dynamique des nombreuses
applications modernes.

• Contrairement au filtrage de paquet statique, qui examine les informations


contenues dans l'en-tête d’un paquet, la ‘stateful inspection’ suit chaque
connexion et peut examiner non seulement le header mais aussi le contenu du
paquet, jusqu’à la couche application.

• Le filtre stateful se souvient de certains détails de connexion, c’est ce que l’on


appelle “saving the state.”

• A chaque connexion TCP ou UDP établie, l’information d’état est sauvegardée


dans la ‘stateful session table’.
Filtrage de paquets avec etat et sans etat

• Le filtrage dynamique des paquets est efficace pour ces raisons:

o Fonctionne sur les paquets et les connexions.


o Fonctionne à un niveau de performance plus élevé que le filtrage de
paquets ou un serveur proxy.
o Enregistre les données pour chaque connexion ou transaction sans
connexion dans un tableau dynamique de flux de sessions.
o Ce tableau sert de point de référence pour déterminer si les paquets
appartiennent à une connexion existante ou proviennent d'une source
non autorisée
Filtrage de paquets avec etat et sans etat

• Filtrage de paquet sans état (Stateless):


o Les ACL filtrent via les IP source et destination, les ports TCP/UDP, les Flags TCP
et les Types/Codes ICMP.

• Filtrage avec état (Stateful):


o Se souvient de certains détails, ou, de l'état de la demande (session).
o Maintient un registre de toutes les connexions qui passent par le pare-feu, et
est en mesure de déterminer si un paquet est le début d'une nouvelle
connexion ou une partie d'une connexion existante.
o Surveille l'état des connexions: la connexion est une initiation, un transfert, ou
en état de résiliation.

• Note:
o Un filtrage par paquets peut en général filtrer jusqu'à la couche transport,
tandis qu'un stateful peut filtrer plus haut que la couche de session.
Pare-feu à filtrage de paquets

• Un pare-feu ‘par paquet’ fait généralement partie d'un routeur et utilise


principalement des ACL.
o Il examine les informations contenues dans l’en-tête d’un paquet.

• Il utilise une simple consultation de table de règles qui autorise ou refuse le


trafic en fonction de critères spécifiques:

o Source IP address
o Destination IP address
o Protocol
o Source port number
o Destination port number
o Synchronize/start (SYN) packets
Types de Firewalls

• Packet-filtering
firewall

• Stateful firewall
Firewalls avec état
• Ces pare-feu sont les technologies les plus polyvalentes et les plus utilisées.

• Le filtrage Stateful traque chaque connexion sur toutes les interfaces du firewall et
confirme leur validité
o Le pare-feu examine les headers de couche 3 et 4.

• Aussi appellés “stateful packet filters” et “application-aware packet filters.”

• Ils ont deux principales améliorations par rapport aux filtres de paquets :
o Ils maintiennent une table de session (table d'état) où ils suivent toutes les
connexions.
o Ils reconnaissent les applications dynamiques et savent quelles connexions
supplémentaires seront engagées entre les deux extrémités.

• Ils inspectent chaque paquet, comparent le paquet et ​la table d’état, ils peuvent
examiner le paquet pour toute négociation de protocole.

• Les Firewall Stateful opèrent principalement à la couche 4 (TCP/UDP).


Gestion TCP des Firewalls Cisco IOS

Dynamic session entry is


created
Cant track the sequence
numbers and flags !
Autre types de Firewalls
• Application gateway firewall (proxy):
o Filtres au couches OSI 3, 4, 5 et 7.
o Le contrôle et le filtrage est effectué
dans le logiciel.

• Address-translation firewall:
o Augmente le nombre d'adresses IP
disponibles et cache la conception
réseau.
Autre types de Firewalls
• Host-based (server and pc):
o Un PC ou un serveur avec un logiciel de pare-feu.

• Transparent:
o Un pare-feu qui filtre le trafic IP entre une paire d'interfaces pontées.

• Hybrid:
o Un pare-feu qui est une combinaison de différents types de pare-feu.
o Par exemple, un pare-feu ‘application’ combine un pare-feu ‘stateful’ avec
un pare-feu ‘proxy’.
Conception des Firewall
Conception simple des Firewall

• Les conceptions de pare-feu peuvent être aussi simples que


d'avoir un réseau intérieur et un extérieur, utilisant deux
interfaces.

o Le réseau interne (privé) est approuvé (trusted).


• La trafic depuis l'intérieur est généralement autorisé à franchir le pare-feu
vers l'extérieur avec peu ou pas de restrictions.
• Le trafic revenant de l'extérieur qui est associé à du trafic provenant de
l'intérieur est autorisé à traverser depuis l'interface ‘untrust’ vers l’interface
‘trust’.

o Le réseau externe (public) n'est pas approuvé (untrusted).


• Le trafic provenant de l'extérieur est généralement entièrement bloqué
ou autorisé de manière très sélective.
Conception moderne des Firewall

• La conception comporte trois interfaces minimum:

o Un réseau intérieur (inside)


• Le trafic vers l'extérieur est librement autorisé.
• Le trafic de la DMZ est librement autorisé.

o Un réseau extérieur (outside)


• Le trafic provenant de l'extérieur est généralement entièrement bloqué
sauf s'il est associé à du trafic provenant de l'intérieur ou de la DMZ.

o Un réseau démilitarisé (DMZ)


• Le trafic en provenance de l'extérieur devrait être très spécifique tel que,
messagerie, DNS, HTTP ou HTTPS.
• Le trafic vers l'extérieur est librement autorisé.
Modern Firewall Design
Fonctionnalités des Firewalls Cisco IOS

• NAT
• Standard and extended ACLs
• Cisco IOS Firewall
• Cisco IOS IPS
• IPsec network security
• TCP intercept
• Authentication proxy
• User authentication and authorization
• Event logging
Idées fausses
• “Un pare-feu est tout ce qu’il me faut pour garantir qu’un réseau
interne soit sûr!”

• C'est utile, mais ce n'est pas «tout ce qui est nécessaire"!


o Un nombre important d'intrusions, tels que des virus, proviennent d'hôtes au
sein du réseau.
o Les pare-feu ne protègent pas contre les installations de modem voyous.
o Les pare-feu ne remplacent pas les mécanismes de sauvegarde et de reprise
après sinistre résultant d'une défaillance matérielle ou d’une attaque.
o Un pare-feu n'est pas un substitut aux administrateurs et utilisateurs avertis.
Defense In-Depth
Defense In-Depth
Sécurité des terminaux (Endpoint):
• Conformité de l'appareil aux politiques
de sécurité et d'identité.

Sécurité des communications:


• Fournit une assurance de l'information
Network
Core
Périmètre de sécurité:
• Sécurise les limites entre les zones.

Noyau sécurité réseau:


• Protège contre les logiciels voyous et
les anomalies du trafic, applique les
politiques du réseaux, et assure la
pérennité.

Reprise après sinistre (disaster recovery):


• Réalisé avec le stockage hors site et une
architecture redondante.
ISR Routers
• Un routeur Cisco exécutant un IOS Firewall est à la fois un routeur et un
pare-feu.
• S'il y a deux pare-feu, une option de conception est de les joindre avec
un LAN comme fonctionnant une DMZ.
• Il fournit également aux hôtes du réseau non
sécurisé (publique), l'accès aux ressources
redondantes DMZ.
Zone-Based
Policy Firewall
Zone-based Policy Firewall
Parefeu a strategie basée sur les zones
• Le Modèle de pare-feu basé sur des zones (ZPF ou ZBF ou ZFW) a
été introduit en 2006 avec l’IOS version 12.4 (6) T.
• Avec ZPF les interfaces sont affectées à des zones et une politique
d'inspection est appliquée au trafic circulant entre les zones.
o La politique par défaut est de bloquer tout le trafic, sauf autorisation explicite
(CBAC par défaut permettait tout).
o Cela prend en charge des fonctionnalités des pare-feu précédents, y compris SPI,
l'inspection des applications, filtrage d’'URL, et atténuation DoS.

– L’attitude de sécurité du routeur est de bloquer, sauf autorisation explicite.


– Les politiques sont faciles à lire et à dépanner avec C3PL
(Cisco Common Classification Policy Language).
– Une politique affecte tout trafic donné, au lieu d'avoir plusieurs ACL et
actions d'inspection.
Topologie de Base ZPF

• Si une nouvelle interface est ajoutée à la zone privée, les


hôtes sur la nouvelle interface peuvent faire passer le
trafic à tous les hôtes de l'espace privé.
• La nouvelle interface hérite également de toutes les
politiques existantes de la zone privée lors du passage du
trafic vers d'autres zones
CBAC ou ZPF?
• CABAC et ZPF peuvent être activés simultanément sur un routeur,
mais pas sur la même interface.
• Par exemple: une interface ne peut pas être configurée comme
un membre de la zone de sécurité, et en même temps
configurée pour l'inspection IP .
3 Actions de ZPF
• Inspect
o Configure Cisco IOS IPS (équivalent à la commande IP inspect).
o Permet automatiquement le trafic de retour et les messages ICMP.
o Pour les protocoles nécessitant de multiples signalisations parallèles et des
sessions de données (par exemple, FTP ou H.323), l'action inspect s'occupe
également de l'établissement correcte des sessions de données.

• Pass
o Analogue à une instruction Permit dans une ACL.
o Ne surveille pas l'état des connexions ou des séances dans le trafic.
o Pass permet le passage du trafic dans une seule direction.
o Une politique correspondante doit être appliquée afin de permettre au trafic
de retour de passer dans la direction opposée.

• Drop
o Analogue à une instruction Deny dans une ACL.
o Une option de journalisation est disponible pour consigner les paquets rejetés.
Les règles ZPF
• On peut affecter une interface à une seule zone de sécurité.
• Si le trafic doit circuler entre des interfaces, chacune doit être membre
d'une zone.
• Par défaut le trafic est implicitement autorisé entre les interfaces d’une
même zone.
• Pour autoriser le trafic vers, et à partir, d'une interface de zone, une
politique permettant ou inspectant le trafic doit exister entre cette zone
et une autre.
• Le trafic peut ne pas circuler entre une interface membre de zone et
une interface qui n'est pas un membre de zone.
• On peut appliquer pass, inspect et drop uniquement entre deux zones.
• Les interfaces qui ne sont pas dans une zone peuvent utiliser CBAC
(stateful packet inspection).
• Si une interface ne doit pas être sujette à la politique du pare-feu, il peut
être nécessaire de la placer dans une zone et de configurer une règle
‘tout passe’ (dummy).
Self Zone
• Les règles ZPF sont différentes lorsque le routeur est la source ou
la destination du trafic.

o Lorsqu'une interface est configurée dans une zone, les ordinateurs qui sont
connectés à l'interface sont inclus dans la zone.
o Cependant, le trafic vers le routeur n'est pas assujetti aux politiques de la
zone.
o Par défaut toutes les interfaces IP du routeur font partie de leur propre zone
(self-zone).

• Une ‘zone-pair’, qui comprend la self-zone et sa politique


associée, s'applique au trafic généré ou destiné, au routeur.
o Cela ne s'applique pas au trafic traversant le routeur.

• Une politique peut être définie en utilisant la self-zone comme la


zone source ou destination.
o La self zone est définie par le système.
o Elle ne nécessite aucune interface configurée comme membre.
Configurer un parefeu ZPF
1. Créer des zones pour le pare-feu.
o zone security

2. Définir les classes de trafic.


- class-map type inspect

3. Spécifier les stratégies de pare-feu.


- policy-map type inspect

4. Appliquer les politiques de pare-feu pour joindre des zones


de source et de destination.
- zone-pair

5. Attribuer les interfaces du routeur aux zones.


- zone-member security
Configuration finale de ZPF
zone security Inside
description Inside network 1. Create the Zones
zone security Outside
description Outside network
!
class-map type inspect FOREXAMPLE
match access-group 101
match protocol tcp
match protocol udp 2. Define the Traffic Classes
match protocol icmp

access-list 101 permit ip 10.0.0.0 0.0.0.255 any

policy-map type inspect InsideToOutside 3. Specify Firewall Policies


class FOREXAMPLE
inspect
!
zone-pair security InsideToOutside source Inside destination Outside
service-policy type inspect InsideToOutside
!
interface FastEthernet0/0
zone-member security Inside 4. Apply Firewall Policies
!
interface Serial0/0/0.100 point-to-point
zone-member security Outside
5. Assign Interfaces to Zones

Vous aimerez peut-être aussi