User Tools

Site Tools


reseau:ccna-12c

Chapitre 12: Sécurité

metatoc

Les sujets de l'examen CCNA traités dans ce chapitre sont les suivants :

  1. Identifier les menaces de sécurité sur un réseau et décrire les méthodes générales pour atténuer ces menaces
  2. Décrire les menaces de sécurité réseau croissantes d'aujourd'hui et expliquer la nécessité de mettre en œuvre une politique de sécurité complète pour atténuer les menaces
  3. Expliquer les méthodes générales pour atténuer les menaces de sécurité courantes pour les périphériques réseau, les hôtes et les applications
  4. Décrire les fonctions des appareils et applications de sécurité courants
  5. Décrire les pratiques recommandées en matière de sécurité, y compris les étapes initiales pour sécuriser les périphériques réseau
  6. Configurer, vérifier et dépanner le fonctionnement et le routage de base du routeur sur les appareils Cisco
  7. Mettre en œuvre la sécurité de base du routeur
  8. Mettre en œuvre, vérifier et dépanner NAT et ACL dans un réseau de succursales d'entreprise de taille moyenne
  9. Décrire l'objectif et les types de listes de contrôle d'accès
  10. Configurer et appliquer les listes de contrôle d'accès en fonction des exigences de filtrage réseau (y compris CLI/SDM)
  11. Configurer et appliquer une liste de contrôle d'accès pour limiter l'accès telnet et SSH au routeur utilisant (y compris SDM/CLI)
  12. Vérifier et surveiller les listes de contrôle d'accès dans un environnement réseau
  13. Résoudre les problèmes de liste de contrôle d'accès

Lorsqu'on est administrateur système, protéger les données sensibles et critiques, ainsi que les ressources du réseau, de tous les exploits malveillants possibles est une priorité absolue. Cisco propose des solutions de sécurité vraiment efficaces qui donneront les outils dont on a besoin pour y parvenir.

Les listes de contrôle d'accès (ACL) font partie intégrante de la solution de sécurité de Cisco, et en plus de voir les clés à la fois simples et avancées qui permettront d'assurer la sécurité de l'interréseau, on va également voir comment atténuer la plupart des menaces de réseau axées sur la sécurité.

L'utilisation et la configuration correctes des listes d'accès sont une partie vitale de la configuration du routeur, car les listes d'accès sont des accessoires réseaux tellement polyvalents. Contribuant puissamment à l'efficacité et au fonctionnement du réseau, les listes d'accès donnent aux gestionnaires de réseau un énorme contrôle sur le flux de trafic dans toute l'entreprise. Avec les listes d'accès, les gestionnaires peuvent collecter des statistiques de base sur le flux de paquets et les politiques de sécurité peuvent être mis en œuvre. Les appareils sensibles peuvent également être protégés contre les accès non autorisés.

Dans ce chapitre, on abordera les listes d'accès pour TCP/IP et certains des outils disponibles pour tester et surveiller la fonctionnalité listes d'accès des applications.

Bien que les réseaux privés virtuels (VPN) puissent être une partie importante de la sécurité de l'entreprise, on couvrira les VPN au chapitre 16, “Réseaux Wide Area”.

Périmètre, pare-feu et routeurs internes

On les voit souvent—généralement, dans les réseaux d'entreprise de moyenne à grande taille, les différentes stratégies de sécurité sont basées sur une recette de routeurs de périmètre et pare-feu. Les routeurs internes offrent une sécurité supplémentaire en filtrant le trafic vers diverses parties de l'entreprise pour protéger le réseau, et ils le font en utilisant des listes d'accès. on peut voir où se trouvent chacun de ces types de périphériques dans la Figure suivante.

cloud Internet Corp Firewall Corporate trusted Network Untrusted Perimeter Internal network (premises) (Local Network) router Firewall router Web server DMZ Mail server

On utilisera les termes réseau tusted et réseau untrusted tout au long de ce chapitre et au chapitre 13, « Traduction d'adresses réseau (NAT) », donc c'est important que l'on puisse voir où ils se trouvent dans un réseau sécurisé typique. La zone démilitarisée (DMZ) peut être des adresses Internet globales (réelles) ou des adresses privées, selon la façon dont on configurer le pare-feu, mais c'est généralement là qu'on trouvera les serveurs d'entreprise HTTP, DNS, de messagerie et autres types Internet.

Au lieu d'avoir des routeurs, on peut utiliser des réseaux locaux virtuels (VLAN) avec des commutateurs sur le réseau de confiance interne.

Les commutateurs multicouches contenant leurs propres fonctionnalités de sécurité peuvent parfois remplacer les routeurs internes (LAN) pour offrir des performances plus élevées dans l'archiecture VLAN.

Examinons quelques façons de protéger l'interréseau à l'aide de listes d'accès.

Introduction aux listes d'accès

Une liste d'accès est essentiellement une liste de conditions qui catégorisent les paquets. Ils peuvent être très utiles lorsque il faut exercer un contrôle sur la circulation à l'intérieur d'un réseau. Une liste d'accès serait un outil de choix pour la prise de décision dans ces situations.

L'une des utilisations les plus courantes et les plus faciles à comprendre des listes d'accès est le filtrage des paquets indésirables lors de la mise en œuvre des politiques de sécurité. Par exemple, on peut les configurer pour prendre des décisions très spécifiques sur la régulation des modèles de trafic afin qu'ils n'autorisent que certains hôtes à accéder aux ressources Web sur Internet tout en restreignant les autres. Avec la bonne combinaison de listes d'accès, les gestionnaires de réseau se dotent du pouvoir d'appliquer presque toutes les politiques de sécurité qu'ils peuvent inventer.

La création de listes d'accès ressemble beaucoup à la programmation d'une série d'instructions if-then : si une condition donnée est remplie, alors une action donnée est entreprise. Si la condition spécifique n'est pas remplie, rien ne se passe et l'instruction suivante est évaluée. Les instructions de liste d'accès sont essentiellement des filtres de paquets qui sont comparés, classés et traités en conséquence. Une fois les listes créées, elles peuvent être appliquées aux appels entrants ou sortants du trafic sur n'importe quelle interface. L'application d'une liste d'accès amène le routeur à analyser chaque paquet traversant cette interface dans la direction spécifiée et à prendre l'action appropriée.

Il existe quelques règles importantes qu'un paquet suit lorsqu'il est comparé à une liste d'accès :

  1. Il est toujours comparé à chaque ligne de la liste d'accès dans l'ordre séquentiel, c'est-à-dire qu'il commence toujours par la première ligne de la liste d'accès, puis continue à la ligne 2, puis à la ligne 3, et ainsi de suite.
  2. Il est comparé aux lignes de la liste d'accès uniquement jusqu'à ce qu'une correspondance soit établie. Une fois que le paquet correspond à la condition sur une ligne de la liste d'accès, le paquet est traité et aucune autre comparaison n'a lieu.
  3. Il y a un « refus » implicite à la fin de chaque liste d'accès — cela signifie que si un paquet ne correspond à la condition sur aucune des lignes de la liste d'accès, le paquet sera rejeté.
  4. Chacune de ces règles a des implications puissantes lors du filtrage des paquets IP avec des listes d'accès, alors il faut garder à l'esprit que la création d'une liste d'accès efficace exige vraiment une certaine pratique.

Il existe deux principaux types de listes d'accès :

  • Listes d'accès standard: L'adresse IP source dans un paquet IP est utilisée dans le test de condition. Toutes les décisions sont prises sur la base des adresse IP source. Cela signifie que les listes d'accès standard autorisent ou refusent essentiellement une suite entière de protocoles. Ils ne font pas la distinction entre l'un des nombreux types de trafic IP tels que Web, Telnet, UDP, etc.
  • Listes d'accès étendues: Les listes d'accès étendues peuvent évaluer de nombreux autres champs dans les en-têtes de couche 3 et de couche 4 d'un paquet IP. Ils peut évaluer les adresses IP source et de destination, le champ Protocole dans l'en-tête de la couche Réseau et le numéro de port dans l'entête de la couche Transport. Cela donne aux listes d'accès étendu la possibilité de prendre des décisions beaucoup plus granulaires lors du contrôle du trafic.
  • Listes d'accès nommées: techniquement, il n'y a vraiment que deux type de listes puisque les listes d'accès nommées sont soit standard, soit étendues et ne sont pas réellement un nouveau type. on les distingue juste parce qu'ils sont créés et appelées différemment des listes d'accès standard et étendues, mais elles sont fonctionnellement identiques.

On examinera plus en détail ces types de listes d'accès plus loin dans le chapitre.

Une fois qu'on a créé une liste d'accès, elle ne fera rien tant qu'on ne l'aura pas appliquée. Elles sont là sur le routeur, mais elles sont inactives jusqu'à ce qu'on dise à ce routeur quoi faire avec. Pour utiliser une liste d'accès comme filtre de paquets, il faut l'appliquer à une interface sur le routeur où on veut que le trafic soit filtré. Et il faut spécifier dans quelle direction de trafic on souhaite que la liste d'accès s'applique. Il y a une bonne raison à cela, afin de permettre de mettre en place différents contrôles soit sur le trafic sortant à destination d'Internet soit sur le trafic entrant dans l'entreprise à partir d'Internet.

Ainsi, en spécifiant le sens du trafic, on peut (et on a souvent besoin) utiliser différentes listes d'accès pour le trafic entrant et sortant sur une seule interface :

  • Listes d'accès entrant: Lorsqu'une liste d'accès est appliquée aux paquets entrants sur une interface, ces paquets sont traités via l'access list avant d'être acheminé vers l'interface sortante. Tous les paquets refusés ne seront pas routés car ils sont rejetés avant que le processus de routage soit invoqué.
  • Listes d'accès sortant: Lorsqu'une liste d'accès est appliquée aux paquets sortants sur une interface, les paquets sont acheminés vers l'interface sortante puis traité par la liste d'accès avant d'être mis en file d'attente.

Il existe des considérations générales qui doivent être suivies lorsqu'on créé et implémente des listes d'accès sur un routeur :

  • On peut affecter qu'une seule liste d'accès par interface par protocole et par direction. Cela signifie que lors de l'application des listes d'accès IP, on ne peut avoir qu'une liste d'accès entrants et une liste d'accès sortants par interface.

Lorsqu'on considére les implications du refus implicite à la fin de toute liste d'accès, il est logique qu'on ne puisse pas avoir plusieurs listes d'accès appliquées sur la même interface dans même sens pour le même protocole. C'est parce que tous les paquets qui ne correspondent pas à une condition de la première liste d'accès seraient refusés et il n'y aurait pas de paquets restants à comparer avec une deuxième liste d'accès.

  • Organiser les listes d'accès de manière à ce que les tests les plus spécifiques soient en haut.
  • Chaque fois qu'une nouvelle entrée est ajoutée à la liste d'accès, elle sera placée au bas de la liste. L'utilisation d'un éditeur de texte pour les listes d'accès est hautement suggéré.
  • On ne peut pas supprimer une ligne d'une liste d'accès. Si on essaye de le faire, on supprimera toute la liste. Il est préférable de copier la liste d'accès dans un éditeur de texte avant d'essayer de modifier la liste. La seule exception concerne l'utilisation de listes d'accès nommées.

On peut modifier, ajouter ou supprimer une seule ligne d'une liste d'accès nommée.

  • À moins que la liste d'accès ne se termine par une commande d'autorisation, tous les paquets seront rejetés s'ils ne répondent à aucun des tests de la liste. Chaque liste doit avoir au moins une déclaration d'autorisation ou il refusera tout le trafic.
  • Créer des listes d'accès, puis appliquer-les à une interface. Toute liste d'accès appliquée à une interface sans instruction de test présente ne filtre pas le trafic.
  • Les listes d'accès sont conçues pour filtrer le trafic passant par le routeur. Ils ne filtreront pas le trafic provenant du routeur.
  • Placer les listes d'accès standard IP aussi près que possible de la destination. C'est la raison pour laquelle on ne veut pas vraiment utiliser des listes d'accès standard dans les réseaux. On ne peut pas placer une liste d'accès standard à proximité de l'hôte ou du réseau source car on ne peut filtrer qu'en fonction de l'adresse source et toutes les destinations seraient affectées.
  • Placer les listes d'accès étendu IP aussi près que possible de la source. Étant donné que les listes d'accès étendues peuvent filtrer sur des adresses très spécifiques et protocoles, on ne veut pas que le trafic traverse l'ensemble du réseau, puis soit refusé. En plaçant cette liste aussi près de l'adresse source que possible, on peut filtrer le trafic avant qu'il n'utilise de la bande passante.

Avant de voir la configuration les listes d'accès de base et étendues, on va voir comment les ACL peuvent être utilisées pour atténuer les menaces de sécurité.

Voici une liste des nombreuses menaces de sécurité qu'on peut atténuer avec les listes de contrôle d'accès :

  • Usurpation d'adresse IP, entrante
  • Usurpation d'adresse IP, sortante
  • Attaques TCP SYN par déni de service (DoS), bloquant les attaques externes
  • Attaques DoS TCP SYN, utilisant l'interception TCP
  • Attaques de smurfs DoS
  • Refuser/filtrer les messages ICMP, entrants
  • Refus/filtrage des messages ICMP, sortants
  • Refuser/filtrer la traceroute

Il est généralement sage de ne pas autoriser dans un réseau privé les paquets IP externes qui contiennent une adresse source d'hôtes appartenant au réseau interne.

Voici une liste de règles à respecter lors de la configuration des listes de contrôle d'accès depuis Internet vers le réseau de production pour atténuer les problèmes de sécurité :

  • Refuser toutes les adresses sources des réseaux internes.
  • Refuser toute adresse hôte locale (127.0.0.0/8).
  • Refuser toute adresse privée réservée (RFC 1918).
  • Refuser toutes les adresses dans la plage d'adresses IP multicast (224.0.0.0/4).

Aucune de ces adresses sources ne doit être autorisée à entrer dans un interréseau.

Listes d'accès standard

Les listes d'accès IP standard filtrent le trafic réseau en examinant l'adresse IP source dans un paquet. On créer une liste d'accès IP standard en utilisant un numéro de liste d'accès 1 à 99 ou 1300 à 1999 (plage étendue). Les types de liste d'accès sont généralement différenciés à l'aide d'un numéro. Sur la base du nombre utilisé lors de la création de la liste d'accès, le routeur sait à quel type de syntaxe s'attendre lors de la saisie de la liste. En utilisant les numéros 1-99 ou 1300-1999, on indique au routeur qu'on veut créer une liste d'accès IP standard, donc le routeur attendra une syntaxe spécifiant uniquement l'adresse IP source dans les lignes.

Voici un exemple des nombreuses plages de numéros de liste d'accès qu'on peut utiliser pour filtrer le trafic sur le réseau (les protocoles pour lesquels on peut spécifier les listes d'accès dépendent de la version IOS):

Corp(config)# access-list ?
  <1-99>           IP standard access list
  <100-199>        IP extended access list
  <1100-1199>      Extended 48-bit MAC address access list
  <1300-1999>      IP standard access list (expanded range)
  <200-299>        Protocol type-code access list
  <2000-2699>      IP extended access list (expanded range)
  <700-799>        48-bit MAC address access list
  compiled         Enable IP access-list compilation
  dynamic-extended Extend the dynamic ACL absolute timer
  rate-limitSimple rate-limit specific access list

Jetons un coup d'œil à la syntaxe utilisée lors de la création d'une liste d'accès standard :

Corp(config)# access-list 10 ?
  deny   Specify packets to reject
  permit Specify packets to forward
  remark Access list entry comment

Comme on l'a dit, en utilisant les numéros de liste d'accès 1 à 99 ou 1300 à 1999, on indique au routeur qu'on souhaite créer une liste d'accès IP standard.

Après avoir choisi le numéro de la liste d'accès, il faut décider si on veut créer une déclaration d'autorisation ou de refus. Pour cet exemple, on va créer un déclaration deny :

Corp(config)# access-list 10 deny ?
  Hostname or A.B.C.D Address to match
  any                 Any source host
  host                A single host address

L'étape suivante nécessite une explication plus détaillée. Trois options sont disponibles. on peut utiliser le paramètre any pour autoriser ou refuser tout hôte ou réseau source, on peut utiliser une adresse IP pour spécifier un hôte unique ou une plage d'entre eux, ou on peut utiliser la commande host pour spécifier un hôte spécifique uniquement. La commande any est asser évidente - n'importe quelle adresse source correspond à l'instruction, donc chaque paquet comparé à cette ligne correspondra. La commande host est relativement simple. Voici un exemple en l'utilisant :

Corp(config)# access-list 10 deny host ?
Hostname or A.B.C.D Host address
Corp(config)# access-list 10 deny host 172.16.30.2

Cela indique à la liste de refuser tous les paquets de l'hôte 172.16.30.2.

Le paramètre par défaut est host. En d'autres termes, si on tape access-list 10 deny 172.16.30.2 ,le routeur suppose qu'on veut dire host 172.16.30.2 et c'est ainsi qu'il s'affichera dans la configuration.

Mais il existe un autre moyen de spécifier un hôte particulier ou une plage d'hôtes : on peut utiliser le masquage générique. En fait, pour spécifier n'importe quelle plage d'hôtes, il faut utiliser le masquage générique dans la liste d'accès.

Qu'est-ce que le masquage générique ? On apprendra tout à ce sujet à l'aide d'un exemple de liste d'accès standard, ainsi que comment contrôler l'accès à un terminal virtuel, dans les rubriques suivantes. On va utiliser les mêmes masques génériques que ceux utilisés dans la section OSPF du chapitre 9.

Masquage avec les caractères génériques

Les caractères génériques sont utilisés avec les listes d'accès pour spécifier un hôte individuel, un réseau ou une certaine plage d'un réseau ou de réseaux. Pour comprendre un joker, il faut comprendre ce qu'est une taille de bloc ; il est utilisé pour spécifier une plage d'adresses. Certaines des différentes tailles de blocs disponibles sont 64, 32, 16, 8, et 4.

Lorsque il faut spécifier une plage d'adresses, on choisit la taille de bloc suivante la plus grande pour les besoins. Par exemple:

  1. Si il faut spécifier 34 réseaux, on a besoin d'une taille de bloc de 64.
  2. Si on veut spécifier 18 hôtes, on a besoin d'une taille de bloc de 32.
  3. Si on veut spécifier seulement 2 réseaux, alors une taille de bloc de 4 fonctionnerait.

Les caractères génériques sont utilisés avec l'hôte ou l'adresse réseau pour indiquer au routeur une plage d'adresses disponibles à filtrer. Pour spécifier un hôte, l'adresse ressemblerait à ceci :

172.16.30.5 0.0.0.0

Les quatre zéros représentent chaque octet de l'adresse. Chaque fois qu'un zéro est présent, cela signifie que l'octet de l'adresse doit correspondre à l'octet de référence exactement. Pour spécifier qu'un octet peut être n'importe quelle valeur, la valeur 255 est utilisée. À titre d'exemple, voici comment un sous-réseau /24 est spécifié avec un masque générique :

172.16.30.0 0.0.0.255

Cela indique au routeur de faire correspondre exactement les trois premiers octets, mais le quatrième octet peut avoir n'importe quelle valeur.

Maintenant, c'était la partie facile. Que se passe-t-il si on souhaite spécifier uniquement une petite plage de sous-réseaux ? C'est là qu'interviennent les tailles de blocs. il faut spécifier la plage de valeurs dans une taille de bloc. En d'autres termes, on ne peut pas choisir de spécifier 20 réseaux. On ne peut spécifier la valeur exacte de la taille du bloc. Par exemple, la plage devrait être soit 16, soit 32, mais pas 20.

Supposons qu'on souhaite bloquer l'accès à une partie du réseau comprise entre 172.16.8.0 et 172.16.15.0. C'est une taille de bloc de 8. Le numéro de réseau serait 172.16.8.0 et le caractère générique serait 0.0.7.255. Le 7.255 est ce que le routeur utilise pour déterminer la taille du bloc.

Le réseau et le caractère générique indiquent au routeur de commencer à 172.16.8.0 et d'augmenter une taille de bloc de huit adresses vers le réseau 172.16.15.0.

C'est vraiment plus facile qu'il n'y paraît. En fait, tout ce qu'on a besoin de retenir est que le caractère générique est toujours inférieur d'un à la taille du bloc. Ainsi, dans l'exemple, le caractère générique serait 7 puisque la taille de bloc est 8. Si on utilise une taille de bloc de 16, le caractère générique serait 15. etc…

On va traiter quelques exemples pour aider à assimiler cela.

Exemple 1: access-list 10 deny 172.16.10.0 0.0.0.255

Réponse: Cette configuration indique au routeur de faire correspondre exactement les trois premiers octets, mais que le quatrième octet peut être n'importe quoi :

Exemple 2: access-list 10 deny 172.16.0.0 0.0.255.255

Réponse: Cette configuration indique au routeur de faire correspondre les deux premiers octets et que les deux derniers octets peuvent être n'importe quelle valeur :

Exemple 3: access-list 10 deny 172.16.16.0 0.0.3.255

Réponse: Cette configuration indique au routeur de démarrer au réseau 172.16.16.0 et d'utiliser une taille de bloc de 4. La plage serait alors de 172.16.16.0 à 172.16.19.255.

Exemple 3: access-list 10 deny 172.16.16.0 0.0.7.255

Réponse: Cette configuration montre une liste d'accès commençant à 172.16.16.0 et augmentant d'une taille de bloc de 8 à 172.16.23.255.

Exemple 4: access-list 10 deny 172.16.32.0 0.0.15.255

Réponse: Cette configuration montre une liste d'accès commençant au réseau 172.16.32.0 et augmente d'une taille de bloc de 16 à 172.16.47.255.

Exemple 5: access-list 10 deny 172.16.64.0 0.0.63.255

Réponse: Cette configuration montre une liste d'accès commençant au réseau 172.16.64.0 et augmente d'une taille de bloc de 64 à 172.16.127.255.

Exemple 6: access-list 10 deny 192.168.160.0 0.0.31.255

Réponse: Cette configuration montre une liste d'accès commençant au réseau 192.168.160.0 et augmente d'une taille de bloc de 32 à 192.168.191.255.

Le masquage des caractères génériques est une compétence cruciale à maîtriser lors de la création de listes d'accès IP. Il est utilisé de la même manière lors de la création de listes d'accès IP standard et étendues.

Voici deux autres choses à garder à l'esprit lorsqu'on doit travailler avec des tailles de bloc et des caractères génériques :
- Chaque taille de bloc doit commencer à 0 ou à un multiple de la taille de bloc. Par exemple, on ne peut pas dire qu'on veut une taille de bloc de 8 et ensuite commencer à 12, il faut utiliser 0–7, 8–15, 16–23, etc. Pour une taille de bloc de 32, les plages sont 0–31, 32–63, 64–95, etc.
- La commande any revient à écrire le caractère générique 0.0.0.0 255.255.255.255.

.

Exemple de liste d'accès standard

Dans cette section, on apprendra à utiliser une liste d'accès standard pour empêcher des utilisateurs spécifiques d'accéder au réseau local d'un service financier.

Exemple d'access-list standard 1

Dans la Figure suivante, un routeur dispose de trois connexions LAN et d'une connexion WAN à Internet. Les utilisateurs du réseau local de vente ne doivent pas avoir accès au LAN Finance, mais ils devraient pouvoir accéder à Internet et aux fichiers du service marketing. Le Marketing LAN doit accéder au LAN finance pour les services applicatifs.

Internet LabA S0/0/0 Fa0/0 Fa1/0 Sales Fa0/1 Marketing 172.16.40.0/24 172.16.60.0/24 Finance 172.16.50.0/24

Sur le routeur de la liste d'accès IP standard suivante est configurée ainsi :

Lab_A# config t
Lab_A(config)# access-list 10 deny 172.16.40.0 0.0.0.255
Lab_A(config)# access-list 10 permit any

Il est très important de savoir que la commande any revient à dire ce qui suit en utilisant le masquage générique :

Lab_A(config)#access-list 10 permit 0.0.0.0 255.255.255.255

Étant donné que le masque générique indique qu'aucun des octets ne doit être évalué, chaque adresse correspond à la condition de test. Donc c'est fonctionnellement la même chose en utilisant le mot-clé any.

À ce stade, la liste d'accès est configurée pour refuser les adresses source du réseau local des ventes au réseau local des finances et autoriser tout le monde. Mais aucune action ne sera prise jusqu'à ce que la liste d'accès soit appliquée sur une interface dans une direction spécifique.

Mais où placer cette liste d'accès ? Si on la placer en tant que liste d'accès entrant sur fa0/0, on peut également arrêter FastEthernet car tous les périphériques dans le LAN Sales se verront refuser l'accès à tous les réseaux connectés au routeur. Le meilleur endroit pour appliquer cette liste d'accès est sur l'interface fa0/1 en tant que liste sortante :

Lab_A(config)#int fa0/1
Lab_A(config-if)#ip access-group 10 out

Cela empêche complètement le trafic de 172.16.40.0 de sortir FastEthernet0/1. Il n'a aucun effet sur les hôtes du réseau local de vente accédant au LAN Marketing et à Internet puisque le trafic vers ces destinations ne passe pas par l'interface fa0/1. Tout paquet essayant de sortir de fa0/1 devra parcourir d'abord la liste d'accès. S'il y avait une liste entrante placée sur f0/0, alors tout paquet essayant d'entrer dans l'interface f0/0 devrait passer par la liste d'accès avant d'être acheminé vers une interface de sortie.

Exemple d'access-list standard 2

Jetons un coup d'œil à un autre exemple de liste d'accès standard. La figure suivante montre un inter-réseau de deux routeurs avec trois LAN et un connexion série WAN.

LabA LabB 192.168.10.161/27 E0 Human Ressources E1 192.168.10.129/27 Accounting Human Ressources Server 192.168.10.222/27

A l'aide d'une ACL standard, on souhaite empêcher les utilisateurs de la comptabilité d'accéder au serveur des ressources humaines rattaché au routeur LabB mais autoriser tous les autres utilisateurs à accéder à ce réseau local. Quelle liste d'accès standard crée et où la placer ?

La bonne réponse serait qu'il faut utiliser une liste d'accès étendue et la placer au plus près de la source, mais la question précise qu'il faut utiliser une liste d'accès standard. Les listes d'accès standard, en règle générale, sont placées au plus près de la destination - dans cet exemple, Ethernet 0 sortant sur le Routeur LabB. Voici la liste d'accès qui doit être placée sur le routeur LabB :

Lab_B# config t
Lab_B(config)# access-list 10 deny 192.168.10.128 0.0.0.31
Lab_B(config)# access-list 10 permit any
Lab_B(config)# interface Ethernet 0
Lab_B(config-if)# ip access-group 10 out

Pour répondre à la question, il faut comprendre les sous-réseaux, les masques génériques et comment configurer et implémenter les ACL.

Exemple d'access-list standard 3

Avant de passer à la restriction de l'accès Telnet sur un routeur, examinons un autre exemple de liste d'accès standard, mais il nécessitera une certaine réflexion. Dans la Figure suivante, on a un routeur avec quatre connexions LAN et une connexion WAN à Internet.

172.16.92.10/21 E3 s0 E0 E2 172.16.144.17/19 E1 172.16.198.94/18 172.16.50.173/20

Il faut rédiger une liste d'accès qui arrêtera l'accès de chacun des quatre réseaux locaux indiqués dans le schéma à Internet. Chacun des LAN affiche l'adresse IP d'un seul hôte, et à partir de là, il faut déterminer le sous-réseau et les caractères génériques de chaque réseau local pour configurer la liste d'accès.

Voici un exemple de ce à quoi devrait ressembler l'access-list(en commençant par le réseau sur E0 et en passant par E3) :

Router(config)# access-list 1 deny 172.16.128.0 0.0.31.255
Router(config)# access-list 1 deny 172.16.48.0 0.0.15.255
Router(config)# access-list 1 deny 172.16.192.0 0.0.63.255
Router(config)# access-list 1 deny 172.16.88.0 0.0.7.255
Router(config)# access-list 1 permit any
Router(config)# interface serial 0
Router(config-if)# ip access-group 1 out

Bien sûr, on aurait pu le faire avec une seule ligne :

Router(config)# access-list 1 deny 172.16.0.0 0.0.255.255

Quel est alors le but de créer cette liste ? Si on appliquait réellement cette liste d'accès sur le routeur, on fermerait effectivement l'accès à Internet, alors pourquoi même avoir une connexion Internet.

Contrôle de l'accès VTY (Telnet/SSH)

On Peut avoir du mal à essayer d'empêcher les utilisateurs de se connecter ou d'essayer de se connecter en SSH à un routeur si on veut utiliser une liste d'accès IP étendue qui limite l'accès à chaque adresse IP sur le routeur, car toute interface active sur un routeur est équivalent pour l'accès VTY. Si on fait ça, il faut l'appliquer sur chaque interface entrant, et cela ne s'adapterait vraiment pas bien à un gros routeur avec des dizaines, voire des centaines d'interfaces.

De plus, il faut prendre en compte à toute la latence que l'on créer sur le réseau, car chaque routeur examinerait chaque paquet au cas où le paquet essaierait d'accéder à VTY.

Il existe une bien meilleure solution : utiliser une liste d'accès IP standard pour contrôler l'accès aux lignes VTY elles-mêmes.

Lorsqu'on applique une liste d'accès aux lignes VTY, on n'a pas besoin de spécifier le protocole puisque l'accès au VTY implique un accès au terminal via les protocoles Telnet ou SSH. On n'a pas non plus besoin de spécifier une adresse de destination car peu importe quelle adresse d'interface l'utilisateur cible pour la session Telnet. On n'a vraiment besoin de contrôler que d'où vient l'utilisateur : son adresse IP source.

Pour exécuter cette fonction, procéder comme suit :
1. Créer une liste d'accès IP standard qui autorise uniquement l'hôte ou les hôtes qu'on souhaite à pouvoir se connecter par telnet aux routeurs.
2. Appliquer la liste d'accès à la ligne VTY avec la commande access-class in.

Voici un exemple permettant d'autoriser uniquement l'hôte 172.16.10.3 à se connecter par telnet à un routeur :
Lab_A(config)# access-list 50 permit host 172.16.10.3
Lab_A(config)# line vty 0 4
Lab_A(config-line)# access-class 50 in

En raison du refus implicite à la fin de la liste, la liste d'accès empêche tout hôte de se connecter au routeur à l'exception de l'hôte 172.16.10.3, quelle que soit l'adresse IP individuelle du routeur utilisée comme cible. On voudra peut-être inclure une adresse de sous-réseau administrateur comme source à la place d'un seul hôte, mais c'est juste un exemple de la façon de créer une sécurité sur les lignes VTY sans ajouter de latence au routeur.

Parce qu'il n'utilise pas de liste d'accès sur une interface pour regarder chaque paquet arrivant qui va et vient (cela peut entraîner une surcharge sur les paquets essayant d'être routés), la commande access-class dans les lignes VTY, seuls les paquets essayant de se connecter au routeur seront examinés et comparés. Cela offre une sécurité facile à configurer pour les routeurs.

Cisco recommande d'utiliser Secure Shell (SSH) au lieu de Telnet sur les lignes VTY d'un routeur. Voir le chapitre 6 pour plus d'informations sur SSH et comment configurer SSH sur les routeurs et commutateurs.

Listes d'accès étendu

Dans l'exemple de liste d'accès IP standard précédent, on doit bloquer tous les accès du réseau local des ventes au service financier. Mais il faut que les ventes puissent accéder à un certain serveur sur le LAN Finance mais pas à d'autres services réseau, pour des raisons de sécurité ? Avec une liste d'accès IP standard, on ne peut pas permettre aux utilisateurs d'accéder à un service réseau et pas à un autre. Autrement dit, une liste d'accès standard ne permettra pas de prendre des décisions basées sur les adresses source et de destination car il prend des décisions basées uniquement sur l'adresse source.

Mais une liste d'accès étendue le permettra. C'est parce que les listes d'accès étendues permettent de spécifier les adresses source et de destination ainsi que le protocole et le numéro de port qui identifient le protocole ou l'application de couche supérieure. En utilisant des listes d'accès étendues, on peut effectivement autoriser les utilisateurs accèdent à un réseau local physique et les empêcher d'accéder à des hôtes spécifiques, voire à des services spécifiques sur ces hôtes.

Voici un exemple de liste d'accès IP étendue :

Corp(config)# access-list ?
  <1-99>           IP standard access list
  <100-199>        IP extended access list
  <1100-1199>      Extended 48-bit MAC address access list
  <1300-1999>      IP standard access list (expanded range)
  <200-299>        Protocol type-code access list
  <2000-2699>      IP extended access list (expanded range)
  <700-799>        48-bit MAC address access list
  compiled         Enable IP access-list compilation
  dynamic-extended Extend the dynamic ACL absolute timer
  rate-limitSimple rate-limit specific access list

La première commande affiche les numéros de liste d'accès disponibles. On utilise la plage de liste d'accès étendue de 100 à 199. La plage 2000–2699 est également disponible pour les listes d'accès IP étendues.

À ce stade, il faut décider du type d'entrée de liste à créer. Pour cet exemple, on choisit une entrée de liste deny :

Corp(config)# access-list 110 ?
  deny    Specify packets to reject
  dynamic Specify a DYNAMIC list of PERMITs or DENYs
  permit  Specify packets to forward
  remark  Access list entry comment

Une fois que l'on a choisi le type de liste d'accès, il faut sélectionner une entrée de champ de protocole :

Corp(config)# access-list 110 deny ?
<0-255> An IP protocol number
ahp     Authentication Header Protocol
eigrp   Cisco's EIGRP routing protocol
esp     Encapsulation Security Payload
gre     Cisco's GRE tunneling
icmp    Internet Control Message Protocol
igmp    Internet Gateway Message Protocol
ip      Any Internet Protocol
ipinip  IP in IP tunneling
nos     KA9Q NOS compatible IP over IP tunneling
ospf    OSPF routing protocol
pcp     Payload Compression Protocol
pim     Protocol Independent Multicast
tcp     Transmission Control Protocol
udp     User Datagram Protocol

Si on souhaite filtrer par protocole de la couche application, il faut choisir le protocole approprié après l'instruction d'autorisation ou de refus. Par exemple, pour filtrer Telnet ou FTP, choisir TCP puisque Telnet et FTP utilisent TCP au niveau de la couche Transport. Si on choisit IP, on ne sera pas autorisé à spécifier un protocole d'application spécifique plus tard et on ne pourra pas filtrer que sur l'adresse source et de destination.

Ici, on va choisir de filtrer un protocole de couche Application qui utilise TCP en sélectionnant TCP comme protocole. On spécifiera le port TCP spécifique plus tard. Ensuite, on sera invité à saisir l'adresse IP source de l'hôte ou du réseau (on peut choisir la commande any pour autoriser n'importe quelle adresse source) :

Corp(config)# access-list 110 deny tcp ?
  A.B.C.D Source address
  any     Any source host
  host    A single source host

Une fois l'adresse source sélectionnée, l'adresse de destination peut être choisie :

Corp(config)# access-list 110 deny tcp any ?
  A.B.C.D Destination address
  any     Any destination host
  eq      Match only packets on a given port number
  gt      Match only packets with a greater port number
  host    A single destination host
  lt      Match only packets with a lower port number
  neq     Match only packets not on a given port number
  range   Match only packets in the range of port numbers

Dans l'exemple suivant, toute adresse IP source dont l'adresse IP de destination est 172.16.30.2 a été refusée :

Corp(config)# access-list 110 deny tcp any host 172.16.30.2 ?
  ack         Match on the ACK bit
  dscp        Match packets with given dscp value
  eq          Match only packets on a given port number
  established Match established connections
  fin         Match on the FIN bit
  fragments   Check non-initial fragments
  gt          Match only packets with a greater port number
  log         Log matches against this entry
  log-input   Log matches against this entry, including input interface
  lt          Match only packets with a lower port number
  neq         Match only packets not on a given port number
  precedence  Match packets with given precedence value
  psh         Match on the PSH bit
  range       Match only packets in the range of port numbers
  rst         Match on the RST bit
  syn         Match on the SYN bit
  time-range  Specify a time-range
  tos         Match packets with given TOS value
  urg         Match on the URG bit
<cr>

Une fois les adresses d'hôte de destination en place, spécifier simplement le type de service qu'on refuse à l'aide de la commande equal to, qu'il suffit de taper comme eq. L'écran d'aide suivant montre les options disponibles. on peut choisir un numéro de port ou utiliser le nom de l'application :

Corp(config)# access-list 110 deny tcp any host 172.16.30.2 eq ?
<0-65535> 	Port number
bgp 		Border Gateway Protocol (179)
chargen 	Character generator (19)
cmd 		Remote commands (rcmd, 514)
daytime 	Daytime (13)
discard 	Discard (9)
domain 		Domain Name Service (53)
drip 		Dynamic Routing Information Protocol (3949)
echo 		Echo (7)
exec 		Exec (rsh, 512)
finger 		Finger (79)
ftp File 	Transfer Protocol (21)
ftp-data 	FTP data connections (20)
gopher 		Gopher (70)
hostname    	NIC hostname server (101)
ident       	Ident Protocol (113)
irc         	Internet Relay Chat (194)
klogin      	Kerberos login (543)
kshell      	Kerberos shell (544)
login       	Login (rlogin, 513)
lpd         	Printer service (515)
nntp        	Network News Transport Protocol (119)
pim-auto-rp 	PIM Auto-RP (496)
pop2 		Post Office Protocol v2 (109)
pop3		Post Office Protocol v3 (110)
smtp 		Simple Mail Transport Protocol (25)
sunrpc 		Sun Remote Procedure Call (111)
syslog 		Syslog (514)
tacacs 		TAC Access Control System (49)
talk 		Talk (517)
telnet 		Telnet (23)
time 		Time (37)
uucp 		Unix-to-Unix Copy Program (540)
whois 		Nicname (43)
www 		World Wide Web (HTTP, 80)

À ce stade, bloquons Telnet (port 23) sur 172.16.30.2 uniquement. Si les utilisateurs veulent FTP, c'est autorisé.

La commande log permet d'envoyer un message chaque fois que l'entrée de la liste d'accès est atteinte. Cela peut être un moyen de surveiller les tentatives d'accès inappropriées, mais seulement dans un réseau de non-production car cela surchargerait le console de messages dans un réseau de production.

Voici la commande complète :

Corp(config)# access-list 110 deny tcp any host 172.16.30.2 eq 23 log

Il faut garder à l'esprit que la ligne suivante est un refus implicite par défaut. Si on applique cette liste d'accès à une interface, autant fermer l'interface car par défaut, il y a un refus implicite à la fin de chaque liste d'accès. il faut faire suivre la liste d'accès avec les éléments suivants:

Corp(config)# access-list 110 permit ip any any

0.0.0.0 255.255.255.255 signifie la même chose, donc la commande pourrait également ressembler à ceci :

Corp(config)# access-list 110 permit ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255

Mais, lorsqu'on regarde la configuration, les commandes sont remplacées par any any.

Une fois la liste d'accès créée, il faut l'appliquer à une interface (c'est la même commande que la liste IP standard) :

Corp(config-if)# ip access-group 110 in

Ou:

Corp(config-if)# ip access-group 110 out

Dans la section suivante, on examinera quelques exemples d'utilisation d'une liste d'accès étendue.

Exemple de liste d'accès étendu 1

En utilisant la Figure suivante, on utilise un même réseau et on veut refuser l'accès à un hôte à 172.16.50.5 sur le LAN du service financier pour les services Telnet et FTP. Tous les autres services sur ce site et tous les autres hôtes peuvent accéder aux services des départements ventes et marketing.

La liste d'accès suivante doit être créée :

Lab_A# config t
Lab_A(config)# access-list 110 deny tcp any host 172.16.50.5 eq 21
Lab_A(config)# access-list 110 deny tcp any host 172.16.50.5 eq 23
Lab_A(config)# access-list 110 permit ip any any

La liste d'accès 110 indique au routeur qu'on créé une liste d'accès IP étendue. Le tcp est le champ de protocole dans l'en-tête de la couche réseau. Si la liste ne dit pas tcp ici, on ne peut pas filtrer par les numéros de port TCP 21 et 23 comme indiqué dans l'exemple. (Ce sont FTP et Telnet, et ils utilisent tous les deux TCP pour les services orientés connexion.) La commande any est la source, ce qui signifie toute adresse IP source, et l'hôte est l'adresse IP de destination.

Cette liste de contrôle d'accès indique spécifiquement que tout le trafic IP, à l'exception de FTP et de Telnet, est autorisé à héberger 172.16.50.5 à partir de n'importe quelle source.

Au lieu de la commande host 172.16.50.5 on aurait pu entrer 172.16.50.5 0.0.0.0 et il n'y aurait pas eu d'autre différence dans le résultat qu'une modification en host 172.16.50.5 dans le fichier running-config du routeur.

Une fois la liste créée, elle doit être appliquée à l'interface FastEthernet 0/1 sortante car on veut bloquer tout le trafic d'atteindre l'hôte 172.16.50.5 et effectuer FTP et telnet. Cependant, si cette liste a été créée pour bloquer l'accès uniquement depuis le réseau local des ventes à l'hôte 172.16.50.5, alors on aurait aurions mis cette liste plus près de la source, ou sur FastEthernet 0/0. Ainsi, dans cette situation, on appliquerait la liste au trafic entrant. il faut regarder chaque situation avant de créer et d'appliquer des listes de contrôle d'accès.

Allons de l'avant et appliquons la liste à l'interface F0/1 et bloquons tous les accès FTP et Telnet extérieurs à l'hôte 172.16.50.5 :

Lab_A(config)#int fa0/1
Lab_A(config-if)# ip access-group 110 out

Exemple de liste d'accès étendu 2

Dans cet exemple, on utilisera la figure suivante, qui comporte quatre réseaux locaux et une connexion série. On veut arrêter l'accès Telnet aux réseaux attachés aux interfaces E1 et E2.

172.16.92.10/21 E3 s0 E0 E2 172.16.144.17/19 E1 172.16.198.94/18 192.16.50.173/20

La configuration sur le routeur ressemblerait à ceci, bien que la réponse puisse varier :

Router(config)# access-list 110 deny tcp any 172.16.48.0 0.0.15.255 eq 23
Router(config)# access-list 110 deny tcp any 172.16.192.0 0.0.63.255 eq 23
Router(config)# access-list 110 permit ip any any
Router(config)# interface Ethernet 1
Router(config-if)# ip access-group 110 out
Router(config-if)# interface Ethernet 2
Router(config-if)# ip access-group 110 out

Les informations importantes qu'il faut comprendre à partir de cette liste sont les suivantes : Tout d'abord, il faut vérifier que la tranche de numéros est correcte pour le type de liste d'accès que qu'on créé - dans cet exemple, elle est étendue, la plage doit donc être comprise entre 100 et 199. Deuxièmement, il faut vérifier que le champ de protocole correspond au processus ou à l'application de couche supérieure, dans cet exemple, le port TCP 23 (Telnet).

Le paramètre de protocole doit être TCP puisque Telnet utilise TCP. Si la question indiquait d'utiliser TFTP, par exemple, alors le paramètre de protocole serait doivent être UDP puisque TFTP utilise UDP. Troisièmement, vérifier que le numéro de port de destination correspond à l'application qu'on filtre — dans ce cas, le port 23 correspond à Telnet, ce qui est correct, mais comprener que on peut taper telnet à la fin de la ligne au lieu de 23. Enfin, la déclaration de test permit ip any any est important d'avoir à la fin de la liste pour activer tous les paquets autres que les paquets Telnet destinés aux réseaux locaux connectés à Ethernet 1 et Ethernet 2.

Exemple de liste d'accès étendu 3

La figure suivantes montre le réseau qu'on utilisera dans cet exemple :

Branche Office LabA switch switch F0/0 F0/1 192.168.171.1 192.168.177.2 192.168.177.3 HostA HostB HostC Finance DNS WEB 172.22.89.26

Dans cet exemple, on autorisera l'accès HTTP au serveur Finance à partir de l'hôte source B uniquement. Tout autre trafic est autorisé. On doit pouvoir configurer cela en seulement trois instructions de test, puis on devra ajouter la configuration de l'interface.

Lab_A# config t
Lab_A(config)# access-list 110 permit tcp host 192.168.177.2 host 172.22.89.26 eq 80
Lab_A(config)# access-list 110 deny tcp any host 172.22.89.26 eq 80
Lab_A(config)# access-list 110 permit ip any any

C'est simple en fait:

  1. on autorise l'accès HTTP de l'hôte B au serveur Finance.
  2. étant donné que tout autre trafic doit être autorisé, seul l'accès à HTTP sur le serveur Finance doit être bloqué, donc la deuxième instruction de test interdit à quiconque d'effectuer HTTP sur le serveur Serveur finance.
  3. enfin, maintenant que l'hôte B peut utiliser HTTP sur le serveur Finance et que tout le monde ne le peut pas, permettons tout autre trafic avec un troisième déclaration.

Cela demande juste un peu de réflexion. Mais on a pas fini. On doit appliquer cela à une interface. Étant donné que les listes d'accès étendu sont généralement appliqué le plus près de la source, on devrait placer cet entrant sur F0/0? Eh bien, c'est un exemple qui ne suit pas la règle. L'exemple dit d'autoriser uniquement le trafic HTTP vers le serveur Finance à partir de l'hôte B. Si on applique la liste de contrôle d'accès entrante sur F0/0, la branche office serait en mesure d'accéder au serveur Finance et d'effectuer HTTP. Dans cet exemple, on doit placer l'ACL le plus proche de la destination :

Lab_A(config)#interface fastethernet 0/1
Lab_A(config-if)#ip access-group 110 sortie

ACL nommées

Comme on l'a dit plus tôt, les listes d'accès nommées ne sont qu'un autre moyen de créer des listes d'accès standard et étendues. Dans les moyennes et grandes entreprises, la gestion des listes d'accès peut devenir, une vraie galère avec le temps. Par exemple, lorsque il faut modifier une liste d'accès, une pratique consiste à copier la liste d'accès dans un éditeur de texte, à modifier la liste, puis à coller la nouvelle liste dans le routeur. La question devient, que doit-on faire avec l'ancienne liste d'accès ? La supprimer? Ou doit-on l'enregistrer au cas où on aurait un problème avec la nouvelle liste et qu'on aurait besoin d'annuler la modification ? Mais avec le temps, au fil des innombrables autres scénarios - on peut se retrouver avec tout un tas de listes d'accès non appliquées qui s'accumulent sur un routeur. A quoi servaient-ils ? Sont-ils important? En ai-je besoin ?

Cela peut également s'appliquer aux listes d'accès qui sont opérationnelles. Disons qu'on entre dans un réseau existant et qu'on consulte des listes d'accès sur un routeur. Supposons qu'on trouve une liste d'accès 177 (qui est une liste d'accès étendue) de 33 lignes. Cela pourrait causer beaucoup d'inutiles questions existentielles, à quoi ça sert ? Pourquoi est-ce ici ? Au lieu de cela, ne serait-il pas plus facile d'identifier une liste d'accès appelée, disons, LAN Finance qu'une liste nommée 177 ?

Les listes d'accès nommées permettent d'utiliser des noms pour créer et appliquer des listes d'accès standard ou étendues. Il n'y a rien de nouveau ou de différent à propos de ces listes d'accès en plus de pouvoir s'y référer d'une manière qui a du sens pour les humains. Mais il y a quelques changements subtils dans la syntaxe, recréons donc la liste d'accès standard qu'on a créée précédemment en utilisant une liste d'accès nommée :

Lab_A# config t
Enter configuration commands, one per line. End with CNTL/Z.
Lab_A(config)# ip access-list ?
  extended Extended Acc
  logging Control access list logging
  standard Standard Access List

On remarquera qu'on a commencé par taper ip access-list, pas access-list. Cela permet d'entrer dans une liste d'accès nommée. Ensuite, on doit préciser qu'il s'agit d'une liste d'accès standard :

Lab_A(config)# ip access-list standard ?
  <1-99> Standard IP access-list number
  WORD   Access-list name
Lab_A(config)# ip access-list standard BlockSales
Lab_A(config-std-nacl)#

On a spécifié une liste d'accès standard, puis on a ajouté un nom : BlockSales. On a aurais pu utiliser un numéro pour une liste d'accès standard, mais à la place, on a utiliser un nom descriptif.

On remarquera qu'après avoir entré le nom, et appuyé sur Entrée et l'invite du routeur a changé, on est maintenant dans le mode de configuration de la liste d'accès nommée et de saisie de la liste d'accès nommée :

Lab_A(config-std-nacl)# ?
Standard  Access List configuration commands:
  default Set a command to its defaults
  deny    Specify packets to reject
  exit    Exit from access-list configuration mode
  no      Negate a command or set its defaults
  permit  Specify packets to forward
Lab_A(config-std-nacl)# deny 172.16.40.0 0.0.0.255
Lab_A(config-std-nacl)# permit any
Lab_A(config-std-nacl)# exit
Lab_A(config)# ^Z
Lab_A#

On entre dans la liste d'accès, puis on quitte le mode de configuration. Ensuite, on va jeter un oeil à la configuration en cours pour vérifier que la liste d'accès est en effet dans le routeur :

Lab_A# show running-config
!
ip access-list standard BlockSales
deny 172.16.40.0 0.0.0.255
permit any
!

La liste d'accès BlockSales a vraiment été créée et se trouve dans la running configuration du routeur. Ensuite, on doit appliquer la liste d'accès au bon interface:

Lab_A# config t
Lab_A(config)# int fa0/1
Lab_A(config-if)# ip access-group BlockSales out
Lab_A(config-if)# ^Z
Lab_A#

À ce stade, on a recréé le travail effectué précédemment à l'aide d'une liste d'accès nommée.

Le mot-clé remark est vraiment important car il donne la possibilité d'inclure des commentaires, ou plutôt remarques, concernant les entrées que l'on a fait à la fois dans la norme IP et dans les listes de contrôle d'accès étendues. Les remarques augmentent la capacité à examiner et à comprendre les ACL. Sans elles, on est pris dans un bourbier de nombres potentiellement dénués de sens sans rien pour aider.

Même si on a la possibilité de placer des remarques avant ou après une déclaration d'autorisation ou de refus, on recommande de les positionner de manière cohérente afin de ne pas perdre de vue sur quelle déclarations elles sont pertinentes.

Pour introduire une remarque dans les listes de contrôle d'accès standard et étendues, utiliser simplement la commande de configuration globale access-list number remark remarque. Et si on veut se débarrasser d'une remarque, utiliser simplement la commande no.

On peut ajouter une remark à la fois à une liste étendue et à une liste d'accès nommée. Cependant, on ne peut pas voir ces remarques dans la sortie de la commande émise, uniquement dans le fichier running-config.

Désactivation et configuration des services réseau

Par défaut, IOS exécute certains services qui ne sont pas nécessaires à son fonctionnement normal, et si on ne les désactive pas, ils peuvent être des cibles faciles pour les attaques par déni de service (DoS) et les tentatives d'effraction.

Les attaques DoS sont les attaques les plus courantes car elles sont les plus faciles à réaliser. L'utilisation d'outils logiciels et/ou matériels tels que le système de détection des intrusions (IDS) et le système de prévention des intrusions (IPS) peuvent à la fois avertir et arrêter ces attaques simples, mais nuisibles. Cependant, si on ne peut pas implémenter IDS/IPS, il y a quelques commandes de base qu'on peut utiliser sur un routeur pour les rendre plus sûrs, mais rien ne le rendra complètement sûr dans les réseaux d'aujourd'hui.

Jetons un coup d'œil aux services de base qu'on devrait désactiver dans les routeurs.

Blocage des paquets SNMP

Les configurations par défaut de Cisco IOS permettent l'accès à distance à partir de n'importe quelle source, donc à moins qu'on ne soit trop confiant ou fou, cela devrait être totalement évident que ces configurations nécessitent un peu d'attention. il faut les restreindre. Si on ne le fait pas, le routeur sera une cible asser facile pour un attaquant qui veut s'y connecter. C'est là que les listes d'accès entrent en jeu : elles peuvent vraiment protéger.

Si on place la commande suivante sur l'interface serial0/0 du routeur de périmètre, cela empêchera tous les paquets SNMP d'entrer dans le routeur ou le DMZ. (On aura également besoin d'une commande permit avec cette liste pour que cela fonctionne vraiment, mais ce n'est qu'un exemple.)

Lab_B(config)#access-list 110 deny udp any any eq snmp
Lab_B(config)#interface s0/0
Lab_B(config-if)#access-group 110 in

Désactivation de l'écho

Les petits services sont des serveurs (démons) exécutés dans le routeur qui sont très utiles pour les diagnostics. Et encore une fois—par défaut, le routeur Cisco dispose d'une série de ports de diagnostic activés pour certains services UDP et TCP, notamment echo, chargen et discard.

Lorsqu'un hôte se connecte à ces ports, une petite quantité de CPU est consommée pour répondre à ces demandes. Tout ce qu'un appareil attaquant doit faire est d'envoyer toute une série de requêtes avec des adresses IP sources différentes, aléatoires et fausses pour submerger le routeur, le faisant ralentir ou même échouer. on peut utiliser no pour arrêter une attaque chargen:

Lab_B(config)#no service tcp-small-servers
Lab_B(config)#no service udp-small-servers

Finger est un programme utilitaire conçu pour permettre aux utilisateurs d'hôtes Unix sur Internet d'obtenir des informations les uns sur les autres :

Lab_B(config)#no service finger

Cela est important car la commande finger peut être utilisée pour rechercher des informations sur tous les utilisateurs du réseau et/ou du routeur. C'est aussi pourquoi on devrait le désactiver. La commande finger est l'équivalent distant de l'émission de la commande show users sur le routeur.

Voici les petits services TCP :

  • echo: fait écho à tout ce qu'on tape. Taper la commande telnet x.x.x.x echo ? pour voir les options.
  • chargen: Génère un flux de données ASCII. Taper la commande telnet x.x.x.x chargen ? pour voir les options.
  • discard: jette tout ce qu'on tape. Taper la commande telnet x.x.x.x discard ? pour voir les options.
  • daytime: Renvoie la date et l'heure du système, si elles sont correctes. C'est correct si on exécute NTP ou si on ar réglé la date et l'heure manuellement à partir du niveau EXEC. Taper la commande telnet x.x.x.x daytime ? pour voir les options.

Les petits services UDP sont les suivants :

  • echo : fait écho à la charge utile du datagramme qu'on envoit
  • discard : lance silencieusement le datagramme qu'on envoit
  • Chargen : lance le datagramme qu'on envoit et répond avec une chaîne de 72 caractères de caractères ASCII terminée par un CR+LF

Désactiver BootP et Auto-Config

Par défaut, le routeur Cisco offre également un service BootP ainsi qu'un service de configuration automatique à distance. Pour désactiver ces fonctions sur un Routeur Cisco, utiliser les commandes suivantes :

Lab_B(config)# no ip boot server
Lab_B(config)# no service config

Désactivation de l'interface HTTP

La commande ip http server peut être utile pour configurer et surveiller le routeur, mais le transport en clair de HTTP peut évidemment être un risque de sécurité. Pour désactiver le processus HTTP sur le routeur, utiliser la commande suivante :

Lab_B(config)#no ip http server 

Pour activer un serveur HTTP sur un routeur pour AAA, utiliser la commande de configuration globale ip http server.

Désactivation IP source routing

L'option source-route d'en-tête IP permet à l'hôte IP source de définir la route d'un paquet à travers le réseau IP. Avec source IP activé, les paquets contenant l'option source-route sont transmises avec les adresses de routeur spécifiées dans l'en-tête. Utiliser la commande suivante pour désactiver tout traitement des paquets avec des options d'en-tête de routage source :

Lab_B(config)# no ip source-route

Désactivation du proxy ARP

Proxy ARP est la technique dans laquelle un hôte, généralement un routeur, répond aux requêtes ARP destinées à une autre machine. En « simulant » son identité, le routeur accepte la responsabilité d'acheminer ces paquets vers la « vraie » destination. Proxy ARP peut aider les machines sur un sous-réseau à atteindre des sous-réseaux distants sans configurer de routage ni de passerelle par défaut. La commande suivante désactive le proxy ARP :

Lab_B(config)# interface fa0/0
Lab_B(config-if)# no ip proxy-arp

Appliquer cette commande à toutes les interfaces LAN du routeur.

Désactiver les messages de redirection

Les messages de redirection ICMP sont utilisés par les routeurs pour informer les hôtes sur la liaison de données qu'une meilleure route est disponible pour une destination particulière. Pour désactiver les messages de redirection afin que les personnes malveillantes ne puissent pas extraire la topologie du réseau avec ces informations, utiliser la commande suivante :

Lab_B(config)#interface s0/0
Lab_B(config-if)#no ip redirects

Appliquer cette commande à toutes les interfaces du routeur.

Il faut être prudent lorsqu'on configure cela, le trafic utilisateur légitime peut finir par prendre un itinéraire sous-optimal.

Désactivation de la génération de messages ICMP inaccessibles

La commande no ip unreachables empêche le routeur de périmètre de divulguer des informations de topologie en indiquant aux hôtes externes quels sous-réseaux ne sont pas configuré. Cette commande est utilisée sur l'interface d'un routeur connecté à un réseau extérieur :

Lab_B(config)#interface s0/0
Lab_B(config-if)# no ip unreachables

Encore une fois, appliquer cela à toutes les interfaces du routeur qui se connectent au monde extérieur.

Désactivation de la mise en cache des routes de multidiffusion

Le cache de routage de multidiffusion répertorie les entrées de cache de routage de multidiffusion. Ces paquets peuvent être lus et créent donc un problème de sécurité. Pour désactiver la mise en cache de route multidiffusion, utiliser la commande suivante :

Lab_B(config)#interface s0/0
Lab_B(config-if)#no ip mroute-cache

Appliquer cette commande à toutes les interfaces du routeur.

Il faut être prudent lorsqu'on désactive cette commande car elle peut ralentir le trafic de multidiffusion légitime.

Désactivation du protocole d'opération de maintenance (MOP)

Le protocole d'opération de maintenance (MOP) fonctionne au niveau des couches de liaison de données et de réseau dans la suite de protocoles DECnet et est utilisé pour les services publics comme le téléchargement et le téléchargement de logiciels système, les tests à distance et le diagnostic des problèmes. Pour désactiver ce service, utiliser la commande suivante :

Lab_B(config)# interface s0/0
Lab_B(config-if)# no mop enabled

Appliquer cette commande à toutes les interfaces du routeur.

Désactivation du service X.25 PAD

L'assembleur/désassembleur de paquets (PAD) connecte des périphériques asynchrones tels que des terminaux et des ordinateurs aux réseaux X.25 publics/privés. Depuis que chaque ordinateur dans le monde est à peu près au courant de l'IP, et X.25 est tombé en désuétude, il n'y a aucune raison de laisser ce service en cours d'exécution. Utiliser la commande suivante pour désactiver le service PAD :

Lab_B(config)#no service pad

Activation de l'algorithme de congestion Nagle TCP

L'algorithme de congestion Nagle TCP est utile pour la congestion de petits paquets, mais si on utilise un paramètre plus élevé que le MTU par défaut de 1 500 octets, cela peut créer une charge de trafic supérieure à la moyenne. Pour activer ce service, utiliser la commande suivante :

Lab_B(config)#service nagle

Le service de congestion Nagle peut rompre la connexion XWindow à un serveur X, alors il ne faut pas l'utiliser si on utiliser XWindow.

Journalisation de chaque événement

Pour utiliser un serveur Syslog, pour enregistrer des événements pour pouvoir les vérifier, utiliser la commande logging trap debugging ou logging trap level et la commande logging ip_address

Lab_B(config)# logging trap debugging
Lab_B(config)# logging 192.168.254.251
Lab_B(config)# exit
Lab_B# sh logging
  Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
  Console logging: level debugging, 15 messages logged
  Monitor logging: level debugging, 0 messages logged
  Buffer logging: disabled
  Trap logging: level debugging, 19 message lines logged
    Logging to 192.168.254.251, 1 message lines logged

La commande fournit des statistiques de la configuration de journalisation sur le routeur.

Désactivation du protocole de découverte Cisco

Cisco Discovery Protocol (CDP) est un protocole propriétaire Cisco qui découvrir les appareils Cisco directement connectés sur le réseau. Mais comme il s'agit d'un protocole de couche de liaison de données, il ne peut pas trouver les périphériques Cisco de l'autre côté d'un routeur. De plus, par défaut, les commutateurs Cisco ne transfèrent pas les paquets CDP, de sorte qu'on ne peut pas voir les périphériques Cisco connectés à un autre port sur un commutateur.

Lorsqu'on ouvre un réseau pour la première fois, CDP peut être un protocole très utile pour le vérifier. Mais on n'a plus besoin du CDP après cela. Et comme CDP découvre les routeurs et commutateurs Cisco sur le réseau, on doit le désactiver.

On peut le faire en mode de configuration globale, ce qui désactive complètement le CDP pour le routeur ou commutateur :

Lab_B(config)#no cdp run

Ou, on peut désactiver CDP sur chaque interface individuelle à l'aide de la commande suivante :

Lab_B(config-if)#no cdp enable

Désactivation des protocoles UDP transférés par défaut

Lorsqu'on utilise la commande ip helper-address comme suit sur une interface, le routeur transmettra les diffusions UDP au(x) serveur(s) répertorié(s) :

Lab_B(config)# interface f0/0
Lab_B(config-if)# ip helper-address 192.168.254.251

On utilise généralement la commande ip helper-address lorsqu'on souhaite transférer les demandes des clients DHCP vers un serveur DHCP. Le problème est que cela ne fait pas que transmettre le port 67 (requête du serveur BOOTP), il transfère également sept autres ports par défaut. Pour désactiver les ports inutilisés, utiliser les commandes suivantes :

Lab_B(config)# no	ip	forward-protocol	udp	69
Lab_B(config)# no	ip	forward-protocol	udp	53
Lab_B(config)# no	ip	forward-protocol	udp	37
Lab_B(config)# no	ip	forward-protocol	udp	137
Lab_B(config)# no	ip	forward-protocol	udp	138
Lab_B(config)# no	ip	forward-protocol	udp	68
Lab_B(config)# no	ip	forward-protocol	udp	49

Désormais, seule la requête du serveur BOOTP (67) sera transmise au serveur DHCP. Si on souhaite rediriger un certain port, disons TACACS+, par exemple, utiliser la commande suivante :

Lab_B(config)#ip forward-protocol udp 49

Sécurité automatique de Cisco:

Les ACL représentent beaucoup de travail, tout comme la désactivation de tous les services dont on viens de parler. Mais il faut sécuriser un routeur avec des ACL, notamment sur l'interface connectée à Internet.

Cependant, Cisco a une solution qui est un bon début, et c'est facile à mettre en œuvre. La commande s'appelle auto secure, et on l'exécute simplement à partir du mode privilégié.

Résumé

Dans ce chapitre, on a vu comment configurer des listes d'accès standard pour filtrer correctement le trafic IP. On a vu ce qu'est une liste d'accès standard et comment l'appliquer à un routeur Cisco pour renforcer la sécurité du réseau. On a également appris à configurer des listes d'accès étendues pour filtrer davantage le trafic IP.

On a vu les différences entre les listes d'accès standard et étendues ainsi que la façon de les appliquer aux routeurs Cisco.

On a ensuite vu comment configurer des listes d'accès nommées et les appliquer aux interfaces du routeur. Les listes d'accès nommés offrent l'avantage d'être facilement identifiables et, par conséquent, beaucoup plus faciles à gérer que les listes d'accès auxquelles se réfèrent simplement d'obscurs nombres.

On a également vu les services par défaut à désactiver.

Encore une fois, il est toujours bon de pouvoir vérifier la configuration d'un routeur. Le Tableau suivant répertorie les commandes qui peuvent être utilisées pour vérifier la configuration.

Commande Effet
show access-list Affiche toutes les listes d'accès et leurs paramètres configurés sur le routeur. Cette commande ne montre pas sur quelle interface la liste est définie.
show access-list 110 Affiche uniquement les paramètres de la liste d'accès 110. Cette commande ne montre pas l'interface sur laquelle la liste est définie.
show ip access-list Affiche uniquement les listes d'accès IP configurées sur le routeur.
show ip interface Affiche les interfaces pour lesquelles des listes d'accès sont définies.
show running-config Affiche les listes d'accès et quelles interfaces ont des listes d'accès

Essentiels de l'examen

Les plages de numéros de liste d'accès IP standard et étendue: Les plages de numéros qu'on peut utiliser pour configurer une liste d'accès standard sont 1-99 et 1300-1999. Les plages de numéros pour une liste d'accès étendue sont de 100 à 199 et de 2000 à 2699.

Comprendre le terme implicit deny À la fin de chaque liste d'accès se trouve un refus implicite. Cela signifie que si un paquet ne correspond à aucune des lignes de la liste d'accès, il sera supprimé. De plus, si on n'a que des instructions de refus dans la liste, la liste n'autorisera aucun paquet.

Comprendre la commande de configuration de liste d'accès IP standard: Pour configurer une liste d'accès IP standard, utiliser les numéros de liste d'accès 1–99 ou 1300–1999 en mode de configuration globale. Choisir permit ou deny, puis choisir l'adresse IP source sur laquelle on souhaite filtrer à l'aide de l'un des trois techniques abordées dans ce chapitre.

Comprendre la commande de configuration de la liste d'accès IP étendue: Pour configurer une liste d'accès IP étendue, utiliser les numéros de liste d'accès 100–199 ou 2000–2699 en mode de configuration globale. Choisir permit ou deny, le champ Protocole de couche réseau, l'adresse IP source que l'on souhaite filter on, l'adresse de destination sur laquelle on souhaite filtrer, et enfin le numéro de port de la couche Transport si TCP ou UDP a été spécifié comme protocole.

La commande pour vérifier une liste d'accès sur une interface de routeur: Pour voir si une liste d'accès est définie sur une interface et dans quelle direction elle filtre, utiliser la commande show ip interface. Cette commande ne montrera pas le contenu de la liste d'accès, mais simplement quel access list sont appliquées sur l'interface.

Commande pour vérifier la configuration de la liste d'accès: Pour voir les listes d'accès configurées sur le routeur, utiliser la commande show access-list. Cette commande ne montrera pas quelles interfaces ont une liste d'accès définie.

Travaux pratiques

Dans cette section, on va traiter deux labos. Pour effectuer ces travaux pratiques, on a besoin d'au moins trois routeurs. on peut facilement effectuer ces travaux pratiques avec le Programme Cisco Packet Tracer.

  • Atelier 12.1: Listes d'accès IP standard
  • Atelier 12.2: Listes d'accès IP étendues

Les travaux pratiques utiliseront le schéma suivant pour configurer les routeurs.

switch switch switch LABA LABB LABC HostA HostB HostC F0/27 F0/2 F0/3 F0/2 F0/3 F0/4 F0/4 F0/5 F0/5 F0/26 F0/1 F0/1 172.16.10.0/24 172.16.30.0/24 172.16.50.0/24 F0/0 F0/0 F0/0 172.16.20.0/24 172.16.40.0/24 S0/0 S0/0 S0/1 S0/0 DCE DCE

Atelier 12

Dans cette section, répondre aux questions suivantes :

  1. Quelle commande utiliser pour configurer une liste d'accès IP standard pour empêcher toutes les machines du réseau 172.16.0.0/16 d'accéder au réseau Ethernet ?
  2. Quelle commande utiliser pour appliquer la liste d'accès créée à la question 1 à une sortie d'interface Ethernet ?
  3. Quelle commande utiliser pour créer une liste d'accès qui refuse à l'hôte 192.168.15.5 l'accès à un réseau Ethernet ?
  4. Quelle commande vérifie qu'on a correctement saisi la liste d'accès ?
  5. Quels sont les deux outils qui peuvent aider à notifier et à prévenir les attaques DoS ?
  6. Quelle commande utiliser pour créer une liste d'accès étendue qui empêche l'hôte 172.16.10.1 de passer de telnetting à l'hôte 172.16.30.5 ?
  7. Quelle commande utiliser pour définir une liste d'accès sur une ligne VTY ?
  8. À partir de la question 1, écrire la même liste d'accès IP standard qu'on a écrit à la question 1, mais cette fois en tant que liste d'accès nommée.
  9. À partir de la question 8, écrire la commande pour appliquer la liste d'accès nommée qu'on a créer à une sortie d'interface Ethernet.
  10. Quelle commande vérifie le placement et la direction d'une liste d'accès ?

(Les réponses à ce Lab 12 peuvent être trouvées après les réponses aux questions de révision de ce chapitre.)

Atelier 12.1 : Listes d'accès IP standard

Dans cet atelier, on autorisera uniquement les paquets de HostB sur le réseau 172.16.30.0 à entrer dans le réseau 172.16.10.0:

  1. Accéder à LabA et entrer en mode de configuration globale en tapant config t.
  2. Depuis le mode de configuration globale, taper access-list ? pour obtenir une liste de toutes les différentes listes d'accès disponibles.
  3. Choisir un numéro de liste d'accès qui permettra de créer une liste d'accès IP standard. C'est un nombre entre 1 et 99 ou 1300 et 1399.
  4. Choisir d'autoriser l'hôte 172.16.30.2, qui est l'adresse de l'hôte B en utilisant les caractères génériques 0.0.0.0 :
    Lab_A(config)# access-list 10 permit 172.16.30.2 0.0.0.0
  5. Maintenant que la liste d'accès est créée, il faut l'appliquer à une interface pour la faire fonctionner :
    Lab_A(config)#int f0/0
    Lab_A(config-if)#ip access-group 10 out
  6. Vérifier le liste d'accès avec les commandes suivantes :
    Lab_A# sh access-list
  7. Tester la liste d'accès en effectuant une requête ping de l'hôte B (172.16.30.2) vers l'hôte A (172.16.10.2).
  8. Ping depuis LabB et LabC vers l'hôte A (172.16.10.2) ; ceux-ci devraient échouer si la liste d'accès est correcte.

Atelier 12.2 : Listes d'accès IP étendues

Dans ce laboratoire, on utilisera une liste d'accès IP étendue pour empêcher l'hôte 172.16.10.2 de créer une session Telnet vers le routeur LabB (172.16.20.2). Pourtant, l'hôte devrait toujours pouvoir envoyer un ping au routeur LabB. Les listes étendues IP doivent être placées près de la source, alors ajouter la liste étendue sur le routeur LabA:

  1. Supprimer toutes les listes d'accès sur LabA et ajouter une liste étendue à LabA.
  2. Choisir un numéro pour créer une liste IP étendue (les listes étendues IP utilisent 100-199 ou 2000-2699)
  3. Utiliser une instruction de deny. (On ajoutera une déclaration d'autorisation à l'étape 7 pour permettre à d'autres trafics de continuer à fonctionner.):
    LabA(config)# access-list 110 deny ?
  4. Puisque'on veut refuser Telnet, il faut choisir TCP comme protocole de couche de transport :
    Lab_A(config)#access-list 110 deny TCP
  5. Ajouter l'adresse IP source sur laquelle on souhaite filtrer, puis ajouter l'adresse IP de l'hôte de destination. Utiliser la commande host au lieu du caractère générique.
    Lab_A(config)# access-list 110 deny tcp host 172.16.10.2 host 172.16.20.2
  6. À ce stade, on peut ajouter la commande eq telnet pour filtrer l'hôte 172.16.10.2 de telnetting à 172.16.20.2 (La commande log peut également être utilisé à la fin de la commande de sorte que chaque fois que la ligne access-list est touchée, un journal sera généré sur la console):
    Lab_A(config)# access-list 110 deny tcp host 172.16.10.2 host 172.16.20.2 eq telnet log
  7. Il est important de créer une déclaration de permit (Il faut créer une déclaration de permit car si on ajoute simplement une instruction de deny, rien ne sera autorisé du tout, voir les sections précédentes dans ce chapitre pour des informations plus détaillées sur la commande deny any implicite à la fin de chaque ACL), (0.0.0.0 255.255.255.255 est le même que la commande all):
    Lab_A(config)#access-list 110 permit ip any 0.0.0.0 255.255.255.255
  8. Appliquer la liste d'accès au port FastEthernet0/0 sur LabA pour arrêter le trafic Telnet dès qu'il atteint la première interface de routeur:
    Lab_A(config)#int f0/0
    Lab_A(config-if)#ip access-group 110 in
    Lab_A(config-if)#^Z
  9. Essayer une session telnet de l'hôte 172.16.10.2 vers LabA en utilisant l'adresse IP de destination de 172.16.20.2. Des messages doivent être apparaitre sur la console de LabA ; cependant, la commande ping devrait fonctionner depuis l'hôte 172.16.10.2

Questions de révision

Les questions suivantes sont conçues pour tester la compréhension du contenu de ce chapitre:

1. Lequel des éléments suivants est un exemple de liste d'accès IP standard ?

A. access-list 110 permit host 1.1.1.1
B. access-list 1 deny 172.16.10.1 0.0.0.0
C. access-list 1 permit 172.16.10.1 255.255.0.0
D. access-list standard 1.1.1.1

2. il faut créer une liste d'accès qui empêchera les hôtes dans la plage réseau de 192.168.160.0 à 192.168.191.0. Laquelle des listes suivantes utiliser?

A. access-list 10 deny 192.168.160.0 255.255.224.0
B. access-list 10 deny 192.168.160.0 0.0.191.255
C. access-list 10 deny 192.168.160.0 0.0.31.255
D. access-list 10 deny 192.168.0.0 0.0.31.255

3. On a créer une liste d'accès nommée appelée Blocksales. Laquelle des commandes suivantes est une commande valide pour l'appliquer aux paquets essayant d'entrer par l'interface s0 du routeur ?

A. (config)#ip access-group 110 in
B. (config-if)#ip access-group 110 in
C. (config-if)#ip access-group Blocksales in
D. (config-if)#Blocksales ip access-list in

4. Parmi les propositions suivantes, lesquelles sont des manières valides de se référer uniquement à l'hôte 172.16.30.55 dans une liste d'accès IP ? (Choisir deux.)

A. 172.16.30.55 0.0.0.255
B. 172.16.30.55
C. any 172.16.30.55
D. host 172.16.30.55
E. 0.0.0.0 172.16.30.55
F. ip 0.0.0.0 any 172.16.30.55

5. Laquelle des listes d'accès suivantes autorisera uniquement le trafic HTTP vers le réseau 196.15.7.0 ?

A. access-list 100 permit tcp any 196.15.7.0 0.0.0.255 eq www
B. access-list 10 deny tcp any 196.15.7.0 eq www
C. access-list 100 permit 196.15.7.0 0.0.0.255 eq www
D. access-list 110 permit ip any 196.15.7.0 0.0.0.255
E. access-list 110 permit www 196.15.7.0 0.0.0.255

6. Quelle commande de routeur permet de déterminer si une liste d'accès IP est activée sur une interface particulière ?

A. show ip port
B. show access-lists
C. show ip interface
D. show access-lists interface

7. Quelle commande de routeur permet d'afficher l'intégralité du contenu de toutes les listes d'accès ?

A. Router# show interface
B. Router> show ip interface
C. Router# show access-lists
D. Router> show all access-lists

8. Si on veut refuser toutes les connexions Telnet au seul réseau 192.168.10.0, quelle commande peut-on utiliser ?

A. access-list 100 deny tcp 192.168.10.0 255.255.255.0 eq telnet
B. access-list 100 deny tcp 192.168.10.0 0.255.255.255 eq telnet
C. access-list 100 deny tcp any 192.168.10.0 0.0.0.255 eq 23
D. access-list 100 deny 192.168.10.0 0.0.0.255 any eq 23

9. Si on veut refuser l'accès FTP du réseau 200.200.10.0 au réseau 200.199.11.0 mais autoriser tout le reste, laquelle des commandes suivantes est valide?

A. access-list 110 deny 200.200.10.0 to network 200.199.11.0 eq ftp
   access-list 111 permit ip any 0.0.0.0 255.255.255.255
B. access-list 1 deny ftp 200.200.10.0 200.199.11.0 any any
C. access-list 100 deny tcp 200.200.10.0 0.0.0.255 200.199.11.0 0.0.0.255 eq ftp
D. access-list 198 deny tcp 200.200.10.0 0.0.0.255 200.199.11.0 0.0.0.255 eq ftp
   access-list 198 permit ip any 0.0.0.0 255.255.255.255

10. On souhaite créer une liste d'accès standard qui refuse les trames de l'hôte 172.16.50.172/20. Parmi les propositions suivantes, laquelle comencerait la liste?

A. access-list 10 deny 172.16.48.0 255.255.240.0
B. access-list 10 deny 172.16.0.0 0.0.255.255
C. access-list 10 deny 172.16.64.0 0.0.31.255
D. access-list 10 deny 172.16.48.0 0.0.15.255

11. Quelle commande utiliser pour appliquer une liste d'accès à une interface de routeur ?

A. ip access-list 101 out
B. access-list ip 101 in
C. ip access-group 101 in
D. access-group ip 101 in

12. On souhaite créer une liste d'accès standard qui refuse les trames de l'hôte 172.16.198.94/19. Parmi les propositions suivantes, laquelle commencerait la liste ?

A. access-list 10 deny 172.16.192.0 0.0.31.255
B. access-list 10 deny 172.16.0.0 0.0.255.255
C. access-list 10 deny 172.16.172.0 0.0.31.255
D. access-list 10 deny 172.16.188.0 0.0.15.255

13. On souhaite créer une liste d'accès standard qui refuse les trames de l'hôte 172.16.144.17/21. Parmi les propositions suivantes, laquelle commencerait la liste ?

A. access-list 10 deny 172.16.48.0 255.255.240.0
B. access-list 10 deny 172.16.144.0 0.0.7.255
C. access-list 10 deny 172.16.64.0 0.0.31.255
D. access-list 10 deny 172.16.136.0 0.0.15.255

14. Laquelle des commandes suivantes connecte la liste d'accès 110 entrante à l'interface ethernet0 ?

A. Router(config)# ip access-group 110 in
B. Router(config)# ip access-list 110 in
C. Router(config-if)# ip access-group 110 in
D. Router(config-if)# ip access-list 110 in

15. Quelle commande permettra au courrier SMTP d'héberger uniquement 1.1.1.1 ?

A. access-list 10 permit smtp host 1.1.1.1
B. access-list 110 permit ip smtp host 1.1.1.1
C. access-list 10 permit tcp any host 1.1.1.1 eq smtp
D. access-list 110 permit tcp any host 1.1.1.1 eq smtp

16. On configure la liste d'accès suivante :

access-list 110 deny tcp 10.1.1.128 0.0.0.63 any eq smtp
access-list 110 deny tcp any any eq 23
int ethernet 0
ip access-group 110 out

Quel sera le résultat de cette liste d'accès ?

A.Les e-mails et Telnet seront autorisés à sortir E0.
B.Les e-mails et Telnet seront autorisés dans E0.
C.Tout sauf le courrier électronique et Telnet sera autorisé à sortir E0.
D.Aucun trafic IP ne sera autorisé en sortie E0.

17. Laquelle des séries de commandes suivantes limitera l'accès Telnet au routeur ?

A. Lab_A(config)# access-list 10 permit 172.16.1.1
   Lab_A(config)# line con 0
   Lab_A(config-line)# ip access-group 10 in
B. Lab_A(config)# access-list 10 permit 172.16.1.1
   Lab_A(config)# line vty 0 4
   Lab_A(config-line)# access-class 10 out
C. Lab_A(config)# access-list 10 permit 172.16.1.1Lab_A(config)# line vty 0 4
   Lab_A(config-line)# access-class 10 in
D. Lab_A(config)# access-list 10 permit 172.16.1.1
   Lab_A(config)# line vty 0 4
   Lab_A(config-line)# ip access-group 10 in

18. Laquelle des affirmations suivantes est vraie concernant les listes d'accès appliquées à une interface ?

A.on peut placer autant de listes d'accès que l'on souhaite sur n'importe quelle interface jusqu'à ce qu'on manque de mémoire.
B.On ne peut appliquer qu'une seule liste d'accès sur n'importe quelle interface.
C.Une liste d'accès peut être configurée, par direction, pour chaque protocole de couche 3 configuré sur une interface.
D.on peut appliquer deux listes d'accès à n'importe quelle interface.

19. Quelle est l'attaque la plus courante sur un réseau aujourd'hui ?

A. Lock picking
B. Naggle
C. DoS
D. auto secure

20. Il faut arrêter les attaques DoS en temps réel et avoir un journal de toute personne qui a tenté d'attaquer le réseau. Que faire dans le réseau ?

A.Ajouter plus de routeurs
B.Utiliser la commande auto secure
C.Mettre en œuvre l'IDS/IPS
D.Configurer Naggle

Réponses aux questions de révision

  1. B. Les listes d'accès IP standard utilisent les numéros 1 à 99 et 1300 à 1999 et filtrent en fonction de l'adresse IP source uniquement. L'option C est incorrecte car le masque doit être au format générique.
  2. C. La plage de 192.168.160.0 à 192.168.191.0 est une taille de bloc de 32. L'adresse réseau est 192.168.160.0 et le masque serait 255.255.224.0, qui pour une liste d'accès doit être un format générique de 0.0.31.255. Le 31 est utilisé pour une taille de bloc de 32. Le caractère générique est toujours inférieur à la taille du bloc.
  3. C. L'utilisation d'une liste d'accès nommée remplace simplement le numéro utilisé lors de l'application de la liste à l'interface du routeur. ip access-group Blocksales dans est correct.
  4. B, D. Le caractère générique 0.0.0.0 indique au routeur de faire correspondre les quatre octets. Ce format générique seul peut être remplacé par la commande host.
  5. A. La première chose à vérifier dans une question comme celle-ci est le numéro de la liste d'accès. Tout de suite, on peut voir que la deuxième option est fausse car elle utilise un numéro de liste d'accès IP standard. La deuxième chose à vérifier est le protocole. Si on filtre par protocole de couche supérieure, il faut utiliser soit UDP ou TCP ; cela élimine la quatrième option. Les troisième et dernière réponses ont la mauvaise syntaxe.
  6. C. Parmi les choix disponibles, seule la commande show ip interface dira quelles interfaces ont des listes d'accès appliquées. afficher les listes d'accès n'indiquera pas quelles interfaces ont une liste d'accès appliquée.
  7. C. La commande show access-lists vous permettra de visualiser l'intégralité du contenu de toutes les listes d'accès, mais elle ne vous montrera pas les interfaces auxquelles les listes d'accès sont appliquées.
  8. C. Les plages de liste d'accès étendues sont 100–199 et 2000–2699, donc le numéro de liste d'accès de 100 est valide. Telnet utilise TCP, donc le protocole TCP est valide. Il ne vous reste plus qu'à rechercher l'adresse source et de destination. Seule la troisième option a la séquence correcte de paramètres. L'option B peut fonctionner, mais la question indique spécifiquement « uniquement » pour le réseau 192.168.10.0, et le caractère générique de l'option B est trop large.
  9. D. Les listes d'accès IP étendues utilisent les numéros 100 à 199 et 2000 à 2699 et filtrent en fonction de l'adresse IP source et de destination, du numéro de protocole et numéro de port. La dernière option est correcte en raison de la deuxième ligne qui spécifie permit ip any any. (J'ai utilisé 0.0.0.0 255.255.255.255, ce qui est le même que l'option any.) La troisième option n'a pas cela, donc elle refuserait l'accès mais n'autoriserait pas tout le reste.
  10. D. Premièrement, il faut savoir qu'un /20 est 255.255.240.0, qui est une taille de bloc de 16 dans le troisième octet. En comptant par 16s, cela rend le sous-réseau de 48 dans le troisième octet, et le caractère générique pour le troisième octet serait 15 puisque le caractère générique est toujours un de moins que la taille du bloc.
  11. C. Pour appliquer une liste d'accès, la commande appropriée est ip access-group 101 in.
  12. A. Tout d'abord, il faut savoir qu'un /19 est 255.255.224.0, qui est une taille de bloc de 32 dans le troisième octet. Connting par 32, cela rend le sous-réseau 192 dans le troisième octet, et le caractère générique pour le troisième octet serait 31 puisque le caractère générique est toujours un de moins que la taille du bloc.
  13. B. Tout d'abord, il faut savoir qu'un /21 est 255.255.248.0, qui est une taille de bloc de 8 dans le troisième octet. En comptant par huit, cela fait de le sous-réseau 144 dans le troisième octet, et le caractère générique pour le troisième octet serait 7 puisque le caractère générique est toujours un de moins que la taille du bloc.
  14. C. Pour placer une liste d'accès sur une interface, utiliser la commande ip access-group en mode de configuration d'interface.
  15. D. Lorsqu'on essaye de trouver la meilleure réponse à une question sur la liste d'accès, vérifier toujours le numéro de la liste d'accès, puis le protocole. Lors du filtrage vers un protocole de couche supérieure, il faut utiliser une liste étendue, les numéros 100 à 199 et 2000 à 2699. De plus, lorsque vous filtrer sur le port d'un protocole de couche supérieure, il faut utiliser tcp ou udp dans le champ de protocole ACL. S'il est indiqué ip dans le champ de protocole, vous ne pouver pas filtrer sur le numéro de port d'un protocole de couche supérieure. SMTP utilise TCP.
  16. D. Si on ajoute une liste d'accès à une interface et que vous n'aver pas au moins une déclaration d'autorisation, vous fermerer effectivement l'interface à cause du refus implicite à la fin de chaque liste.
  17. C. L'accès Telnet au routeur est restreint en utilisant une liste d'accès IP standard ou étendue entrante sur les lignes VTY du routeur. La commande access-class est utilisée pour appliquer la liste d'accès aux lignes VTY.
  18. C. Un routeur Cisco a des règles concernant le placement des listes d'accès sur une interface de routeur. on peut placer une liste d'accès par direction pour chaque protocole de couche 3 configuré sur une interface.
  19. C. L'attaque la plus courante sur un réseau aujourd'hui est un déni de service (DoS) car il s'agit de l'attaque la plus facile à réaliser.
  20. C. La mise en œuvre du service de détection d'intrusion et du service de prévention d'intrusion (IDS/IPS) vous aidera à vous informer et à arrêter les attaques en temps réel.

Réponses au laboratoire écrit 12

  1. access-list 10 deny 172.16.0.0 0.0.255.255
    access-list 10 permit any
  2. ip access-group 10 out
  3. access-list 10 deny host 192.168.15.5
    access-list 10 permit any
  4. show access-lists
  5. IDS, IPS
  6. access-list 110 deny tcp host
    172.16.10.1 host 172.16.30.5 eq 23
    access-list 110 permit ip any any
  7. line vty 0 4
    access-class 110 in
  8. ip access-list standard No172Net
    deny 172.16.0.0 0.0.255.255
    permit any
  9. ip access-group No172Net out
  10. show ip interfaces
reseau/ccna-12c.txt · Last modified: 2025/01/24 15:19 by 127.0.0.1