HSC
Network Security Consulting Agency Since 1989 - Specialized in Unix, Windows, TCP/IP and Internet
Text mode: access to the page content
Hervé Schauer Consultants
You are here: Home > Resources > Tips > Différentes formes de filtrage avec Cisco IOS
Go to: HSC Trainings
Télécharger le catalogue des formations
Search:  
Version française
   Services   
o Skills & Expertise
o Consulting
o ISO 27001 services
o Audit & Assessment
o Penetration tests
o Vunerability assessment (TSAR)
o Forensics
o ARJEL
o Training courses
o E-learning
   Conferences   
o Agenda
o Past events
o Tutorials
   Resources   
o Thematic index
o Tips
o Lectures
o Courses
o Articles
o Tools (download)
o Vulnerability watch
   Company   
o Hervé Schauer
o Team
o Job opportunities
o Credentials
o History
o Partnerships
o Associations
   Press and
 communication
 
 
o HSC Newsletter
o Bulletin juridique HSC
o Press review
o Press releases
o Publications
   Contacts   
o How to reach us
o Specific inquiries
o Directions to our office
o Hotels near our office
|>|Différentes formes de filtrage avec Cisco IOS  

by Nicolas Jombart (16/11/2001)



Panorama des différentes formes de filtrage Cisco (IOS)

--[ Introduction ]----------------------------------------------------------

Le système d'exploitation des routeurs Cisco (IOS) dispose de possibi-
lités de filtrage très intéressantes.

Le but de cette brève n'est pas de donner un howto du filtrage Cisco, 
mais plutôt de montrer un panorama des différentes formes de filtrage les
plus courantes, notamment de l'access-list et du filtrage BGP. Le lecteur 
est donc vivement invité à se référer aux innombrables documentations en 
ligne de Cisco.

--[ Access Control Lists ]--------------------------------------------------

Les ACL (Access Control List ou access-list) sont définies par un numéro 
(ou un nom) et peuvent être de plusieurs type :

routeur(config)#access-list ?
  <1-99>       IP standard access list
  <100-199>    IP extended access list
  <1100-1199>  Extended 48-bit MAC address access list
  <200-299>    Protocol type-code access list
  <700-799>    48-bit MAC address access list

(d'autres types existent, pour les autres protocoles qu'IP notamment)

. IP standard access list : Ne permet d'utiliser que les adresses source
                            pour identifier les paquets
. IP extended access list : Permet d'identifier un paquet par les adres-
                            ses IP, protocoles et ports source et destination
. Protocol type-code access list : Filtrage sur le protocole
. 48-bit MAC address access list : Filtrage en fonction de l'adresse MAC

Les access-list matchent des paquets selon une syntaxe simple (se référer
aux docs IOS pour les détails), par exemple :

! permet le ping sur tout le réseau
! permet NTP et ssh
! bloque et journalise (sauf le HTTP) tout le reste
access-list 102 remark ACL d'exemple
access-list 102 permit icmp any 192.70.106.0 0.0.0.31 echo
access-list 102 permit udp any eq ntp host 192.70.106.4 eq ntp
access-list 102 permit tcp any host 192.70.106.4 eq 22 established
access-list 102 remark Do not log HTTP request (codered, nimda, whatever)
access-list 102 deny any any eq 80
access-list 102 deny any any log


Notez que les masques de sous-réseau se notent « à l'envers » chez Cisco.

Il est possible d'utiliser :

. log : qui permet de journaliser le paquet matché
  Typiquement utilisé à la fin d'une access-list avec une règle :
  "deny ip any any log"

. log-input
  Journalise en plus l'interface et l'adresse MAC.

. Un nom plutôt qu'un numéro
  Il est possible d'utiliser un nom plutôt qu'un simple numéro. C'est
  souvent plus parlant.

. remark
  Pour commenter l'access-list

Elles sont ensuite appliquées à une interface, un protocole de routage, 
ou une communauté SNMP. Une access-list n'a aucun effet si elle n'est pas 
appliquée. Il est possible de l'appliquer à différentes entités,
par exemple :

. Une interface, en précisant le sens d'application

  Il faut choisir dans quel sens on écrit l'ACL : entrée et/ou sortie. Il
  est souvent inutile de filtrer deux fois. La solution la meilleur est
  celle qui permet d'écrire les access-lists les plus simples possibles.


. Protocole de routage

  Appliquée à un protocole de routage, une ACL permet de filtrer au niveau
  de la route, c'est à dire de router ou pas en provenance ou vers une 
  destination les paquets.
  Le mot clef à utiliser est distribute-list.


. Communauté SNMP

  Par communauté (RO, RW), une telle ACL permet de limiter aux machines
  d'administration et de supervision l'accès à SNMP.

  
. Serveur HTTP du routeur

  Si vous avez vraiment besoin du serveur HTTP du routeur, ce dont on ne
  saurait que trop déconseiller, cette ACL vous permet de limiter l'accès.
  Syntaxe : ip http access-class XXX


- Filtrage de session -

. established : qui correspond en fait aux drapeaux ACK ou RST

  Il s'agit d'un simple filtrage du sens de l'établissement de session, 
  established ne vérifie en rien l'appartenance d'un paquet à une session 
  TCP, il ne fait que contrôler les bits concernés. En particulier, les 
  adresses IP ne sont pas vérifiées.


. reflexive

  Afin de réaliser un filtrage de session plus puissant, les ACL "reflexive"
  utilisent des entrées temporaires pour décider si un paquet appartient à
  une session (TCP et par abus de langage UDP et ICMP) en cours.
  Par exemple, la commande "evaluate <NOM>" sur une ACL sortante, permettra 
  d'utiliser sur l'ACL entrante de l'interface un :
    permit tcp any any reflect <NOM>


- Autres types d'access-list -

. dynamic "Lock-and-key"

  Ce type d'access-list est une règle temporaire placée par un utilisateur
  après authentification sur un routeur.
  Une règle dynamic permet alors d'ouvrir des flux à la demande pour une
  durée donnée (quelques minutes) grâce à la commande access-enable.


. time-range

  Il est possible d'écrire des règles en fonction des jours et de l'heure.
  Un exemple est plus parlant :

  time-range irc-ok
    periodic weekdays 9:00 to 19:00
  !
  ip access-list extended blah
  permit tcp any any eq 6667 time-range irc-ok
  !
  interface ethernet 0
  ip access-group blah in

  Cette configuration autorisera l'IRC (6667/TCP) seulement la semaine en
  journée.


--[ Filtrage BGP ]----------------------------------------------------------

BGP, Border Gateway Protocol, est dans sa version 4 le protocole de routage 
internet le plus utilisé. Pour plus de renseignements sur le fonctionnement
de BGP, se reporter aux RFC 1771 à 1774 et autres ou aux excellentes docu-
mentations de Cisco.

BGP4 est un composant critique d'internet car il détermine sa structure et
des attaques sur BGP peuvent potentiellement faire disparaître temporaire-
ment de la carte des AS tout entiers.

Sans parler de travaux plus ambitieux comme sBGP [1], IOS permet déjà de dur-
cir un peu BGP.


Il est possible de filtrer les annonces BGP en fonction de là où elles sont
émises ou vers quels AS elles sont émises, des numéros d'AS des réseaux.
On utilise pour cela des expressions régulières.

exemple :

router bgp 300
 neighbor 10.1.2.10 remote-as 110
 neighbor 10.1.2.10 filter-list 1 weight 100
 neighbor 10.1.2.10 filter-list 2 out
 neighbor 10.1.2.10 filter-list 3 in
ip as-path access-list 1 permit _109_
ip as-path access-list 2 permit ^100$
ip as-path access-list 3 deny _690$
ip as-path access-list 3 permit .*


De plus, un certain nombre d'éléments dans la configuration sont utiles dans 
le cas de BGP :

. Restreindre aux peers/neighbors le port 179/TCP
  Ainsi seuls les voisins ont accès au protocole BGP sur les borders.

. Utiliser des mots de passe MD5

. Utiliser prefix-list pour maintenir des listes de réseaux 'buggés'
  (RFC 1918, classes interdites ou pas ouvertes, multicast, etc.),
  ou pour éviter d'annoncer autre chose que son propre réseau.




[1] http://www.net-tech.bbn.com/sbgp/sbgp-index.html

--Nicolas Jombart <Nicolas.Jombart@hsc-labs.com>, obscurity officer.

$Id: cisco-acl.tip,v 1.10 2001/11/20 15:34:08 jombart Exp $



Last modified on 12 November 2003 at 13:55:00 CET - webmaster@hsc.fr
Mentions légales - Information on this server - © 1989-2013 Hervé Schauer Consultants