ACL : notions avancées Le principe des ACL a été expliqué au chapitre précédent Ces ACL de base présentent des limitations qui peuvent être résolues par.

Slides:



Advertisements
Présentations similaires
Sécurité informatique
Advertisements

11 - Composants dun routeur. Sommaire 1)Sources de configuration externes 1)Composants de configuration internes et commandes détat associées.
Installer un serveur FTP
12 - Configuration d’un routeur
Page d accueil.
Protection du réseau périphérique avec ISA 2004
Liste de contrôle d’accès
Protocole PPP* *Point-to-Point Protocol.
- ACL * Access Control List. Sommaire 1)Théorie 1)ACL standard 1)ACL étendue 1)ACL nommée 1)Mise en place et vérification des ACLs.
– NAT et PAT.
14 - Adresse IP et interfaces. Plan détude 1)Adresse IP dune interface 1)Résolution de nom vers IP statique 1)Service DNS 1)Spécification des interfaces.
- Couche 4 - Couche transport. Sommaire 1) Caractéristiques de la couche transport 2) Les protocoles TCP & UDP 3) Méthode de connexion TCP.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Firewall sous Linux Netfilter / iptables.
DUDIN Aymeric MARINO Andrès
Vue d'ensemble Implémentation de la sécurité IPSec
Firewalling et NAT sous LINUX
Réseaux Privés Virtuels
4.La connexion de données 4-1.Présentation 4-2.Le mode actif 4-3.Le mode passif 4-4.Les commandes.
Sommaire: 1- Intro/ la raison d'être du FTP/petit historique
Plan de formation Chapitre 1 : Présentation de SAP
Cours Présenté par …………..
Configuration NAT Router Firewall RE16.
Sécurité Informatique
SECURITE DU SYSTEME D’INFORMATION (SSI)
Module 1 : Préparation de l'administration d'un serveur
Scanning.
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Analyse des protocoles de la couche application
Configuration de base Cette section montre les opérations de base à réaliser pour mettre en fonction un routeur cisco, selon une configuration minimale.
IDS : Intrusion Detection System
Virtual Local Area Network
Le protocole FTP.
Introduction RADIUS (Remote Authentication Dial-In User Service)
Les relations clients - serveurs
802.1x Audric PODMILSAK 13 janvier 2009.
Le Modele OSI.
RE161 IDS : Intrusion Detection System Le trafic habituel qui entre dans votre réseau sert à : Résoudre des requêtes DNS Accéder à des pages web La messagerie.
ACL : à quoi cela sert-il ?
Répartition des adresses IP
Gérer la sécurité des mots de passe et les ressources
Les Access-lists sur routeurs Cisco
LES ACL ◦ Messaoudi Othmane Travail réalisé par : ◦ Ben Salah Amine
Avertissement Certaines parties de ce cours sont construites à partir d’informations relatives aux routeurs de la marque cisco Les notions manipulées sont.
Introduction La technique des VLANs (Virtual Local Area Network) permet de donner au réseau l’architecture logique souhaitée par l’administrateur, en le.
Les listes de contrôle d’accès
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Institut Supérieur d’Informatique
Advisor Advanced IP Présentation Télémaintenance Télésurveillance.
Répartition des adresses IP
Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE DEUST AMMILoR.
Introduction aux lignes de commandes
Exemples de paramètrage ACL VLAN niveau 3
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
PLAN Correction du RUSH 3
Création d’un domaine Il faut :
Les Réseaux Informatiques
Mise en place de translation d’adresses NAT/PAT
-7- Notions de Routage.
1 Windows 2003 Server Stratégie des comptes. 2 Windows 2003 Server Il faut tenir compte de ces 3 paramètres.
Fonctionnalité et protocole des couches applicatives
Architecture Client/Serveur
Proxy filtrant pour GSB
Formation Cisco Partie 2 – IOS.
Afnog 2009 Liste de contrôle d’accès Jean Robert HOUNTOMEY
Configuration NAT Dynamique
Configuration NAT Statique Lyon1 FAI S0/0 E0/0 Station A Station B S0/0 Lo0 Objectif Le but est de configurer la traduction NAT (Network Address Translation)
Chapitre 8 Protection du trafic réseau à l'aide de la sécurité IPSec et de certificats Module S43.
Sécurité - Configuration de
Sécurité - Configuration de
Transcription de la présentation:

ACL : notions avancées Le principe des ACL a été expliqué au chapitre précédent Ces ACL de base présentent des limitations qui peuvent être résolues par l’utilisation des : ACL dynamiques ACL « réflexives » ACL à caractère temporel turbo ACL ACL dépendantes du contexte : le CBAC RE16

Commenter une ACL Alors que nous allons sérieusement compliquer l’écriture et le rôle des ACL, il est utile de de les commenter dans la configuration du routeur ou du firewall Un commentaire d’ACL sera visible dans la configuration, mais il sera aussi affiché par la commande show access-lists Une remarque d’ACL est donc différente d’un commentaire introduit par ! Miami(config)# access-list 102 remark Allow traffic to file server Miami(config)# access-list 102 permit ip any host 128.88.1.6 RE16

Méthode de travail Il est important de respecter les conseils suivants : il faut d’abord bien réfléchir à ce que l’on veut autoriser et interdire ce travail doit se faire avant de faire quoi que ce soit sur les routeurs il faut s’arranger pour pouvoir « copier/coller » les ACLs ne pas hésiter à stocker des ACLs dans des fichiers texte pour faire une sorte de « librairie » d’ACLs si possible, tester les ACLs hors ligne avant de les installer sur le réseau exploité RE16

ACL dynamique Une ACL dynamique permet de résoudre le problème de l’authentification Les ACL classiques utilisent l’adresse IP pour déterminer quelle machine communique, mais il n’y a pas de vérification de l’identité de l’utilisateur lui-même Il est souvent utile de demander à l’utilisateur de s’identifier : nom d’utilisatreur mot de passe Il faut alors utiliser une ACL dynamique RE16

ACL dynamique Il faut les utiliser quand : on veut qu’un utilisateur particulier distant (ou un petit groupe) puisse accéder à certaines ressources du réseau, à travers Internet on veut qu’un groupe d’hôtes du réseau local puisse accéder à un hôte d’un autre réseau protégé par un firewall Il est possible de limiter la durée de l’autorisation de connexion RE16

ACL dynamique Un utilisateur sollicite une session telnet sur le firewall configuré avec une ACL dynamique (ligne vty) L’IOS Cisco ouvre une session telnet et demande son nom et son mot de passe à l’utilisateur L’authentification peut être assurée par le firewall lui-même ou par un serveur TACACS+ ou RADIUS Quand l’utilisateur est indentifié, le firewall met fin à la session telnet Il crée ensuite une entrée temporaire dans l’ACL dynamique (cette instruction temporaire permet de limiter l’accès à certaines machines) Les données sont échangées à travers le firewall L’IOS détruit l’entrée temporaire au bout d’un certain temps paramétrable (soit en mesurant une durée d’inactivité, soit en mesurant le temps de connexion) RE16

ACL dynamique ACL dynamique car elle n’apparaît que sur sollicitation de l’utilisateur, et après authentification de celui-ci Je m’identifie en faisant un telnet Je laisse passer seulement si il s’identifie ! RE16

Exemple avec authentification locale au routeur ACL dynamique Exemple avec authentification locale au routeur définition de l’utilisateur et de son mot de passe username toto password tutu interface ethernet0  ip address 172.18.23.2 255.255.255.0  ip access-group 101 in access-list 101 permit tcp any host 172.18.23.2 eq telnet access-list 101 dynamic mytestlist timeout 120 permit ip any any line vty 0 login local autocommand access-enable timeout 5 autorisation du telnet sur l’@IP de l’interface du routeur entrée dynamique qui autorise tout le trafic IP définition d’une ligne vty commande d’activation de la partie dynamique de l’ACL : elle sera ajoutée après un telnet authentifié elle restera dans l’ACL pendant 5 minutes l’authentification se fera en local RE16

ACL dynamique L’entrée dynamique ne peut pas être la seule entrée de l’ACL L’instruction ajoutée dans une liste dynamique l’est toujours au début de la liste Il ne faut qu’une instruction dynamique par ACL (seule la première sera prise en compte) Utiliser un nom différent pour chaque instruction dynamique Il faut autoriser le telnet sur le routeur pour que tout cela puisse marcher Il faut toujours définir un temps de connexion maximum RE16

ACL dynamique Utilise un mécanisme d’authentification des utilisateurs (et pas seulement des hôtes) Permet de réduire la taille des ACL classiques en réduisant le nombre des instructions nécessaires Avec cette technique, on peut spécifier quel utilisateur peut accéder à des ressources (définies en @IP et n° de port), en spécifiant depuis quels hôtes il a le droit de le faire On peut ainsi donner un accès dynamique à un utilisateur à travers un firewall, sans compromettre les autres restrictions de sécurité RE16

Proxy d’authentification Les ACLs dynamiques obligent l’utilisateur à initier une session telnet Le proxy d’authentification permet d’obtenir à peu près le même fonctionnement, mais en passant par un navigateur Internet Il peut être utilisé depuis l’intérieur du réseau comme depuis l’extérieur RE16

Proxy d’authentification Les utilisateurs qui sont bloqués par une ACL peuvent (si le routeur est configuré en ce sens) utiliser un simple navigateur web pour s’identifier auprès du serveur TACACS+ ou RADIUS Ils doivent se connecter au serveur HTTP résidant dans le routeur prévu à cet effet Ce serveur HTTP remplace le serveur telnet comme intermédiaire entre l’utilisateur et le serveur TACACS+ ou RADIUS Après authentification, le serveur donnera au routeur l’instruction qu’il doit ajouter en tête d’ACL pour permettre à l’utilisateur de rentrer sur le réseau RE16

Proxy d’authentification Les différences entre les ACL dynamiques et le proxy d’authentification sont : l’ACL dynamique est activée par une connexion telnet sur le routeur, alors que le proxy d’authentification est activé par HTTP sur le routeur le proxy d’authentification ne supporte pas l’authentification locale (nécessité d’un serveur TACACS+ ou RADIUS) contrairement aux ACLs dynamiques, le serveur d’authentification peut ajouter plusieurs instruction à l’ACL le serveur d’authentification n’a qu’une temporisation absolue, et pas de temporisation d’inactivité RE16

ACL réflexive Permet de filtrer les paquets IP en fonction des informations de session (qui a commencé ?) des couches supérieures On peut ainsi autoriser un certain trafic, seulement si il a été initié depuis l’intérieur du réseau On pouvait déjà obtenir ce fonctionnement avec des ACL étendues, en utilisant l’option established, mais cette option ne vaut que pour TCP (UDP est en effet un protocole non connecté) Les ACL réflexives permettent de faire ce type de filtrage avec TCP, mais aussi UDP et ICMP RE16

ACL étendue : rappel Quand on utilise un numéro de port pour filtrer, il faut savoir que seul le port destination est filtré Si je mets une ACL pour interdire à host d’envoyer des requêtes HTTP, le serveur ne verra jamais rien Si je mets une ACL qui filtre le trafic HTTP en entrée, alors host peut faire une requête, le serveur peut répondre, et cette réponse ne sera pas bloquée en entrée du routeur ! Le filtrage ne se fait que sur le port destination On peut n’autoriser le trafic HTTP que en réponse à une demande de host en utilisant : access-list 101 permit tcp any any eq http established Cette technique utilise les bits ACK et RST de l’en-tête TCP, et n’est donc pas valable pour UDP et ICMP RE16

ACL réflexive Les sessions TCP sont suivies grâce aux bits ACK, RST et FIN des en-têtes TCP La fin de la session TCP est repérée de la façon suivante : quand le bit FIN de l’en-tête TCP est placé à 1, le routeur devine que la session va se terminer, il attend 5 secondes pour laisser le temps à l’hôte et au serveur de terminer leur session, puis il bloque le trafic quand le bit RST est mis à 1, le routeur détecte une interruption abrupte de session et bloque immédiatement le trafic par défaut au bout d’un certain temps (paramétrable) d’inactivité pour cette session RE16

ACL réflexive Les sessions UDP sont suivies par les couples @IP source/destination n° port source/destination La fin de la session ne peut être détectée que par défaut au bout d’un certain temps d’inactivité RE16

ACL réflexive Il y a deux restrictions à l’utilisation des ACL réflexives : elles doivent être utilisées uniquement avec les ACLs étendues (cela ne marche pas avec les standards qui ne portent pas mention des n° de port) cette technique ne fonctionne pas avec les applications qui changent de numéro de port en cours de session (par exemple FTP en mode actif) RE16

Le mode actif est donc incompatible avec les ACLs réflexives FTP : rappel Le mode par défaut de FTP est le mode actif En mode actif : le client ouvre une connexion de contrôle sur le port 21 du serveur quand le client demande des données le serveur utilise son port 20 pour lui envoyer En mode passif : le serveur lui indique un numéro de port pour le transfert des données quand le client demande des données, il sollicite une connexion sur le port que le serveur lui a indiqué Le mode actif est donc incompatible avec les ACLs réflexives RE16

ACL réflexive : exemple 1 S1 interface Serial 1  description Acces à Internet  ip access-group inboundfilters in  ip access-group outboundfilters out ! ip reflexive-list timeout 120 ip access-list extended outboundfilters  permit tcp any any reflect tcptraffic ip access-list extended inboundfilters  permit bgp any any  permit eigrp any any  deny icmp any any  evaluate tcptraffic côté réseau local côté réseau d’interconnexion utilisation d’ACL nommées sessions considérées comme inactives et par conséquent interdites au bout de 120 secondes définition de l’ACL nommée outboudfilters, elle ne contient qu’une instruction : autoriser tout le trafic IP, mais en pistant au passage les sessions sous le nom tcptrafic définition de l’ACL nommée inboundfilters : on autorise tout le trafic BGP on autorise tout le trafic EIGRP on interdit tout trafic ICMP tout le reste est évalué selon la règle tcptrafic RE16

ACL réflexive : exemple 1 S1 interface Serial 1  description Acces à Internet  ip access-group inboundfilters in  ip access-group outboundfilters out ! ip reflexive-list timeout 120 ip access-list extended outboundfilters  permit tcp any any reflect tcptraffic ip access-list extended inboundfilters  permit bgp any any  permit eigrp any any  deny icmp any any  evaluate tcptraffic côté réseau local côté réseau d’interconnexion remarque : on peut intercaler des instructions classiques (non réflexives), elles sont alors normalement évaluées. Ceci est utile quand on ne souhaite pas tout pister ! RE16

ACL réflexive : exemple 2 interface Ethernet 0  description Acces a notre reseau  ip access-group inboundfilters in  ip access-group outboundfilters out ! ip reflexive-list timeout 120 ip access-list extended outboundfilters  deny icmp any any  evaluate tcptraffic ip access-list extended inboundfilters  permit tcp any any reflect tcptraffic E0 S1 côté réseau local côté réseau d’interconnexion DMZ www smtp dns l’accès à la DMZ doit être possible à l’initiative l’extérieur : on ne peut pas mettre l’ACL réflexive sur S1 il faut la mettre sur E0 RE16

ACL à caractère temporel Ce genre d’ACL permet d’interdire certains trafics pendant certains périodes La référence de temps utilisée est l’horloge interne du routeur, il est dans ce cas intéressant d’utiliser le protocole NTP (Network Time Protocol ) pour bien synchroniser tous les équipements les connexions telnet sont autorisées les lundi, mercredi et vendredi de 8h à 17h RE16

Turbo ACL Quand une ACL contient un grand nombre d’instructions, cela peut gravement ralentir le fonctionnement du routeur les Turbo ACLs sont utilisables avec les IOS Cisco 12.1.5.T et sont disponibles uniquement sur les routeurs des séries 7200, 7500, et supérieures RE16

Context Based Acces Control : CBAC Les ACL étendues permettent de filtrer le trafic en sortie du réseau car seul le port destination est filtré. Le retour vers le client ne peut être filtré car le numéro de port utilisé est aléatoire un « faux retour » ne peut pas filtré Les ACL réflexives sont plus performantes que les ACL étendues car elles tiennent compte de l’information de session un « faux retour » sera bloqué en entrée, sauf si il arrive pendant une session ouverte Le CBAC est plus performant car il tient compte en plus d’informations protocolaires de niveau application RE16

CBAC Les limitations des ACL classiques sont : le filtrage ne se fait que sur les @IP et ports source et destination les ports ouverts le sont tout le temps Les limitations des ACL réflexives sont : elles ne fonctionnent pas avec les applications qui négocient les ports elles ne permettent pas de limiter le nombre de sessions autorisées simultanément elles ne tiennent pas compte des informations du protocole de niveau application RE16

CBAC Les paquets qui arrivent sur l’interface externe du firewall sont inspectés par les ACL classiques Seuls les paquets qui passent ce premier barrage sont inspectés par le CBAC CBAC interdit ou autorise uniquement le trafic TCP ou UDP spécifié Des tables d’état sont mises à jour grâce aux informations de session, pour chaque connexion active (ouverture, synchronisation, acquittements, relachement) Le filtrage se fait par l’ajout dynamique d’ACL ip inspect name inspection-name protocol [timeout seconds] RE16

CBAC Le CBAC est capable de reconnaître les commandes des protocoles d’applications sur les canaux de contrôle Le CBAC utilise les numéros de séquence de tous les segments TCP Utilisé pour protéger un serveur, le CBAC est aussi capable de reconnaître certaines attaques de niveau application comme le DoS. Dans ce cas, il peut : générer des messages d’alerte bloquer les paquets concernés RE16

CBAC : client sortant Le trafic autorisé en sortie (tout ou seulement certains protocoles) est inspecté pour : en extraire les informations de session et d’état du protocole de transport mais aussi du protocole d’application ajouter une ACL en entrée pour laisser entrer le trafic réponse Le trafic autorisé en entrée est inspecté pour : voir si il fait partie d’une session en cours voir si il est conforme à la table d’état des protocoles de transport et d’application RE16

CBAC : client sortant RE16

CBAC : client entrant Le CBAC utilise des temporisations et des valeurs seuil pour gérer les états des sessions Les sessions qui ne sont pas établies complètement (de part et d’autre) au bout d’un certain temps sont fermées par envoi d’une fin de session de part et d’autre Fixer des valeurs de temporisation de session protège des attaques DoS en libérant les resources du serveur Le nombre de sessions demi-ouvertes est ainsi contrôlable, ce qui protège le serveur RE16

CBAC : client entrant Plusieurs seuils sont possibles pour bloquer les attaques DoS : le nombre de connexions simultanées possibles le nombre de connexions par unité de temps le nombre de demi-connexion par hôte Ce type de filtrage est à mettre en oeuvre uniquement sur les protocoles d’application que l’on veut filtrer, tous les autres étants interdits RE16

CBAC RE16

CBAC Les protocoles de niveau transport supportés sont : TCP (canal de contrôle seulement) UDP (canal de contrôle seulement) RE16

CBAC Les protocoles de niveau application supportés sont : RPC FTP TFTP UNIX R-commands (rlogin, rexec, rsh, ...) SMTP HTTP Java SQL*Net RTSP (RealNetworks) H.323 (NetMeeting, ProShare, CUSeeMe) Autres multimedia : Microsoft NetShow StreamWorks VDOLive RE16

Alertes et rapports d’audit CBAC génère des alertes temps réel et des rapports d’audit Les rapports d’audit sont envoyés à un serveur Syslog Spour rendre compte de toutes les transactions qui sont apparues sur le réseau On peut configurer les alertes et rapports d’audit sur la base des protocoles d’application RE16

Configuration du CBAC Les étapes de la mise en fonction du CBAC sont : fixer les paramètres des alertes et des rapports d’audit fixer les temporisations et les seuils (nombre de connexions) definir le Port-to-Application Mapping (PAM) definir les règles d’inspection appliquer les règles d’inspection et les ACL aux interfaces Tester le fonctionnement RE16

CBAC : alertes no ip inspect alert-off Met en route les alertes qui sont envoyées à la console Une alerte est générée quand un paquet IP se voit rejeté par le CBAC RE16

CBAC : rapports ip inspect audit-trail Router(config)# logging on Autorise le serveur Syslog et le met en fonction Router(config)# logging on Router(config)# logging 10.0.0.3 Router(config)# ip inspect audit-trail RE16

CBAC : temporisations ip inspect tcp synwait-time seconds Router(config)# ip inspect tcp synwait-time seconds Spécifie combien le firewall laissera de temps pour que la connexion TCP atteigne l’état “établie” Router(config)# ip inspect tcp finwait-time seconds Spécifie combien le firewall attendra de temps l’échange des bits FIN avant d’interdire la session RE16

CBAC : temporisations ip inspect tcp idle-time seconds Router(config)# ip inspect tcp idle-time seconds ip inspect udp idle-time seconds Spécifie le temps maximum d’inactivité autorisé Router(config)# ip inspect dns-timeout seconds Même chose pour une session DNS RE16

CBAC : seuils ip inspect max-incomplete high number Router(config)# ip inspect max-incomplete high number Définition du nombre maximum de demi-sessions. Quand ce nombre est atteint, le routeur détruit les sessions les plus anciennes jusqu’à ce que le nombre atteigne le seuil bas défini ci-dessous Router(config)# ip inspect max-incomplete low number Définition du nombre de demi-sessions ouvertes qui provoque l’arret de la destruction des plus anciennes RE16

CBAC : seuils ip inspect one-minute high number Router(config)# ip inspect one-minute high number Définition du nombre maximum de nouvelles demi-sessions autorisées par minute. Si ce nombre est dépassé, le firewall detruit les plus anciennes jusqu’à ce que leur nombre atteigne le seuil bas défini ci-dessous Router(config)# ip inspect one-minute low number Définition du nombre de demi-sessions ouvertes qui provoque l’arret de la destruction des plus anciennes RE16

CABC : limitation du nombre de demi-connexions par hôte Router(config)# ip inspect tcp max-incomplete host number block-time seconds Définition du nombre maximum de demi-sessions TCP vers le même hôte destination avant que le routeur ne commence à les détruire Quand le nombre de demi-sessions vers le même hôte a été dépassé, le firewall détruit les détruit de la façon suivante : si block-time est à 0, la plus vielle demi-session est détruite pour faire place à la nouvelle si block-time plus grand que 0, toutes les demi-connexions existantes sont détruites, et les nouvelles connexions vers cet hôte sont interdites pendant le temps correspondant à block-time RE16

CBAC : Port-to-Application Mapping Il est possible de configurer les numéros de port que le firewall attribue aux applications CBAC utilise le PAM pour déterminer quel port est attribué aux applications RE16

CBAC : Port Mapping ip port-map appl_name port port_num Router(config)# ip port-map appl_name port port_num Fait correspondre un port à une application Router(config)# access-list permit acl_num ip_addr ip port-map appl_name port port_num list acl_num Même chose pour un hôte particulier Router(config)# access-list permit acl_num ip_addr wildcard_mask ip port-map appl_name port port_num list acl_num Même chose pour un réseau particulier RE16

CBAC : port mapping show ip port-map show ip port-map appl_name Router# show ip port-map montre toutes les informations relatives au port mapping Router# show ip port-map appl_name même chose pour une application Router# show ip port-map port port_num même chose pour un port particulier Router# sh ip port-map ftp Default mapping: ftp port 21 system defined Host specific: ftp port 1000 in list 10 user RE16

CBAC : inspection d’un protocole d’application Router(config)# ip inspect name inspection-name protocol [alert {on|off}] [audit-trail {on|off}] [timeout seconds] Définit le protocole d’application à inspecter Sera appliqué à une interface Alertes, rapports d’audit et timeout sont configurables par protocole et sont prioritaires sur les réglages globaux Router(config)# ip inspect name FWRULE smtp alert on audit-trail on timeout 300 Router(config)# ip inspect name FWRULE ftp alert on audit-trail on timeout 300 RE16

CBAC : java Router(config)# ip inspect name inspection-name http java-list acl-num [alert {on|off}] [audit-trail {on|off}] [timeout seconds] Contrôle le blocage de java avec une ACL standard Router(config)# ip inspect name FWRULE http java-list 10 alert on audit-trail on timeout 300 Router(config)# ip access-list 10 deny 172.26.26.0 0.0.0.255 Router(config)# ip access-list 10 permit 172.27.27.0 0.0.0.255 RE16

CBAC : application RPC Router(config)# ip inspect name inspection-name rpc program-number number [wait-time minutes] [alert {on|off}] [audit-trail {on|off}] [timeout seconds] Autorise certains numéros de programmes RPC wait-time limite la durée de connexion Router(config)# ip inspect name FWRULE rpc program-number 100022 wait-time 0 alert off audit-trail on RE16

CBAC : SMTP Router(config)# ip inspect name inspection-name smtp [alert {on|off}] [audit-trail {on|off}] [timeout seconds] N’autorise que les commandes légales suivantes pour SMTP : DATA, EXPN, HELO, HELP, MAIL, NOOP, QUIT, RCPT, RSET, SAML, SEND, SOML et VRFY Sans ce filtre, toutes les transactions SMTP sont autorisées Router(config)# ip inspect name FWRULE smtp RE16

CBAC : fragmentation des paquets Router(config)# ip inspect name inspection-name fragment max number timeout seconds Utilisé pour se protéger contre certaines attaques de type DoS : max : nombre maxi de fragments avant réassemblage timeout : attente maximum de réassemblage avant rejet Router(config)# ip inspect name FWRULE fragment max 254 timeout 4 RE16

CBAC : application à une interface Router (config-if)# ip inspect inspection-name {in | out} Applique une règle d’inspection (repérée par son nom) à une interface Router(config)# interface e0/0 Router(config-if)# ip inspect FWRULE in Applique une règle d’inspection à l’interface e0/0 dans le sens entrant RE16

CBAC : méthode de travail Sur les interfaces depuis lesquelles le trafic sera initié : appliquer l’ACL dans le sens entrant qui autorise uniquement le trafic désiré appliquer les règles d’inspection dans le sens entrant, ces règles s’appliquant au trafic autorisé Sur les autres interfaces appliquer l’ACL dans le sens entrant qui interdit tout le trafic non désiré Le firewall appliquera le filtrage dynamique au sens du CBAC RE16

CBAC : exemple 1 RE16

CBAC : exemple 1 Router(config)# ip inspect name OUTBOUND tcp Router(config)# ip inspect name OUTBOUND udp Configure CBAC pour l’inspection du trafic TCP et UDP Router(config)# access-list 101 permit ip 10.0.0.0 0.0.0.255 any Router(config)# access-list 101 deny ip any any Autorise le trafic initié par les hôtes du réseau 10.0.0.0/24 Router(config)# interface e0/0 Router(config-if)# ip inspect OUTBOUND in Router(config-if)# ip access-group 101 in Applique les règles d’inspection et l’ACL à l’interface e0/0 en entrée (patte inside du firewall) RE16

CBAC : exemple 1 Router(config)# access-list 102 permit icmp any host 10.0.0.3 Router(config)# access-list 102 permit tcp any host 10.0.0.3 eq www Router(config)# access-list 102 deny ip any any Autorise seulement le trafic ICMP et HTTP vers 10.0.0.3, initié depuis l’extérieur Router(config)# interface e0/1 Router(config-if)# ip access-group 102 in Applique l’ACL à l’interface e0/1 en entrée (patte outside du routeur) RE16

CBAC : exemple 2 RE16

CBAC : exemple 2 Router(config)# ip inspect name OUTBOUND tcp Router(config)# ip inspect name OUTBOUND udp Configure CBAC pour l’inspection du trafic TCP et UDP Router(config)# access-list 101 permit ip 10.0.0.0 0.0.0.255 any Router(config)# access-list 101 deny ip any any Autorise le trafic initié par les hôtes du réseau 10.0.0.0/24 Router(config)# interface e0/0 Router(config-if)# ip inspect OUTBOUND in Router(config-if)# ip access-group 101 in Applique les règles d’inspection et l’ACL à l’interface e0/0 en entrée (patte inside du firewall) RE16

CBAC : exemple 2 Router(config)# ip inspect name INBOUND tcp Configure CBAC pour l’inspection du trafic tcp Router(config)# access-list 102 permit icmp any host 172.16.0.2 Router(config)# access-list 102 permit tcp any host 172.16.0.2 eq www Router(config)# access-list 102 deny ip any any Autorise le trafic ICMP et HTTP initié depuis l’extérieur et à destination de l’hôte 172.16.0.2 Router(config)# interface e0/1 Router(config-if)# ip inspect INBOUND in Router(config-if)# ip access-group 102 in Applique les règles d’inspection et l’ACL à l’interface e0/1 en entrée (patte outside du firewall) RE16

CBAC : exemple 2 Router(config)# access-list 103 permit icmp host 172.16.0.2 any Router(config)# access-list 103 deny ip any any N’autorise que le trafic ICMP initié depuis la DMZ Router(config)# access-list 104 permit icmp any host 172.16.0.2 Router(config)# access-list 104 permit tcp any host 172.16.0.2 eq www Router(config)# access-list 104 deny ip any any N’autorise que le trafic ICMP et HTTP initié depuis l’extérieur et à destination de l’hôte 172.16.0.2 Router(config)# interface e1/0 Router(config-if)# ip access-group 103 in Router(config-if)# ip access-group 104 out Applique les deux ACL à l’interface e1/0 RE16

CBAC : commandes show show ip inspect name inspection-name Router# show ip inspect name inspection-name show ip inspect config show ip inspect interfaces show ip inspect session [detail] show ip inspect all Affiche les configurations CBAC, les configurations des interfaces et les sessions Router# sh ip inspect session Established Sessions Session 6155930C (10.0.0.3:35009)=>(172.30.0.50:34233) tcp SIS_OPEN Session 6156F0CC (10.0.0.3:35011)=>(172.30.0.50:34234) tcp SIS_OPEN Session 6156AF74 (10.0.0.3:35010)=>(172.30.0.50:5002) tcp SIS_OPEN RE16

CBAC : commandes debug debug ip inspect function-trace Router# debug ip inspect function-trace debug ip inspect object-creation debug ip inspect object-deletion debug ip inspect events debug ip inspect timers Commandes de debug générales Router(config)# debug ip inspect protocol debug d’un protocole particulier RE16

Enlever le CBAC Router(config)# no ip inspect Enlève toute la configuration CBAC Remet toutes les temporisations et les seuils à leur valeur par défaut Détruit toutes les sessions existantes Enlève toutes les ACL dynamiques générées par le CBAC RE16

CBAC : limitations Le CBAC n’inspecte que le trafic explicitement spécifié. C’est un avantage car le contrôle peut se faire finement, mais il faut souvent beaucoup d’entrées « ip inspect » pour couvrir tous les types de connexions Le CBAC n’est pas très simple d’utilisation et demande une bonne connaissance des protocoles et des applications utilisés Le trafic que le routeur lui-même génère n’est pas inspecté Le trafic qui est envoyé au routeur lui-même n’est pas inspecté CBAC ne peut inspecter les données cryptées (IPSec). Il peut cependant inspecter les canaux VPN dont il est à l’origine Seul le mode passif de FTP est compatible avec le CBAC RE16

Conclusion Les ACL étendues permettent de filtrer le trafic en sortie du réseau car seul le port destination est filtré. Le retour vers le client ne peut être filtré car le numéro de port utilisé est aléatoire un « faux retour » ne peut pas filtré Les ACL réflexives sont plus performantes que les ACL étendues car elles tiennent compte de l’information de session un « faux retour » sera bloqué en entrée, sauf si il arrive pendant une session ouverte Le CBAC est plus performant car il tient compte en plus d’informations protocolaires de niveau application seules les commandes autorisées dans les protocoles connus passent à travers le firewall le firewall piste les attaques connues appliqué dans le sens sortie puis entrée, le CBAC permet de ne laisser entrer sur le réseau que ce qui fait partie d’une session « propre » appliqué dans le sens entrée puis sortie, le CBAC permet de se protéger contre les attaques de type DoS RE16