Commandes Cisco (CCNA)

Naviguer entre les différents modes de commande IOS

Pour entrer en mode d'exécution privilégié sur un périphérique Cisco, vous devez utiliser la commande suivante :

Switch>enable 

 

Si vous souhaitez revenir du mode privilégié au mode d'exécution de base, utilisez cette commande :

Switch#disable 

 

Le mode d'exécution privilégié (également appelé mode "enable") vous donne accès à des commandes et des fonctionnalités avancées qui ne sont pas disponibles dans le mode d'exécution de base.

Pour passer en mode de configuration globale sur un périphérique Cisco, vous devez utiliser la commande suivante :

Switch#configure terminal 

Ou simplement :

Switch#conf t 

 

Une fois cette commande saisie, vous entrez en mode de configuration globale, ce qui vous permet de configurer des paramètres qui affectent l'ensemble du périphérique. Dans ce mode, l'invite de commande change généralement pour refléter que vous êtes en mode de configuration, par exemple Switch(config)#.

Pour quitter le mode de configuration et revenir en mode d'exécution privilégié sur un périphérique Cisco, vous devez utiliser la commande suivante :

Switch(config)#exit 

 

Pour repasser en mode de configuration globale sur un périphérique Cisco, utilisez la commande suivante :

Switch#configure terminal 

Ou plus simplement :

Switch#conf t 

 

Une fois en mode de configuration globale, si vous souhaitez entrer dans le sous-mode de configuration spécifique pour le port de la console, vous devez utiliser la commande suivante :

Switch(config)#line console 0 

 

Passez en mode de configuration globale au moyen de la commande exit.

Switch(config-line)#exit 

 

Entrez le sous-modes de configuration de ligne Vty à l'aide de la commande line vty 0 15.

Switch(config)#line vty 0 15 

 

Repassez en mode de configuration globale.

Switch(config-line)#exit 

 

Entrez le sous-modes de configuration de ligne VTY :

Switch(config)#interface vlan 1 

 

À partir du mode de configuration de l'interface, passez au sous-modes de configuration de la console de ligne à l'aide de la commande de configuration globale line console 0.

Switch(config-if)#line console 0 

 

Revenez au mode d’exécution privilégié à l’aide de la commande end.

Switch(config-line)#end 

 

 

Modes de commande IOS

  1. Mode d’exécution utilisateur

    C'est le mode initial lors de la connexion à un appareil Cisco.

  • Switch> 
  • Mode d’exécution privilégié

    Accéder à ce mode à partir du mode d’exécution utilisateur avec la commande enable.

Switch>enable 

Retournez au mode d’exécution utilisateur à l’aide de la commande disable.

Switch#disable 

Pour re-entrer en mode d'exécution privilégié.

Switch>enable 
  • Mode de configuration globale

    Pour passer à ce mode à partir du mode d'exécution privilégié, utilisez la commande configure terminal.

Switch#configure terminal 

Pour quitter ce mode et retourner au mode d'exécution privilégié, utilisez la commande exit.

Switch(config)#exit 

Pour re-entrer en mode de configuration globale.

Switch#configure terminal 

Sous-modes de configuration

  1. Sous-mode de configuration de ligne pour le port de la console

    Entrez ce mode avec la commande line console 0.

Switch(config)#line console 0 

Pour revenir en mode de configuration globale, utilisez la commande exit.

Switch(config-line)#exit 
  • Sous-mode de configuration de ligne Vty

    Entrez ce mode avec la commande line vty 0 15.

    Switch(config)#line vty 0 15 

Pour revenir en mode de configuration globale, utilisez la commande exit.

Switch(config-line)#exit 
  • Sous-mode de configuration de l'interface

    Entrez ce mode avec la commande interface vlan 1.

Switch(config)#interface vlan 1 

Pour passer au sous-mode de configuration de la console de ligne, utilisez la commande line console 0.

Switch(config-if)#line console 0 

Retour au mode d’exécution privilégié

Pour revenir au mode d’exécution privilégié depuis n'importe quel mode, utilisez la commande end.

Switch(config-line)#end 

 

Configuration de l'horloge

Régler l'horloge du dispositif à la date et heure souhaitées.

S1# clock set 15:00:00 31 Jan 2035 

Configuration du nom de l'appareil

Configurer un nom pour l'appareil. Ceci aide à l'identification de l'appareil dans un réseau complexe.

Switch# configure terminal 
Switch(config)# hostname Sw-Floor-1 
Sw-Floor-1(config)# 

Configuration des mots de passe

  1. Configurer les mots de passe pour le port de la console

    Cela sécurise l'accès direct au dispositif via le port de la console.

  • Sw-Floor-1# configure terminal 
    Sw-Floor-1(config)# line console 0 
    Sw-Floor-1(config-line)# password cisco 
    Sw-Floor-1(config-line)# login 
    Sw-Floor-1(config-line)# end 
  • Configurer les mots de passe pour le mode d’exécution privilégié

    Cela sécurise l'accès aux commandes avancées et aux configurations sensibles du dispositif.

  • Sw-Floor-1# configure terminal 
    Sw-Floor-1(config)# enable secret class 
    Sw-Floor-1(config)# exit 
  • Configurer les mots de passe pour sécuriser les lignes VTY (Virtual Terminal Lines)

    Ceci sécurise l'accès au dispositif via Telnet ou SSH.

Sw-Floor-1# configure terminal 
Sw-Floor-1(config)# line vty 0 15 
Sw-Floor-1(config-line)# password cisco  
Sw-Floor-1(config-line)# login  
Sw-Floor-1(config-line)# end 

 

Chiffrement des mots de passe

Pour chiffrer les mots de passe sur le dispositif :

Sw-Floor-1# configure terminal Sw-Floor-1(config)# service password-encryption 

Pour vérifier que les mots de passe sont maintenant chiffrés, utilisez la commande suivante :

Sw-Floor-1# show running-config 

Création d'une bannière MOTD (Message Of The Day)

Une bannière MOTD peut être utilisée pour afficher un message à chaque connexion à l'appareil. Cela peut être utilisé pour afficher des informations importantes ou des avertissements.

Sw-Floor-1# configure terminal 
Sw-Floor-1(config)# banner motd #Authorized Access Only# 

Afficher la configuration

  1. Pour afficher la configuration actuellement en cours :

  • Sw-Floor-1# show running-config 
  • Pour afficher la configuration qui sera utilisée au prochain démarrage de l'appareil :

  1. Sw-Floor-1# show startup-config 

Redémarrer

Pour redémarrer le dispositif :

Sw-Floor-1# reload 

Effacer la configuration initiale

Pour effacer la configuration qui sera utilisée au prochain démarrage :

Sw-Floor-1# erase startup-config 

Configuration de l'interface de commutateur virtuelle (SVI)

Pour configurer une interface SVI avec une adresse IP et un masque de sous-réseau, et pour définir la passerelle par défaut :

Sw-Floor-1# configure terminal 
Sw-Floor-1(config)# interface vlan 1 
Sw-Floor-1(config-if)# ip address 192.168.1.20 255.255.255.0 
Sw-Floor-1(config-if)# no shutdown 
Sw-Floor-1(config-if)# exit 
Sw-Floor-1(config)# ip default-gateway 192.168.1.1 

Désactiver la recherche DNS

Pour désactiver la recherche DNS, qui peut causer des retards lors de la saisie des commandes si le dispositif essaie de résoudre les noms de commande non reconnus comme s'ils étaient des noms de domaine :

S1(config)# no ip domain-lookup 

 

Afficher les adresses MAC

Pour afficher les adresses MAC apprises par le commutateur :

Sw-Floor-1(config-if)# show mac address-table 

Pour effacer la table d'adresses MAC :

Sw-Floor-1(config-if)# clear mac address-table dynamic 

Afficher les tables de routage

  1. Pour afficher la table de routage IPv4 :

  • RT-Floor-1(config-if)# show ip route 
  • Pour afficher la table de routage IPv6 :

  1. RT-Floor-1(config-if)# show ipv6 route 

Afficher la table ARP

Pour afficher la table ARP d’un routeur :

RT-Floor-1(config-if)# show ip arp 

Configuration de base d'un routeur

Voici les étapes pour configurer un routeur :

Router(config)# hostname hostname 
Router(config)# enable secret password 
Router(config)# line console 0 
Router(config-line)# password password 
Router(config-line)# login 
Router(config-line)# line vty 0 4 
Router(config-line)# password password 
Router(config-line)# login 
Router(config-line)# transport input {ssh | telnet} 
Router(config-line)# exit 
Router(config)# service password-encryption
Router(config)# banner motd delimiter message delimiter 
Router(config)# end 
Router# copy running-config startup-config 

 

Configuration des interfaces de routeur

Pour configurer une interface de routeur pour IPv4 et IPv6 :

R1(config)# interface gigabitEthernet 0/0/0 
R1(config-if)# description Link to LAN 
R1(config-if)# ip address 192.168.10.1 255.255.255.0 
R1(config-if)# ipv6 address 2001:db8:acad:10::1/64 
R1(config-if)# no shutdown 
R1(config-if)# exit 

Pour configurer une adresse GUA (Global Unicast Address) IPv6 sur le routeur R1 :

R1(config)# interface gigabitethernet 0/0/0 
R1(config-if)# ipv6 address 2001:db8:acad:1::1/64 
R1(config-if)# no shutdown 
R1(config-if)# exit 

Pour configurer une adresse LLA (Link-Local Address) IPv6 sur le routeur R1 :

R1(config)# interface gigabitethernet 0/0/0 
R1(config-if)# ipv6 address fe80::1:1 link-local 
R1(config-if)# exit 

Vérifier la configuration d'une interface

Pour vérifier la configuration d'une interface IPv4 :

R1# show ip interface brief 

Pour vérifier la configuration d'une interface IPv6 :

R1# show ipv6 interface brief 

Configuration de la passerelle par défaut

Pour configurer la passerelle par défaut (dans cet exemple, l'adresse est 192.168.1.254) :

S1(config)#ip default-gateway 192.168.1.254 

Activer le routage IPv6

Pour activer le routage IPv6 sur un routeur :

R1# ipv6 unicast routing 

 

Sécurité supplémentaire des mots de passe

Pour déconnecter automatiquement un utilisateur inactif sur une ligne vty SSH après que l'utilisateur a été inactif pendant 5 minutes et 30 secondes :

R1(config)# service password-encryption  
R1(config)# security passwords min-length 8  
R1(config)# login block-for 120 attempts 3 within 60 
R1(config)# line vty 0 4  
R1(config-line)# password cisco123  
R1(config-line)# exec-timeout 5 30  
R1(config-line)# transport input ssh  
R1(config-line)# end 

Activation de SSH

Pour activer SSH sur un routeur :

Router# configure terminal 
Router(config)# hostname R1 
R1(config)# ip domain name span.com 
R1(config)# crypto key generate rsa general-keys modulus 1024 
R1(config)# username Bob secret cisco 
R1(config)# line vty 0 4 
R1(config-line)# login local 
R1(config-line)# transport input ssh 
R1(config-line)# exit 

Vérifier les ports ouverts sur un routeur

Pour vérifier les ports ouverts sur un routeur :

Router# show ip ports all 

Configurer la longueur minimale du mot de passe

Pour fixer la longueur minimale du mot de passe à 10 caractères :

RTA(config)# security password min-length 10 

Empêcher les messages de console d'interrompre les commandes

Pour empêcher les messages de console d'interrompre les commandes sur la ligne console 0 :

S1(config)# line con 0 
S1(config-line)# logging synchronous 

 

Empêcher les messages de console d'interrompre les commandes sur la ligne VTY

S1(config)# line vty 0 4  
S1(config-line)# logging synchronous 

Configuration des ports de commutateur au niveau de la couche physique

S1#configure terminal 
S1(config)#interface FastEthernet0/1 
S1(config-if)#duplex auto 
S1(config-if)#speed auto 
S1(config-if)#mdix auto 
S1(config-if)#end 

Vérifier le support SSH

S1# show ip ssh 

Configuration d'interfaces de bouclage IPv4

R1(config)# interface loopback 0 
R1(config-if)# ip address 10.0.0.1 255.255.255.0 
R1(config-if)# exit 

Définir la longueur de l’historique

R1>terminal history size 200 

Afficher l’historique

R1>show history 

Création de VLAN

S1# configure terminal 
S1(config)# vlan 20 
S1(config-vlan)# name student 
S1(config-vlan)# end 

 

Attribution de port VLAN

S1# configure terminal 
S1(config)# interface fa0/6 
S1(config-if)# switchport mode access 
S1(config-if)# switchport access vlan 20 
S1(config-if)# end 

Exemple de VLAN de données ET de voix

S3(config)# vlan 20 
S3(config-vlan)# name student 
S3(config-vlan)# vlan 150 
S3(config-vlan)# name VOICE 
S3(config-vlan)# exit 
S3(config)# interface fa0/18 
S3(config-if)# switchport mode access 
S3(config-if)# switchport access vlan 20 
S3(config-if)# mls qos trust cos 
S3(config-if)# switchport voice vlan 150 
S3(config-if)# end 

Commandes de configuration du trunk

S1(config)# interface fastEthernet 0/1 
S1(config-if)# switchport mode trunk 
S1(config-if)# switchport trunk native vlan 99 
S1(config-if)# switchport trunk allowed vlan 10,20,30,99 
S1(config-if)# end 

Pour permettre le trunking d'un commutateur Cisco vers un appareil qui ne prend pas en charge le DTP

S1(config-if)# switchport mode trunk 
S1(config-if)# switchport nonegotiate 

Configurations de VLAN et de trunk de commutateur S2

S2(config)# vlan 10 
S2(config-vlan)# name LAN10 
S2(config-vlan)# exit 
S2(config)# vlan 20 
S2(config-vlan)# name LAN20 
S2(config-vlan)# exit 
S2(config)# vlan 99 
S2(config-vlan)# name Management 
S2(config-vlan)# exit 
S2(config)# interface vlan 99 
S2(config-if)# ip add 192.168.99.3 255.255.255.0 
S2(config-if)# no shut 
S2(config-if)# exit 
S2(config)# ip default-gateway 192.168.99.1 
S2(config)# interface fa0/18 
S2(config-if)# switchport mode access 
S2(config-if)# switchport access vlan 20 
S2(config-if)# no shut 
S2(config-if)# exit 
S2(config)# interface fa0/1 
S2(config-if)# switchport mode trunk 
S2(config-if)# no shut 
S2(config-if)# exit 
S2(config-if)# end 

 

Configuration de la sous-interface R1

R1(config)# interface G0/0/1.10 
R1(config-subif)# description Default Gateway for VLAN 10 
R1(config-subif)# encapsulation dot1Q 10 
R1(config-subif)# ip add 192.168.10.1 255.255.255.0 
R1(config-subif)# exit 
R1(config)# interface G0/0/1.20 
R1(config-subif)# description Default Gateway for VLAN 20 
R1(config-subif)# encapsulation dot1Q 20 
R1(config-subif)# ip add 192.168.20.1 255.255.255.0 
R1(config-subif)# exit 
R1(config)# interface G0/0/1.99 
R1(config-subif)# description Default Gateway for VLAN 99 
R1(config-subif)# encapsulation dot1Q 99 
R1(config-subif)# ip add 192.168.99.1 255.255.255.0 
R1(config-subif)# exit 
R1(config)# interface G0/0/1 
1(config-if)# description Trunk link to S1 
R1(config-if)# no shut 
R1(config-if)# end 

Routage inter-VLAN de commutateur de couche 3

D1(config)# vlan 10 
D1(config-vlan)# name LAN10 
D1(config-vlan)# vlan 20 
D1(config-vlan)# name LAN20 
D1(config-vlan)# exit 
D1(config)# interface vlan 10 
D1(config-if)# description Default Gateway SVI for 192.168.10.0/24 
D1(config-if)# ip add 192.168.10.1 255.255.255.0 
D1(config-if)# no shut 
D1(config-if)# exit 
D1(config)# int vlan 20 
D1(config-if)# description Default Gateway SVI for 192.168.20.0/24 
D1(config-if)# ip add 192.168.20.1 255.255.255.0 
D1(config-if)# no shut 
D1(config-if)# exit 
D1(config)# interface GigabiteThernet1/0/6 
D1(config-if)# description Access port to PC1 
D1(config-if)# switchport mode access 
D1(config-if)# switchport access vlan 10 
D1(config-if)# exit 
D1(config)# interface GigabiteThernet1/0/18
D1(config-if)# description Access port to PC2 
D1(config-if)# switchport mode access 
D1(config-if)# switchport access vlan 20 
D1(config-if)# exit 
D1(config)# ip routing 

Configuration du routage sur un commutateur de couche 3

D1(config)# interface GigabitEthernet1/0/1 
D1(config-if)# description routed Port Link to R1 
D1(config-if)# no switchport 
D1(config-if)# ip address 10.10.10.2 255.255.255.0 
D1(config-if)# no shut 
D1(config-if)# exit 
D1(config)# ip routing 

 

Configuration du routage OSPF

D1(config)# router ospf 10 
D1(config-router)# network 192.168.10.0 0.0.0.255 area 0 
D1(config-router)# network 192.168.20.0 0.0.0.255 area 0 
D1(config-router)# network 10.10.10.0 0.0.0.3 area 0 

Configuration de Link Aggregation Control Protocol (LACP)

S1(config)# interface range FastEthernet 0/1 - 2 
S1(config-if-range)# channel-group 1 mode active 
Creating a port-channel interface Port-channel 1 
S1(config-if-range)# exit 
S1(config)# interface port-channel 1 
S1(config-if)# switchport mode trunk S1(config-if)# switchport trunk allowed vlan 1,2,20 

Configuration d'un serveur Cisco IOS DHCPv4

R1(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.9 
R1(config)# ip dhcp excluded-address 192.168.10.254 
R1(config)# ip dhcp pool LAN-POOL-1 
R1(dhcp-config)# network 192.168.10.0 255.255.255.0 
R1(dhcp-config)# default-router 192.168.10.1 
R1(dhcp-config)# dns-server 192.168.11.5 
R1(dhcp-config)# domain-name example.com 
R1(dhcp-config)# end 

Désactiver le serveur Cisco IOS DHCPv4

R1(config)# no service dhcp 

DHCPv4 Relay

R1(config)# interface g0/0/0 
R1(config-if)# ip helper-address 192.168.11.6 
R1(config-if)# end 

Routeur Cisco en tant que client DHCPv4

SOHO(config)# interface G0/0/1 
SOHO(config-if)# ip address dhcp 
SOHO(config-if)# no shutdown 

Activation de la Stateless Address Autoconfiguration (SLAAC)

R1(config)# ipv6 unicast-routing 
R1(config)# exit 

Activer DHCPv6 sans état sur une interface

R1(config-if)# ipv6 nd other-config-flag 
R1(config-if)# end 

Activer DHCPv6 avec état sur une interface

R1(config)# int g0/0/1 
R1(config-if)# ipv6 nd managed-config-flag 
R1(config-if)# ipv6 nd prefix default no-autoconfig 
R1(config-if)# end 

Configurer un serveur DHCPv6 sans état

R1(config)# ipv6 unicast-routing 
R1(config)# ipv6 dhcp pool IPV6-STATELESS 
R1(config-dhcpv6)# dns-server 2001:db8:acad:1::254 
R1(config-dhcpv6)# domain-name example.com 
R1(config-dhcpv6)# exit 
R1(config)# interface GigabitEthernet0/0/1 
R1(config-if)# description Link to LAN 
R1(config-if)# ipv6 address fe80::1 link-local 
R1(config-if)# ipv6 address 2001:db8:acad:1::1/64 
R1(config-if)# ipv6 nd other-config-flag 
R1(config-if)# ipv6 dhcp server IPV6-STATELESS 
R1(config-if)# no shut R1(config-if)# end 

 

Configurer un client DHCPv6 sur un routeur

R3(config)# ipv6 unicast-routing 
R3(config)# interface g0/0/1 
R3(config-if)# ipv6 enable 
R3(config-if)# ipv6 address autoconfig 

Configurer un serveur DHCPv6 avec état

R1(config)# ipv6 unicast-routing 
R1(config)# ipv6 dhcp pool IPV6-STATEFUL 
R1(config-dhcpv6)# address prefix 2001:db8:acad:1::/64 
R1(config-dhcpv6)# dns-server 2001:4860:4860::8888 
R1(config-dhcpv6)# domain-name example.com 
R1(config)# interface GigabitEthernet0/0/1 
R1(config-if)# description Link to LAN 
R1(config-if)# ipv6 address fe80::1 link-local 
R1(config-if)# ipv6 address 2001:db8:acad:1::1/64 
R1(config-if)# ipv6 nd managed-config-flag 
R1(config-if)# ipv6 nd prefix default no-autoconfig 
R1(config-if)# ipv6 dhcp server IPV6-STATEFUL 
R1(config-if)# no shut 
R1(config-if)# end 

Configuration de l'agent de relais DHCPv6

R1(config)# interface gigabitethernet 0/0/1 
R1(config-if)# ipv6 dhcp relay destination 2001:db8:acad:1::2 G0/0/0 
R1(config-if)# exit 

Configurer Hot Standby Router Protocol (HSRP)

Sur R1

R1(config)# interface g0/1 
R1(config-if)# standby version 2 
R1(config-if)# standby 1 ip 192.168.1.254 
R1(config-if)# standby 1 priority 150 
R1(config-if)# standby 1 preempt 

Sur R2

R1(config)# interface g0/1 
R1(config-if)# standby version 2 
R1(config-if)# standby 1 ip 192.168.1.254 

Sécurisation des ports inutilisés

Désactiver les ports non utilisés

S1(config)# interface range fa0/8 - 24 
S1(config-if-range)# shutdown 
S1(config-if-range)# 

Activer la sécurité des ports

S1(config)# interface f0/1 
S1(config-if)# switchport mode access 
S1(config-if)# switchport port-security 
S1# show port-security interface f0/1 

Limiter et apprendre les adresses MAC

S1(config)# interface f0/1 
S1(config-if)# switchport port-security maximum xxx 
  1. Configuration manuelle
Switch(config-if)# switchport port-security mac-address AE43:34CB 
  1. Apprentissage dynamique (Terminal déjà connecté)
Switch(config-if)# switchport port-security 
  1. Apprentissage dynamique – Sticky
Switch(config-if)# switchport port-security mac-address sticky  

Obsolescence de la sécurité des ports

Définir le type d'obsolescence (aging type) à 10 minutes d'inactivité

S1(config)# interface fa0/1 
S1(config-if)# switchport port-security aging time 10  
S1(config-if)# switchport port-security aging type inactivity  
S1(config-if)# end 

Modes de Violation de la Sécurité des Ports

Switch(config-if)# switchport port-security violation { pro

 

Atténuer les attaques par sauts de VLAN

S1(config)# interface range fa0/1 - 16 
S1(config-if-range)# switchport mode access 
S1(config-if-range)# exit 
S1(config)# interface range fa0/17 - 20 
S1(config-if-range)# switchport mode access 
S1(config-if-range)# switchport access vlan 1000 
S1(config-if-range)# shutdown 
S1(config-if-range)# exit 
S1(config)# interface range fa0/21 - 24 
S1(config-if-range)# switchport mode trunk 
S1(config-if-range)# switchport nonegotiate 
S1(config-if-range)# switchport trunk native vlan 999 
S1(config-if-range)# end 

Implémenter l'espionnage DHCP

S1(config)# ip dhcp snooping 
S1(config)# interface f0/1 
S1(config-if)# ip dhcp snooping trust 
S1(config-if)# exit 
S1(config)# interface range f0/5 - 24 
S1(config-if-range)# ip dhcp snooping limit rate 6 
S1(config-if-range)# exit 
S1(config)# ip dhcp snooping vlan 5,10,50-52 
S1(config)# end 
S1(config)# show ip dhcp snooping 

Exemple de configuration DAI (inspection ARP Dynamique)

S1(config)# ip dhcp snooping 
S1(config)# ip dhcp snooping vlan 10 
S1(config)# ip arp inspection vlan 10 
S1(config)# interface fa0/24 
S1(config-if)# ip dhcp snooping trust 
S1(config-if)# ip arp inspection trust 
S1(config)# ip arp inspection validate src-mac 
S1(config)# ip arp inspection validate dst-mac 
S1(config)# ip arp inspection validate ip 
S1(config)# do show run | include validate
S1(config)# ip arp inspection validate src-mac dst-mac ip 
S1(config)# do show run | include validate
S1(config)# 

Configurer PortFast

S1(config)# interface fa0/1 
S1(config-if)# switchport mode access 
S1(config-if)# spanning-tree portfast 
S1(config-if)# exit 
S1(config)# spanning-tree portfast default 
S1(config)# exit 
S1# show running-config | begin span 

Configuration BPDU Guard

S1(config)# interface fa0/1 
S1(config-if)# spanning-tree bpduguard enable 
S1(config-if)# exit 
S1(config)# spanning-tree portfast bpduguard default 
S1(config)# end 

 

Commandes Cisco (CCNA Network Security)

Sécurité supplémentaire des mots de passe

  1. Tous les mots de passe en texte clair sont chiffrés.
  2. Les nouveaux mots de passe configurés doivent comporter huit caractères ou plus.
  3. En cas de plus de trois tentatives de connexion VTY échouées en 60 secondes, les lignes VTY seront bloquées pendant 120 secondes.
  4. Configurez le routeur pour déconnecter automatiquement un utilisateur inactif sur une ligne VTY si la ligne est inactive pendant 5 minutes et 30 secondes.
R1(config)# service password-encryptionR1(config)# security passwords min-length 8  
R1(config)# login block-for 120 attempts 3 within 60 
R1(config)# line vty 0 4  
R1(config-line)# password cisco123  
R1(config-line)# exec-timeout 5 30  
R1(config-line)# transport input ssh  
R1(config-line)# end  
R1#  
R1# show running-config | section line vty 
line vty 0 4 password 7 094F471A1A0A exec-timeout 5 30 login transport input ssh 
R1# 

 

Algorithmes de mots de passe secrets

R1(config)# enable secret cisco12345  
R1(config)# do show run | include enable  
enable secret 5 $1$cam7$99EfzkvmJ5h1gEbryLVRy. 
R1(config)# enable secret ?  
  0      Specifies an UNENCRYPTED password will follow 
  5      Specifies a MD5 HASHED secret will follow 
  8      Specifies a PBKDF2 HASHED secret will follow 
  9      Specifies a SCRYPT HASHED secret will follow 
  LINE   The UNENCRYPTED (cleartext) 'enable' secret 
  level  Set exec level password 

R1(config)# line con 0  
R1(config-line)# password ?  
  0      Specifies an UNENCRYPTED password will follow 
  7      Specifies a HIDDEN password will follow 
  LINE   The UNENCRYPTED (cleartext) line password 
R1(config-line)# 

 

Chiffrez tous les mots de passe

R2(config)#service password-encryption 

Définissez la longueur minimale des mots de passe à 10 caractères.

R2(config)#security passwords min-length 10 

Créez le compte utilisateur JR-ADMIN avec un mot de passe secret de cisco12345 en utilisant l'algorithme de hachage SCRYPT.

R2(config)#username JR-ADMIN algorithm-type scrypt secret cisco12345 

Créez le compte utilisateur ADMIN avec un mot de passe secret de cisco54321 en utilisant l'algorithme de hachage SCRYPT.

R2(config)#username ADMIN algorithm-type scrypt secret cisco54321 

Configurez la ligne de console en suivant les instructions :

  1. Réglez le délai d'expiration exécutif à 3 minutes sur la ligne de console.
  2. Configurez la ligne de console pour utiliser la base de données locale pour l'authentification.
  3. Après la configuration, quittez le mode de configuration de ligne.
R2(config)#line console 0 
R2(config-line)#exec-timeout 3 0 
R2(config-line)#login local 
R2(config-line)#exit 

Configurez les lignes VTY en suivant les instructions :

  1. Réglez le délai d'expiration exécutif à 3 minutes sur les lignes VTY.
  2. Configurez les lignes VTY pour utiliser la base de données locale pour l'authentification.
R2(config)#line vty 0 4 
R2(config-line)#exec-timeout 3 0 
R2(config-line)#login local 

Revenez au mode EXEC privilégié. Affichez la configuration en cours et filtrez-la pour inclure uniquement les lignes avec username afin de vérifier les configurations de compte utilisateur.

R2(config-line)#end 
R2#show running-config | include username 

Configurer les fonctionnalités d'amélioration de la connexion

  1. login block-for seconds attempts tries within seconds : Bloque les connexions pendant "seconds" après "tries" échecs en "within seconds".

  2. login quiet-mode access-class {acl-name | acl-number} : Active le mode silencieux et restreint les connexions aux adresses IP spécifiées dans l'ACL.

  3. login delay seconds : Définit un délai de "seconds" entre les tentatives de connexion échouées.

  4. login on-success log [every login] : Enregistre les connexions réussies, optionnellement à chaque connexion.

  5. login on-failure log [every login] : Enregistre les échecs de connexion, optionnellement à chaque tentative.

 

R1(config)# login block-for 15 attempts 5 within 60 
R1(config)# ip access-list standard PERMIT-ADMIN
R1(config-std-nacl)# remark Permit only Administrative hosts     
R1(config-std-nacl)# permit 192.168.10.10
R1(config-std-nacl)# permit 192.168.11.10 
R1(config-std-nacl)# exit 
R1(config)# login quiet-mode access-class PERMIT-ADMIN   
R1(config)# login delay 10  
R1(config)# login on-success log  
R1(config)# login on-failure 3R1(config)# login delay  3 R1(config)#

La commande R1(config)# login delay 3 est utilisée sur un routeur Cisco pour définir un délai de 3 secondes entre les tentatives de connexion infructueuses. Cela signifie que si un utilisateur échoue à se connecter, il devra attendre 3 secondes avant de pouvoir essayer à nouveau. Cette fonctionnalité est utile pour réduire le risque d'attaques par force brute en ralentissant les tentatives de connexion rapides et répétées.

Enregistrer les Tentatives Échouées

 

Les deux premières commandes, login on-success log et login on-failure log, génèrent des messages syslog pour les tentatives de connexion réussies et échouées. Le nombre de tentatives de connexion avant la génération d'un message de journalisation peut être spécifié en utilisant la syntaxe [every login], où la valeur par défaut est 1 tentative. La plage valide est de 1 à 65 535.

Router(config)# login on-success log [every login]
Router(config)# login on-failure log [every login] 

En alternative à la commande login on-failure log, la commande security authentication failure rate peut être configurée pour générer un message de journalisation lorsque le taux d'échec de connexion est dépassé.

Router(config)# security authentication failure rate threshold-rate log 

Utilisez la commande show login pour vérifier les paramètres de la commande login block-for et le mode actuel. Dans la figure, R1 a été configuré pour bloquer les hôtes de connexion pendant 120 secondes si plus de cinq demandes de connexion échouent en 60 secondes. R1 confirme également que le mode actuel est normal et qu'il y a eu quatre échecs de connexion au cours des dernières 55 secondes car il reste cinq secondes en mode normal.

R1# show login failures
Total failed logins: 22
Detailed information about last 50 failures

Username    SourceIPAddr    lPort Count TimeStamp
admin       1.1.2.1         23    5     15:38:54 UTC Wed Dec 10 2008
Admin       10.10.10.10     23    13    15:58:43 UTC Wed Dec 10 2008
admin       10.10.10.10     23    3     15:57:14 UTC Wed Dec 10 2008
cisco       10.10.10.10     23    1     15:57:21 UTC Wed Dec 10 2008

Exemple:

Sur R2, créez une liste d'accès standard nommée :

  1. Autorisez l'hôte à l'adresse IP 192.168.10.10.
  2. Utilisez le nom PERMIT-ADMIN.
  3. Après la configuration, revenez au mode de configuration globale.
R2(config)# ip access-list standard PERMIT-ADMIN 
R2(config-std-nacl)# permit 192.168.10.10 
R2(config-std-nacl)# exit 

Améliorez le processus de connexion en suivant les instructions :

  1. Désactivez la connexion pendant 15 secondes si plus de 5 échecs de connexion sont tentés en 60 secondes.
  2. L'hôte spécifié dans l'ACL PERMIT-ADMIN ne devrait jamais se voir refuser l'accès à la connexion.
  3. Spécifiez un délai de connexion de 10 secondes entre les échecs de connexion.
  4. Générez des messages Syslog pour les tentatives de connexion réussies.
  5. Générez des messages Syslog pour les tentatives de connexion échouées.
  6. Après la configuration, quittez le mode de configuration globale.
R2(config)# login block-for 15 attempts 5 within 60 
R2(config)# login quiet-mode access-class PERMIT-ADMIN 
R2(config)# login delay 10 
R2(config)# login on-success log 
R2(config)# login on-failure log 
R2(config)# exit 
R2# 
*Nov 30 16:14:32.495: %SYS-5-CONFIG_I: Configured from console by console 

Affichez les paramètres de connexion.

R2# show login

 

Limiter la disponibilité des commandes

Par défaut, le CLI du logiciel Cisco IOS a deux niveaux d'accès aux commandes :

  1. Mode User EXEC (niveau de privilège 1) : Offre les privilèges les plus bas de l'utilisateur EXEC et permet seulement les commandes de niveau utilisateur disponibles à l'invite Router>.
  2. Mode Privileged EXEC (niveau de privilège 15) : Inclut toutes les commandes de niveau enable à l'invite Router#.

Il existe au total 16 niveaux de privilèges, le niveau plus élevé offrant plus d'accès au routeur. Les commandes disponibles aux niveaux inférieurs sont également exécutables aux niveaux supérieurs.

  • Niveau 0 : Prédéfini pour les privilèges d'accès de niveau utilisateur. Rarement utilisé, mais comprend cinq commandes : disable, enable, exit, help et logout.
  • Niveau 1 : Niveau par défaut pour la connexion avec l'invite du routeur Router >. Un utilisateur ne peut ni effectuer de changements ni consulter le fichier de configuration en cours.
  • Niveaux 2-14 : Peuvent être personnalisés pour les privilèges de niveau utilisateur. Les commandes des niveaux inférieurs peuvent être déplacées vers un niveau supérieur, ou les commandes des niveaux supérieurs peuvent être déplacées vers un niveau inférieur.
  • Niveau 15 : Réservé aux privilèges du mode enable (commande enable). Les utilisateurs peuvent modifier les configurations et consulter les fichiers de configuration.

Pour assigner des commandes à un niveau de privilège personnalisé, utilisez la commande de mode de configuration globale privilege suivante :

Router(config)# privilege mode {level level|reset} command 

Explications des options de la commande :

  • mode : Spécifie le mode de configuration. Utilisez la commande privilege ? pour voir la liste complète des modes de configuration du routeur disponibles.
  • level : (Optionnel) Permet de définir un niveau de privilège avec une commande spécifiée.
  • reset : (Optionnel) Réinitialise le niveau de privilège d'une commande.
  • command : (Optionnel) Argument à utiliser lorsque vous souhaitez réinitialiser le niveau de privilège.

Configuration et attribution des niveaux de privilège

Voici la traduction en français de votre texte, suivie des commandes correspondantes en format bash, avec les commandes après le prompt colorées en noir :

Pour configurer un niveau de privilège avec des commandes spécifiques, utilisez la commande privilege exec level level [command]. L'exemple montre des exemples pour trois niveaux de privilège différents.

  • Le niveau de privilège 5 a accès à toutes les commandes disponibles pour le niveau prédéfini 1 et la commande ping.
  • Le niveau de privilège 10 a accès à toutes les commandes disponibles pour le niveau 5 ainsi qu'à la commande reload.
  • Le niveau de privilège 15 est prédéfini et n'a pas besoin d'être configuré explicitement. Ce niveau de privilège a accès à toutes les commandes, y compris la visualisation et la modification de la configuration.

 

 

R1# conf t 
R1(config)# !Level 5 and SUPPORT user configuration 
R1(config)# privilege exec level 5 ping 
R1(config)# enable algorithm-type scrypt secret level 5 cisco5 
R1(config)# username SUPPORT privilege 5 algorithm-type scrypt secret cisco5 
R1(config)# !Level 10 and JR-ADMIN user configuration 
R1(config)# privilege exec level 10 reload  
R1(config)# enable algorithm-type scrypt secret level 10 cisco10  
R1(config)# username JR-ADMIN privilege 10 algorithm-type scrypt secret cisco10  
R1(config)# !Level 15 and ADMIN user configuration 
R1(config)# enable algorithm-type scrypt secret level 15 cisco123 
R1(config)# username ADMIN privilege 15 algorithm-type scrypt secret cisco123 
 

Exemple:

 

Configurer le niveau de privilège 5 :

  1. Utilisez la commande privilege exec level pour donner accès à la commande ping.
  2. Activez un mot de passe secret de niveau 5, cisco5, chiffré avec le hachage algorithm-type scrypt.
  3. Créez une entrée dans la base de données locale pour un utilisateur nommé Support avec un niveau de privilège de 5, chiffrez le mot de passe avec le hachage de type 9 (algorithm-type scrypt) et définissez le mot de passe à cisco5.
R2(config)# privilege exec level 5 ping 
R2(config)# enable algorithm-type scrypt secret level 5 cisco5 
R2(config)# username Support privilege 5 algorithm-type scrypt secret cisco5 

Configurer le niveau de privilège 10 :

  1. Utilisez la commande privilege exec level pour autoriser l'accès à la commande reload.
  2. Activez un mot de passe secret de niveau 10, cisco10, chiffré avec le hachage algorithm-type scrypt.
  3. Créez une entrée dans la base de données locale pour un utilisateur nommé Jr-Admin avec un niveau de privilège de 10, chiffrez le mot de passe avec un hachage de type 9 (algorithm-type scrypt) et définissez le mot de passe à cisco10.
R2(config)# privilege exec level 10 reload 
R2(config)# enable algorithm-type scrypt secret level 10 cisco10 
R2(config)# username Jr-Admin privilege 10 algorithm-type scrypt secret cisco10 

Configurer le niveau de privilège 15 :

  1. Activez un mot de passe secret de niveau 15, cisco123, chiffré avec le hachage algorithm-type scrypt.
  2. Créez une entrée dans la base de données locale pour un utilisateur nommé Admin avec un niveau de privilège de 15, chiffrez le mot de passe avec un hachage de type 9 (algorithm-type scrypt) et définissez le mot de passe à cisco123.
  3. Sortez du mode de configuration.
R2(config)# enable algorithm-type scrypt secret level 15 cisco123 
R2(config)# username Admin privilege 15 algorithm-type scrypt secret cisco123 
R2(config)# exit 
R2# 

Vous avez réussi à configurer les niveaux de privilège sur R2.

Configurer des vues basées sur les rôles

Avant de créer une vue, l'administrateur doit activer AAA avec la commande aaa new-model. Pour configurer et éditer des vues, il doit se connecter en tant que vue racine (root) en utilisant la commande enable view en mode EXEC privilégié. La commande enable view root peut également être utilisée. Lorsqu'on y est invité, il faut entrer le mot de passe secret enable.

Il y a cinq étapes pour créer et gérer une vue spécifique :

  1. Activer AAA : Utiliser la commande aaa new-model en mode de configuration globale. Sortir et entrer dans la vue racine avec la commande enable view.

    • view : Permet d'entrer dans la vue racine si aucun nom de vue n'est spécifié.
    • view-name : (Optionnel) Permet d'entrer ou de sortir d'une vue CLI spécifiée.
    Router# enable [view [view-name]] 
  • Créer une vue : Utiliser la commande parser view view-name en mode de configuration globale.

    Router(config)# parser view view-name 
  • Assigner un mot de passe secret à la vue : Utiliser la commande secret password en mode de configuration de vue.

    Router(config-view)# secret password 
  • Assigner des commandes à la vue : Utiliser la commande commands parser-mode en mode de configuration de vue.

    Router(config-view)# commands parser-mode {include | include-exclusive | exclude} [all] [interface interface-name | command] 
  • Sortir du mode de configuration de vue en tapant la commande exit.

 

Exemple:

 

Activez AAA.

R2(config)# aaa new-model 

Configurez la première vue :

  1. Créez une vue appelée SHOWVIEW.
  2. Assignez à la vue le mot de passe cisco.
  3. Permettez à la vue d'utiliser toutes les commandes EXEC qui commencent par show.
  4. Après la configuration, revenez au mode de configuration globale.
R2(config)# parser view SHOWVIEW 
R2(config-view)# secret cisco 
R2(config-view)# commands exec include show 
R2(config-view)# exit 

Configurez la deuxième vue :

  1. Créez une vue appelée VERIFYVIEW.
  2. Assignez à la vue le mot de passe cisco5.
  3. Permettez à la vue d'utiliser la commande ping.
  4. Après la configuration, revenez au mode de configuration globale.
R2(config)# parser view VERIFYVIEW 
R2(config-view)# secret cisco5 
R2(config-view)# commands exec include ping 
R2(config-view)# exit 

Configurez la troisième vue :

  1. Créez une vue appelée REBOOTVIEW.
  2. Assignez à la vue le mot de passe cisco10.
  3. Permettez à la vue d'utiliser la commande reload.
  4. Après la configuration, retournez directement au mode EXEC privilégié.
R2(config)# parser view REBOOTVIEW 
R2(config-view)# secret cisco10 
R2(config-view)# commands exec include reload 
R2(config-view)# end 

Vérifiez les vues configurées en utilisant la commande show running-config | section parser.

R2# show running-config | section parser 
parser view SHOWVIEW secret 5 $1$4c8S$8ayWlp1brumavcCek7OUz. commands exec include show 
parser view VERIFYVIEW secret 5 $1$mV.n$Wl99F.nQQQvuP7QiEzE.40 commands exec include ping 
parser view REBOOTVIEW secret 5 $1$BBYq$L6prAiM.wrcuGbst/9JY51 commands exec include reload R2# 

Vous avez réussi à configurer trois vues avec différents privilèges sur R2.

 

Configurer des vues supérieures CLI basées sur les rôles

Créez une vue en utilisant la commande parser view view-name superview et entrez en mode de configuration de vue supérieure. Ajouter le mot-clé superview à parser view crée une vue supérieure et entre en mode de configuration.

Router(config)# parser view view-name superview 

Attribuez un mot de passe secret à la vue en utilisant la commande secret password. Ceci définit un mot de passe pour protéger l'accès à la vue supérieure. Le mot de passe doit être créé immédiatement après avoir créé une vue ; sinon, un message d'erreur apparaîtra.

Voici la commande en format bash :

Router(config-view)# secret password 

 

Attribuez une vue existante en utilisant la commande view view-name en mode de configuration de vue. Cela ajoute une vue CLI à la vue supérieure. Plusieurs vues peuvent être ajoutées. Les vues peuvent être partagées entre les vues supérieures.

Router(config-view)# view view-name 

Sortez du mode de configuration de la vue supérieure en tapant la commande exit.

Router(config-view)# exit 

Plus d'une vue peut être assignée à une vue supérieure, et les vues peuvent être partagées entre les vues supérieures. L'exemple montre la configuration de trois vues supérieures : USER, SUPPORT et JR-ADMIN.

R1(config)# parser view USER superview 
R1(config-view)# secret cisco 
R1(config-view)# view SHOWVIEW 
R1(config-view)# exit 
R1(config)#  
R1(config)# parser view SUPPORT superview  
R1(config-view)# secret cisco1 
R1(config-view)# view SHOWVIE  
% Invalid view name SHOWVIE 
R1(config-view)# view SHOWVIEW  
R1(config-view)# view VERIFYVIEW  
R1(config-view)# exit 
R1(config)#  
R1(config)# parser view JR-ADMIN superview 
R1(config-view)# secret cisco2 
R1(config-view)# view SHOWVIEW 
R1(config-view)# view VERIFYVIEW 
R1(config-view)# view REBOOTVIEW 
R1(config-view)# exit 
R1(config)# 

 

Exemple:

Configurez la première vue supérieure.

  1. Créez une vue supérieure appelée USER.
  2. Attribuez à la vue supérieure le mot de passe cisco.
  3. Assignez-lui la vue SHOWVIEW.
  4. Après la configuration, retournez au mode de configuration globale.
R2(config)#parser view USER superview 
R2(config-view)#secret cisco 
R2(config-view)#view SHOWVIEW 
R2(config-view)#exit 

Configurez la deuxième vue supérieure.

  1. Créez une vue supérieure appelée SUPPORT.
  2. Attribuez à la vue supérieure le mot de passe cisco1.
  3. Assignez-lui la vue SHOWVIEW.
  4. Assignez-lui la vue VERIFYVIEW.
  5. Après la configuration, retournez au mode de configuration globale.
R2(config)#parser view SUPPORT superview 
R2(config-view)#secret cisco1 
R2(config-view)#view SHOWVIEW 
R2(config-view)#view VERIFYVIEW 
R2(config-view)#exit 

Configurez la troisième vue supérieure.

  1. Créez une vue supérieure appelée JR-ADMIN.
  2. Attribuez à la vue supérieure le mot de passe cisco2.
  3. Assignez-lui la vue SHOWVIEW.
  4. Assignez-lui la vue VERIFYVIEW.
  5. Assignez-lui la vue REBOOTVIEW.
  6. Après la configuration, retournez au mode EXEC privilégié.
R2(config)#parser view JR-ADMIN superview 
R2(config-view)#secret cisco2 
R2(config-view)#view SHOWVIEW 
R2(config-view)#view VERIFYVIEW 
R2(config-view)#view REBOOTVIEW 
R2(config-view)#end 

Vérifiez les vues supérieures configurées en utilisant la commande show running-config | section superview.

R2#show running-config | section superview 
parser view USER superview 
secret 5 $1$PkVE$fWQNcCofjNnSNO5T5fR9b0 
view SHOWVIEW 
parser view SUPPORT superview s
ecret 5 $1$AJdD$KXsrFpyr8nsoZaoyJcZGz. 
view SHOWVIEW 
view VERIFYVIEW 
parser view JR-ADMIN superview 
secret 5 $1$jDUK$v1DodSqackdof/Dbg11eJ1 
view SHOWVIEW 
view VERIFYVIEW 
view REBOOTVIEW 
R2# 

Vous avez réussi à configurer des vues supérieures sur R2.

 

Activer la fonction de résilience de l'image IOS

our sécuriser l'image IOS et le fichier de configuration en cours d'exécution, utilisez les commandes suivantes :

  1. Pour sécuriser l'image IOS et activer la résilience de l'image IOS Cisco, utilisez la commande secure boot-image en mode de configuration globale. Lorsqu'elle est activée pour la première fois, l'image IOS en cours d'exécution est sécurisée et une entrée de journal est générée. La fonction de résilience de l'image IOS Cisco ne peut être désactivée que via une session de console en utilisant la forme "no" de la commande. Cette commande fonctionne correctement uniquement lorsque le système est configuré pour exécuter une image à partir d'un lecteur flash avec une interface ATA. De plus, l'image en cours d'exécution doit être chargée à partir d'un stockage persistant pour être sécurisée en tant que principale. Les images chargées depuis un emplacement distant, comme un serveur TFTP, ne peuvent pas être sécurisées.
R1(config)# secure boot-image 
R1(config)# Sep 22 12:47:10.183: %IOS_RESILIENCE-5-IMAGE_RESIL_ACTIVE: Successfully secured running image 
R1(config)# 
  1. Pour prendre un instantané de la configuration en cours d'exécution du routeur et l'archiver de manière sécurisée dans un stockage persistant, utilisez la commande secure boot-config en mode de configuration globale, comme indiqué sur la figure. Un message de journal est affiché sur la console informant l'utilisateur que la résilience de configuration est activée. L'archive de configuration est cachée et ne peut être vue ou supprimée directement depuis l'invite de commande CLI. Vous pouvez utiliser la commande secure boot-config à plusieurs reprises pour mettre à jour l'archive de configuration vers une version plus récente après avoir émis de nouvelles commandes de configuration.
R1(config)# secure boot-config 
R1(config)# Sep 22 12:47:18.259: %IOS_RESILIENCE-5-CONFIG_RESIL_ACTIVE: Successfully secured config archive [flash0:.runcfg-20200922-124717.ar] 
R1(config)# 
  1. Les fichiers sécurisés n'apparaissent pas dans la sortie d'une commande dir émise depuis l'invite de commande CLI. Cela est dû au fait que le système de fichiers IOS Cisco empêche l'affichage des fichiers sécurisés. L'image en cours d'exécution et les archives de configuration en cours d'exécution ne sont pas visibles dans la sortie de la commande dir. Utilisez la commande show secure bootset pour vérifier l'existence de l'archive.
R1(config)# exit 
R1# 
Sep 22 12:47:22.783: %SYS-5-CONFIG_I: Configured from console by console 
R1# show secure bootset 
IOS resilience router id FTX1449AJBJ
 IOS image resilience version 15.4 activated at 12:47:09 UTC Tue Sep 22 2020
 Secure archive flash0:c2900-universalk9-mz.SPA.154-3.M.bin type is image (elf) []
 file size is 103727964 bytes, run size is 103907016 bytes
 Runnable image, entry point 0x81000000, run from ram
 IOS configuration resilience version 15.4 activated at 12:47:18 UTC Tue Sep 22 2020 Secure archive flash0:.runcfg-20200922-124717.ar type is config
 configuration archive size 1683 bytes 
R1# 
 

Restaurer un bootset principal

 

L'image du Bootset Principal

Restaurez un bootset principal à partir d'une archive sécurisée après que le routeur ait été altéré, comme indiqué dans les étapes suivantes et l'exemple :

Étape 1. Redémarrez le routeur en utilisant la commande reload. Si nécessaire, utilisez la séquence d'interruption pour entrer en mode moniteur ROM (ROMmon).

Étape 2. Depuis le mode ROMmon, entrez la commande dir pour lister le contenu du dispositif contenant le fichier de bootset sécurisé.

Étape 3. Démarrez le routeur avec l'image de bootset sécurisé en utilisant la commande boot suivie de l'emplacement de la mémoire flash (par exemple, flash0), d'un deux-points, et du nom de fichier trouvé à l'étape 2.

Étape 4. Entrez en mode de configuration globale et restaurez la configuration sécurisée dans un fichier de votre choix en utilisant la commande secure boot-config restore suivie de l'emplacement de la mémoire flash (par exemple, flash0), d'un deux-points, et d'un nom de fichier de votre choix. Dans l'exemple, le nom de fichier rescue-cfg est utilisé.

Étape 5. Sortez du mode de configuration globale et utilisez la commande copy pour copier le fichier de configuration récupéré dans la configuration en cours d'exécution.

Router# reload 
<Issue Break sequence, if necessary> 
rommon 1 > dir flash0: 
program load complete, entry point: 0x80803000, size: 0x1b340
Directory of flash0: 
4 103727964 -rw- c2900-universalk9-mz.SPA.154-3.M.bin 
rommon 2 > boot flash0:c2900-universalk9-mz.SPA.154-3.M.bin <Router reboots with specified image> 
Router> enable 

Router# conf t 
Enter configuration commands, one per line. End with CNTL/Z. 
Router(config)# secure boot-config restore flash0:rescue-cfg ios resilience:configuration successfully restored as flash0:rescue-cfg 
Router(config)# end  
Router# copy flash0:rescue-cfg running-config 
Destination filename [running-config]? %IOS image resilience is already active %IOS configuration resilience is already active 2182 bytes copied in 0.248 secs (8798 bytes/sec) 

 

 

Configurer la Copie Sécurisée ( SCP)

 

La fonctionnalité Cisco IOS Resilient offre une méthode pour sécuriser localement l'image IOS et les fichiers de configuration sur l'appareil. La fonctionnalité du protocole de copie sécurisée (SCP) est utilisée pour copier ces fichiers à distance. SCP fournit une méthode sécurisée et authentifiée pour copier les fichiers de configuration ou les fichiers d'image du routeur vers un emplacement distant.

SCP repose sur :

  • SSH pour sécuriser la communication.
  • AAA pour fournir l'authentification et l'autorisation.

Note : La configuration AAA sera abordée plus en détail dans un chapitre ultérieur.

Utilisez les étapes suivantes pour configurer un routeur pour SCP côté serveur avec AAA local :

Étape 1. Configurez SSH, si ce n'est pas déjà fait.

Étape 2. Pour l'authentification locale, configurez au moins un utilisateur de base de données local avec un niveau de privilège 15.

Étape 3. Activez AAA avec la commande aaa new-model en mode de configuration globale.

Étape 4. Utilisez la commande aaa authentication login default local pour spécifier que la base de données locale soit utilisée pour l'authentification.

Étape 5. Utilisez la commande aaa authorization exec default local pour configurer l'autorisation des commandes. Dans cet exemple, tous les utilisateurs locaux auront accès aux commandes EXEC.

Étape 6. Activez la fonctionnalité côté serveur de SCP avec la commande ip scp server enable.

Dans l'exemple, R1 est maintenant un serveur SCP et utilisera des connexions SSH pour accepter les transferts de copie sécurisée de la part d'utilisateurs authentifiés et autorisés. Les transferts peuvent provenir de n'importe quel client SCP, qu'il s'agisse d'un autre routeur, d'un commutateur ou d'une station de travail.

R1(config)# ip domain-name span.com  
R1(config)# crypto key generate rsa general-keys modulus 2048  
R1(config)# username Bob privilege 15 algorithm-type scrypt secret cisco12345  
R1(config)# aaa new-model  
R1(config)# aaa authentication login default local  
R1(config)# aaa authorization exec default local  
R1(config)# ip scp server enableR2# copy flash0:R2backup.cfg scp: 
Address or name of remote host []? 10.1.1.1 
Destination username [R2]? Bob 
Destination filename [R2backup.cfg]? 
Writing R2backup.cfg 
Password: <cisco12345> 
! 
1381 bytes copied in 8.596 secs (161 bytes/sec)
R2#

 

Utiliser la commande debug ip scp pour observer le transfert ( Sur le serveur de destination, ici un routeur "R1")

R1# debug ip scp 
Incoming SCP debugging is on 
R1# *Feb 18 20:37:15.363: SCP: [22 -> 10.1.1.2:61656] send *Feb 18 20:37:15.367: SCP: [22 <- 10.1.1.2:61656] recv C0644 1381 R2backup.cfg *Feb 18 20:37:15.367: SCP: [22 -> 10.1.1.2:61656] send

Protocoles de découverte CDP et LLDP

La configuration et la vérification de LLDP sont similaires à celles de CDP. Dans la figure, R1 et S1 sont tous deux configurés avec LLDP, en utilisant la commande de configuration globale lldp run. Les deux appareils exécutent CDP par défaut. La sortie pour show cdp neighbors detail et show lldp neighbors detail révélera les détails de l'adresse, de la plateforme et du système d'exploitation d'un appareil.

 

lldp run
end

 

Cisco AutoSecure

R1# auto secure

 

OSPF MD5 Authentication ( A éviter en production)

R1# conf t 
R1(config)# interface s0/0/0 
R1(config-if)# ip ospf message-digest-key 1 md5 cisco12345 
R1(config-if)# ip ospf authentication message-digest 
R1(config-if)# exit 
R1(config)# exit 
R1# 
R2# conf t 
R2(config)# interface s0/0/0 
R2(config-if)# ip ospf message-digest-key 1 md5 cisco12345 
R2(config-if)# ip ospf authentication message-digest 
R2(config-if)# exit 
R2(config)# exit 
R2# 

 

Authentification du protocole de routage OSPF SHA

R1(config)# key chain SHA256 
R1(config-keychain)# key 1 
R1(config-keychain-key)# key-string ospfSHA256 
R1(config-keychain-key)# cryptographic-algorithm hmac-sha-256 
R1(config-keychain-key)# exit 
R1(config-keychain)# exit 
R1(config)# interface s0/0/0 
R1(config-if)# ip ospf authentication key-chain SHA256 
R2(config)# key chain SHA256 
R2(config-keychain)# key 1 
R2(config-keychain-key)# key-string ospfSHA256 
R2(config-keychain-key)# cryptographic-algorithm hmac-sha-256 
R2(config-keychain-key)# exit
R2(config-keychain)# exit 
R2(config)# interface s0/0/0 
R2(config-if)# ip ospf authentication key-chain SHA256 

 

Configurer les horodatages Syslog

R1# configure terminal 
R1(config)# interface g0/0/0 
R1(config-if)# shutdown 
R1(config-if)# exit 
R1(config)# service timestamps log datetime 
R1(config)# interface g0/0/0 
R1(config-if)# no shutdown 

 

Configuration Syslog

R1(config)# logging 10.2.2.6
R1(config)# logging trap informational
R1(config)# logging source-interface lo0
R1(config)# logging on
R1(config)# exit
R1# show logging

Configuration de sécurité SNMPv3

R1(config)# ip access-list standard PERMIT-ADMIN 
R1(config-std-nacl)# permit 192.168.1.0 0.0.0.255 
R1(config-std-nacl)# exit 
R1(config)# snmp-server view SNMP-RO iso included 
R1(config)# snmp-server group ADMIN v3 priv read SNMP-RO access PERMIT-ADMIN 
R1(config)# snmp-server user BOB ADMIN v3 auth sha cisco12345 priv aes 128 cisco54321 
R1(config)# end 
R1#

 

 Vérification

R1# show run | include snmp
R1# show snmp user

Configurer l'authentification AAA locale

R1(config)# username JR-ADMIN algorithm-type scrypt secret Str0ng5rPa55w0rd
R1(config)# username ADMIN algorithm-type scrypt secret Str0ng5rPa55w0rd
R1(config)# aaa new-model
R1(config)# aaa authentication login default local-case
R1(config)#

Méthodes par défaut et nommées

R1(config)# username JR-ADMIN algorithm-type scrypt secret Str0ng5rPa55w0rd
R1(config)# username ADMIN algorithm-type scrypt secret Str0ng5rPa55w0rd
R1(config)# aaa new-model
R1(config)# aaa authentication login default local-case enable
R1(config)# aaa authentication login SSH-LOGIN local-case
R1(config)# line vty 0 4
R1(config-line)# login authentication SSH-LOGIN

Affinement de la configuration de l'authentification

Router(config)# aaa local authentication attempts max-fail [number-of-unsuccessful-attempts]

Étapes pour configurer l'authentification AAA basée sur serveur

Il y a quatre étapes de base pour configurer l'authentification basée sur serveur.

Étape 1. Activer globalement AAA pour permettre l'utilisation de tous les éléments AAA. Cette étape est une condition préalable pour toutes les autres commandes AAA.

Étape 2. Spécifier le serveur qui fournira les services AAA pour le routeur. Cela peut être un serveur TACACS+ ou RADIUS.

Étape 3. Configurer la clé de chiffrement nécessaire pour chiffrer le transfert de données entre le dispositif réseau et le serveur AAA.

Étape 4. Configurer la liste des méthodes d'authentification AAA pour se référer au serveur TACACS+ ou RADIUS. Pour la redondance, il est possible de configurer plus d'un serveur.

 

Configure TACACS+ Servers

R1(config)# aaa new-model 
R1(config)# tacacs server Server-T 
R1(config-server-tacacs)# address ipv4 192.168.1.101 
R1(config-server-tacacs)# single-connection 
R1(config-server-tacacs)# key TACACS-Pa55w0rd 
R1(config-server-tacacs)# exit 
R1(config)# 

Configurer les serveurs RADIUS

R1(config)# aaa new-model 
R1(config)# R1(config)# radius server SERVER-R 
R1(config-radius-server)# address ipv4 192.168.1.100 auth-port 1812 acct-port 1813 
R1(config-radius-server)# key RADIUS-Pa55w0rd 
R1(config-radius-server)# exit  
R1(config)#

Authentifier vers les commandes de configuration du serveur AAA

Lorsque les serveurs de sécurité AAA ont été identifiés, ces serveurs doivent être inclus dans la liste des méthodes de la commande aaa authentication login. Les serveurs AAA sont identifiés en utilisant les mots-clés group tacacs+ ou group radius. Référez-vous à l'exemple pour voir les options de syntaxe de commande disponibles avec la commande aaa authentication login.

Pour configurer une liste de méthodes pour l'authentification par défaut se connectant d'abord à l'aide d'un serveur TACACS+, ensuite avec un serveur RADIUS, et finalement avec une base de données d'utilisateurs locaux, spécifiez l'ordre avec la commande aaa authentication login default, comme souligné dans l'exemple. Il est important de réaliser que R1 ne tentera de s'authentifier à l'aide de RADIUS que si le serveur TACACS+ n'est pas accessible. De même, R1 ne tentera de s'authentifier à l'aide de la base de données locale que si les serveurs TACACS+ et RADIUS ne sont pas disponibles.

R1(config)# aaa new-model
R1(config)# tacacs server Server-T
R1(config-server-tacacs)# address ipv4 192.168.1.100
R1(config-server-tacacs)# single-connection
R1(config-server-tacacs)# key TACACS-Pa55w0rd
R1(config-server-tacacs)# exit
R1(config)# radius server SERVER-R
R1(config-radius-server)# address ipv4 192.168.1.101 auth-port 1812 acct-port 1813
R1(config-radius-server)# key RADIUS-Pa55w0rd
R1(config-radius-server)# exit
R1(config)# aaa authentication login default group tacacs+ group radius local-case

 

Configuration de l'autorisation AAA

Pour configurer l'autorisation, utilisez la commande aaa authorization, comme indiqué dans les exemples ci-dessous. Le type d'autorisation peut spécifier les types de commandes ou de services :

  • network - pour les services réseau tels que PPP et SLIP
  • exec - pour les sessions terminales User EXEC
  • commands level - tente d'autoriser toutes les commandes en mode EXEC, y compris les commandes de configuration globale, associées à un niveau de privilège spécifique
R1(config)# aaa authorization exec default group tacacs+ 
R1(config)# aaa authorization network default group tacacs+ 
R1(config)# username JR-ADMIN algorithm-type scrypt secret Str0ng5rPa55w0rd 
R1(config)# username ADMIN algorithm-type scrypt secret Str0ng5rPa55w0rd 
R1(config)# aaa new-model 

Lorsque l'autorisation AAA n'est pas activée, tous les utilisateurs ont un accès complet. Après le début de l'authentification, le défaut change pour ne permettre aucun accès. Cela signifie que l'administrateur doit créer un utilisateur avec des droits d'accès complets avant que l'autorisation ne soit activée, comme montré dans l'exemple. Ne pas le faire verrouille immédiatement l'administrateur hors du système dès que la commande aaa authorization est entrée. La seule façon de se récupérer de cela est de redémarrer le routeur. Si c'est un routeur de production, le redémarrage pourrait être inacceptable. Assurez-vous qu'au moins un utilisateur a toujours des droits complets.

 

AAA Accounting Configuration

 
R1(config)# username JR-ADMIN algorithm-type scrypt secret Str0ng5rPa5w0rd
R1(config)# username ADMIN algorithm-type scrypt secret Str0ng5rPa55w0rd
R1(config)# aaa new-model
R1(config)# aaa authentication login default group tacacs+
R1(config)# aaa authorization exec default group tacacs+
R1(config)# aaa authorization network default group tacacs+
R1(config)# aaa accounting exec default start-stop group tacacs+
R1(config)# aaa accounting network default start-stop group tacacs+

 

Listes de contrôle d'accès numérotées et nommées

Les ACLs numérotées de 1 à 99 ou de 1300 à 1999 sont des ACLs standard, tandis que celles numérotées de 100 à 199, ou de 2000 à 2699, sont des ACLs étendues, comme le montre la sortie.

R1(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 
rate-limit Simple rate-limit specific access list 
template Enable IP template acls 
R1(config)# access-list 

Les ACLs nommées sont la méthode préférée à utiliser lors de la configuration des ACLs. Plus précisément, les ACLs standard et étendues peuvent être nommées pour fournir des informations sur le but de l'ACL. Par exemple, nommer une ACL étendue FTP-FILTER est bien mieux que d'avoir une ACL numérotée 100.

La commande de configuration globale ip access-list est utilisée pour créer une ACL nommée, comme le montre l'exemple suivant.

R1(config)# ip access-list extended FTP-FILTER 
R1(config-ext-nacl)# permit tcp 192.168.10.0 0.0.0.255 any eq ftp 
R1(config-ext-nacl)# permit tcp 192.168.10.0 0.0.0.255 any eq ftp-data 
R1(config-ext-nacl)# 

Ce qui suit résume les règles à suivre pour les ACLs nommées :

  • Attribuer un nom pour identifier le but de l'ACL.
  • Les noms peuvent contenir des caractères alphanumériques.
  • Les noms ne peuvent pas contenir d'espaces ni de ponctuation.
  • Il est suggéré que le nom soit écrit en LETTRES MAJUSCULES.
  • Des entrées peuvent être ajoutées ou supprimées au sein de l'ACL.

 

Mots-clés du masque générique

Travailler avec des représentations décimales des bits de masque générique binaire peut être fastidieux. Pour simplifier cette tâche, le Cisco IOS fournit deux mots-clés pour identifier les utilisations les plus courantes du masquage générique. Les mots-clés réduisent les frappes nécessaires pour les ACL, mais plus important encore, ils rendent les ACE plus faciles à lire.

Les deux mots-clés sont :

  • host - Ce mot-clé se substitue au masque 0.0.0.0. Ce masque indique que tous les bits d'adresse IPv4 doivent correspondre pour filtrer juste une adresse d'hôte.
  • any - Ce mot-clé se substitue au masque 255.255.255.255. Ce masque dit d'ignorer l'adresse IPv4 entière ou d'accepter toutes les adresses.

Par exemple, dans la sortie de commande, deux ACL sont configurées. L'ACE de l'ACL 10 permet uniquement à l'hôte 192.168.10.10 et l'ACE de l'ACL 11 permet à tous les hôtes.

R1(config)# access-list 10 permit 192.168.10.10 0.0.0.0 
R1(config)# access-list 11 permit 0.0.0.0 255.255.255.255 
R1(config)# 

Alternativement, les mots-clés host et any auraient pu être utilisés pour remplacer la sortie mise en évidence.

Les commandes suivantes accomplissent la même tâche que les commandes précédentes.

R1(config)# access-list 10 permit host 192.168.10.10 
R1(config)# access-list 11 permit any 
R1(config)# 

 

Syntaxe des ACL IPv4 Standard Numérotées

Pour créer une ACL standard numérotée, utilisez la commande de configuration globale suivante :

Router(config)# access-list access-list-number {deny | permit | remark text} source [source-wildcard] [log] 

Utilisez la commande de configuration globale no access-list access-list-number pour supprimer une ACL standard numérotée.

Le tableau fournit une explication détaillée de la syntaxe pour une ACL standard.

  • access-list-number

    • Il s'agit du numéro décimal de l'ACL.
    • La plage de numéros des ACL standard est de 1 à 99 ou de 1300 à 1999.
  • deny

    • Cela refuse l'accès si la condition est satisfaite.
  • permit

    • Cela permet l'accès si la condition est satisfaite.
  • remark text

    • (Facultatif) Cela ajoute une entrée de texte à des fins de documentation.
    • Les remarques sont extrêmement utiles, surtout dans les ACLs plus longues ou plus complexes.
    • Chaque remarque est limitée à 100 caractères.
  • source

    • Cela identifie le réseau source ou l'adresse hôte à filtrer.
    • Utilisez le mot-clé any pour spécifier tous les réseaux.
    • Utilisez le mot-clé host ip-address ou entrez simplement une ip-address (sans le mot-clé host) pour identifier une adresse IP spécifique.
  • source-wildcard

    • (Facultatif) Il s'agit d'un masque générique de 32 bits appliqué à la source. S'il est omis, un masque par défaut de 0.0.0.0 est supposé.
  • log

    • (Facultatif) Ce mot-clé génère un message informatif chaque fois que l'ACE est correspondant.
    • Le message comprend le numéro de l'ACL, la condition correspondante (c'est-à-dire autorisée ou refusée), l'adresse source et le nombre de paquets.
    • Ce message est généré pour le premier paquet correspondant.
    • Malheureusement, la journalisation des ACL peut être intensive en CPU et peut affecter négativement d'autres fonctions; par conséquent, elle ne devrait être mise en œuvre que pour des raisons de dépannage ou de sécurité.

Syntaxe d'ACL IPv4 standard nommée

Nommer une ACL facilite la compréhension de sa fonction. Pour créer une ACL standard nommée, utilisez la commande de configuration globale suivante :

Router(config)# ip access-list standard access-list-name 

Exemple d'ACL IPv4 étendue nommée

L'exemple montre la configuration pour l'ACL entrante SURFING et l'ACL sortante BROWSING.

L'ACL SURFING autorise le trafic HTTP et HTTPS des utilisateurs internes à sortir de l'interface G0/0/1 connectée à internet. Le trafic web revenant d'internet est autorisé à retourner dans le réseau privé interne par l'ACL BROWSING.

L'ACL SURFING est appliquée en entrée et l'ACL BROWSING appliquée en sortie sur l'interface R1 G0/0/0, comme le montre la sortie.

Les hôtes internes ont accédé aux ressources web sécurisées depuis internet. La commande show access-lists est utilisée pour vérifier les statistiques ACL. Notez que les compteurs d'autorisation HTTPS sécurisée (c'est-à-dire, eq 443) dans l'ACL SURFING et les compteurs de retour établis dans l'ACL BROWSING ont augmenté.

R1(config)# ip access-list extended SURFING 
R1(config-ext-nacl)# Remark Permits inside HTTP and HTTPS traffic  
R1(config-ext-nacl)# permit tcp 192.168.10.0 0.0.0.255 any eq 80 
R1(config-ext-nacl)# permit tcp 192.168.10.0 0.0.0.255 any eq 443 
R1(config-ext-nacl)# exit 
R1(config)#  
R1(config)# ip access-list extended BROWSING 
R1(config-ext-nacl)# Remark Only permit returning HTTP and HTTPS traffic  
R1(config-ext-nacl)# permit tcp any 192.168.10.0 0.0.0.255 established 
R1(config-ext-nacl)# exit 
R1(config)# interface g0/0/0 
R1(config-if)# ip access-group SURFING in 
R1(config-if)# ip access-group BROWSING out 
R1(config-if)# end 
R1# show access-lists 
Extended IP access list SURFING 
    10 permit tcp 192.168.10.0 0.0.0.255 any eq www 
    20 permit tcp 192.168.10.0 0.0.0.255 any eq 443 (124 matches) 
Extended IP access list BROWSING 
    10 permit tcp any 192.168.10.0 0.0.0.255 established (369 matches) 
R1# 
 

Syntaxe ACL IPv4 étendue numérotée

Les étapes procédurales pour configurer les ACL étendues sont les mêmes que pour les ACL standard. L'ACL étendue est d'abord configurée, puis elle est activée sur une interface. Cependant, la syntaxe de commande et les paramètres sont plus complexes pour supporter les fonctionnalités supplémentaires fournies par les ACL étendues.

Pour créer une ACL étendue numérotée, utilisez la commande de configuration globale suivante :

Router(config)# ip access-list extended <access-list-number> 

Utilisez la commande de configuration globale no access-list <access-list-number> pour supprimer une ACL étendue.

Bien qu'il y ait de nombreux mots-clés et paramètres pour les ACL étendues, il n'est pas nécessaire d'utiliser tous ces éléments lors de la configuration d'une ACL étendue. Le tableau fournit une explication détaillée de la syntaxe pour une ACL étendue.

Paramètre Description
access-list-number C'est le numéro décimal de l'ACL. La plage de numéros d'ACL étendues est de 100 à 199 et de 2000 à 2699.
deny Cela refuse l'accès si la condition est remplie.
permit Cela autorise l'accès si la condition est remplie.
remark text (Facultatif) Ajoute une entrée de texte à des fins de documentation. Chaque remarque est limitée à 100 caractères.
protocol Nom ou numéro d'un protocole internet. Les mots-clés communs incluent ip, tcp, udp et icmp. Le mot-clé ip correspond à tous les protocoles IP.
source Cela identifie le réseau source ou l'adresse hôte à filtrer. Utilisez le mot-clé any pour spécifier tous les réseaux. Utilisez le mot-clé host ip-address ou entrez simplement une ip-address (sans le mot-clé host) pour identifier une adresse IP spécifique.
source-wildcard (Facultatif) Un masque générique de 32 bits appliqué à la source.
destination Cela identifie le réseau de destination ou l'adresse hôte à filtrer. Utilisez le mot-clé any pour spécifier tous les réseaux. Utilisez le mot-clé host ip-address ou ip-address.
destination-wildcard (Facultatif) C'est un masque générique de 32 bits appliqué à la destination.
operator (Facultatif) Cela compare les ports source ou de destination. Certains opérateurs incluent lt (moins que), gt (plus que), eq (égal) et neq (non égal).
port (Facultatif) Le numéro décimal ou le nom d'un port TCP ou UDP.
established (Facultatif) Uniquement pour le protocole TCP. C'est une fonctionnalité de pare-feu de 1ère génération.
log (Facultatif) Ce mot-clé génère et envoie un message informatif chaque fois que l'ACE est correspondant. Ce message inclut le numéro ACL, la condition correspondante (c'est-à-dire autorisée ou refusée), l'adresse source et le nombre de paquets. Ce message est généré pour le premier paquet correspondant. Ce mot-clé ne devrait être implémenté que pour des raisons de dépannage ou de sécurité.

La commande pour appliquer une ACL IPv4 étendue à une interface est la même que la commande utilisée pour les ACL IPv4 standard.

Router(config-if)# ip access-group {access-list-number | access-list-name} {in | out} 

Pour retirer une ACL d'une interface, commencez par entrer la commande de configuration d'interface no ip access-group. Pour retirer l'ACL du routeur, utilisez la commande de configuration globale no access-list.

Note : La logique interne appliquée à l'ordonnancement des déclarations d'ACL standard ne s'applique pas aux ACL étendues. L'ordre dans lequel les déclarations sont entrées lors de la configuration est l'ordre dans lequel elles sont affichées et traitées.

Protocoles et Numéro de ports

Les ACL étendues peuvent filtrer sur de nombreux types différents de protocoles internet et de ports. Cliquez sur chaque bouton pour plus d'informations sur les protocoles internet et les ports sur lesquels les ACL étendues peuvent filtrer.

Options de Protocole

Les quatre protocoles en surbrillance sont les options les plus populaires.

Note : Utilisez le ? pour obtenir de l'aide lors de l'entrée d'une ACE complexe.

Note : Si un protocole internet n'est pas listé, alors le numéro de protocole IP pourrait être spécifié. Par exemple, le numéro de protocole ICMP est 1, TCP est 6, et UDP est 17.

R1(config)# access-list 100 permit ?  
<0-255> Un numéro de protocole IP 
ahp Authentication Header Protocol 
dvmrp dvmrp 
eigrp Protocole de routage EIGRP de Cisco 
esp Encapsulation Security Payload 
gre Tunneling GRE de Cisco 
icmp Internet Control Message Protocol 
igmp Internet Gateway Message Protocol 
ip Tout protocole Internet 
ipinip Tunneling IP dans IP 
nos Tunneling IP sur IP compatible KA9Q NOS 
object-group Groupe d'objets de service 
ospf Protocole de routage OSPF 
pcp Payload Compression Protocol 
pim Protocol Independent Multicast 
tcp Transmission Control Protocol 
udp User Datagram Protocol 
R1(config)# access-list 100 permit 

Exemples de configuration pour les protocoles et les numéros de port

Les ACL étendues peuvent filtrer selon différents numéros de port et options de noms de port. Cet exemple configure une ACL étendue 100 pour filtrer le trafic HTTP. La première ACE utilise le nom de port www. La seconde ACE utilise le numéro de port 80. Les deux ACE atteignent exactement le même résultat.

R1(config)# access-list 100 permit tcp any any eq www 
R1(config)# !or... 
R1(config)# access-list 100 permit tcp any any eq 80  

Configurer le numéro de port est requis lorsqu'il n'y a pas de nom de protocole spécifique listé tel que SSH (numéro de port 22) ou un HTTPS (numéro de port 443), comme montré dans l'exemple suivant.

R1(config)# access-list 100 permit tcp any any eq 22 
R1(config)# access-list 100 permit tcp any any eq 443 
R1(config)# 
 

ACL étendue TCP établie (Established)

TCP peut également effectuer des services de pare-feu étatique de base en utilisant le mot-clé TCP established. Le mot-clé permet au trafic intérieur de sortir du réseau privé intérieur et autorise le trafic de réponse de retour à entrer dans le réseau privé intérieur, comme illustré sur la figure.

Cependant, le trafic TCP généré par un hôte extérieur et tentant de communiquer avec un hôte intérieur est refusé.

Dans l'exemple, l'ACL 120 est configurée pour autoriser uniquement le retour du trafic web vers les hôtes intérieurs. La nouvelle ACL est ensuite appliquée en sortie sur l'interface R1 G0/0/0. La commande show access-lists affiche les deux ACL. Remarquez à partir des statistiques de correspondance que les hôtes intérieurs ont accédé aux ressources web sécurisées depuis internet.

R1(config)# access-list 120 permit tcp any 192.168.10.0 0.0.0.255 established 
R1(config)# interface g0/0/0  
R1(config-if)# ip access-group 120 out  
R1(config-if)# end 
R1# show access-lists  
Extended IP access list 110 
    10 permit tcp 192.168.10.0 0.0.0.255 any eq www
    20 permit tcp 192.168.10.0 0.0.0.255 any eq 443 (657 matches)
Extended IP access list 120 
    10 permit tcp any 192.168.10.0 0.0.0.255 established (1166 matches) 
R1# 

Notez que les compteurs d'autorisation HTTPS sécurisée (c'est-à-dire, eq 443) dans l'ACL 110 et les compteurs de retour établis dans l'ACL 120 ont augmenté.

Le paramètre established permet uniquement aux réponses au trafic originaire du réseau 192.168.10.0/24 de retourner à ce réseau. Plus précisément, une correspondance se produit si le segment TCP de retour a les bits de drapeau ACK ou reset (RST) définis. Cela indique que le paquet appartient à une connexion existante. Sans le paramètre established dans l'instruction ACL, les clients pourraient envoyer du trafic à un serveur web et recevoir du trafic en retour du serveur web. Tout le trafic serait autorisé.

Directives de configuration des ACL

Une ACL est composée d'une ou plusieurs entrées de contrôle d'accès (ACE) ou déclarations. Lors de la configuration et de l'application d'une ACL, tenez compte des directives résumées dans cette liste :

  • Créez une ACL globalement puis appliquez-la.
  • Assurez-vous que la dernière déclaration est un deny any implicite ou deny ip any any.
  • Souvenez-vous que l'ordre des déclarations est important car les ACL sont traitées de haut en bas.
  • Dès qu'une déclaration correspond, l'exécution de l'ACL est terminée.
  • Filtrez toujours du plus spécifique au plus générique. Par exemple, refusez un hôte spécifique puis autorisez tous les autres hôtes.
  • Souvenez-vous qu'une seule ACL est autorisée par interface, par protocole, par direction.
  • Souvenez-vous que les nouvelles déclarations pour une ACL existante sont ajoutées au bas de l'ACL par défaut.
  • Souvenez-vous que les paquets générés par le routeur ne sont pas filtrés par les ACL sortantes.
  • Placez les ACL standard aussi près que possible de la destination.
  • Placez les ACL étendues aussi près que possible de la source.

Atténuer les attaques avec les ACL

Les ACL peuvent être utilisées pour atténuer de nombreuses menaces réseau, telles que le spoofing d'adresses IP et les attaques par déni de service (DoS). La plupart des attaques DoS utilisent une forme de spoofing. Le spoofing d'adresse IP contourne le processus normal de création de paquets en insérant un en-tête IP personnalisé avec une adresse IP source différente. Les attaquants peuvent cacher leur identité en usurpant l'adresse IP source.

Il existe de nombreuses classes bien connues d'adresses IP qui ne devraient jamais être vues comme adresses IP source pour le trafic entrant dans le réseau d'une organisation. Par exemple, dans la figure, l'interface S0/0/0 est connectée à internet et ne devrait jamais accepter de paquets entrants provenant des adresses suivantes :

  • Adresses tout zéros
  • Adresses de diffusion
  • Adresses de l'hôte local (127.0.0.0/8)
  • Adresses Automatic Private IP Addressing (APIPA) (169.254.0.0/16)
  • Adresses privées réservées (RFC 1918)
  • Plage d'adresses IP multicast (224.0.0.0/4)
Supposons que le réseau 192.168.1.0/24 est attaché à l'interface R1 G0/0. Cette interface devrait uniquement autoriser les paquets entrants avec une adresse source de ce réseau. L'ACL pour G0/0 montrée dans la figure ne permettra que les paquets entrants du réseau 192.168.1.0/24. Tous les autres seront rejetés.

La figure montre un ordinateur connecté à R1 via G0/0 avec l'adresse de 192.168.1.0 / 24. R1 est connecté à internet via S0/0/0 R1 192.168.1.0/24 G0/0 S0/0/0 Internet

En entrée sur S0/0/0 :

R1(config)# access-list 150 deny ip host 0.0.0.0 any  
R1(config)# access-list 150 deny ip 10.0.0.0 0.255.255.255 any  
R1(config)# access-list 150 deny ip 127.0.0.0 0.255.255.255 any  
R1(config)# access-list 150 deny ip 172.16.0.0 0.15.255.255 any  
R1(config)# access-list 150 deny ip 192.168.0.0 0.0.255.255 any  
R1(config)# access-list 150 deny ip 224.0.0.0 15.255.255.255 any  
R1(config)# access-list 150 deny ip host 255.255.255.255 any 

En entrée sur G0/0 :

R1(config)# access-list 105 permit ip 192.168.1.0 0.0.0.255 any 

Autoriser le trafic nécessaire à travers un pare-feu

 

Une stratégie efficace pour atténuer les attaques consiste à autoriser explicitement seulement certains types de trafic à travers un pare-feu. Par exemple, le Domain Name System (DNS), le Simple Mail Transfer Protocol (SMTP) et le File Transfer Protocol (FTP) sont des services qui doivent souvent être autorisés à travers un pare-feu. Il est également courant de configurer un pare-feu pour qu'il permette aux administrateurs un accès à distance à travers le pare-feu. Secure Shell (SSH), syslog et Simple Network Management Protocol (SNMP) sont des exemples de services qu'un routeur peut avoir besoin d'inclure. Bien que nombreux de ces services soient utiles, ils doivent être contrôlés et surveillés. L'exploitation de ces services entraîne des vulnérabilités de sécurité.

Inbound on Serial 0/0/0

R1(config)# access-list 180 permit udp any host 192.168.20.2 eq domain  
R1(config)# access-list 180 permit tcp any host 192.168.20.2 eq smtp  
R1(config)# access-list 180 permit tcp any host 192.168.20.2 eq ftp  
R1(config)# access-list 180 permit tcp host 200.5.5.5 host 10.0.1.1 eq 22  
R1(config)# access-list 180 permit udp host 200.5.5.5 host 10.0.1.1 eq syslog  
R1(config)# access-list 180 permit udp host 200.5.5.5 host 10.0.1.1 eq snmptrap 
 

Atténuer les attaques ICMP

Les pirates peuvent utiliser des paquets d'écho du protocole Internet Control Message Protocol (ICMP) (pings) pour découvrir des sous-réseaux et des hôtes sur un réseau protégé et pour générer des attaques par inondation DoS. Les pirates peuvent utiliser des messages de redirection ICMP pour modifier les tables de routage des hôtes. Les messages d'écho et de redirection ICMP devraient être bloqués à l'entrée par le routeur.

Plusieurs messages ICMP sont recommandés pour un fonctionnement correct du réseau et devraient être autorisés à entrer dans le réseau interne :

  • Réponse d'écho - Permet aux utilisateurs de pinger des hôtes externes.
  • Source quench - Demande à l'expéditeur de diminuer le taux de trafic des messages.
  • Inatteignable - Généré pour les paquets qui sont refusés administrativement par une ACL.

Plusieurs messages ICMP sont nécessaires pour un bon fonctionnement du réseau et devraient être autorisés à sortir du réseau :

  • Écho - Permet aux utilisateurs de pinger des hôtes externes.
  • Problème de paramètre - Informe l'hôte des problèmes d'en-tête de paquet.
  • Paquet trop gros - Permet la découverte de l'unité de transmission maximale (MTU) du paquet.
  • Source quench - Réduit le trafic lorsque cela est nécessaire.

En règle générale, bloquez tous les autres types de messages ICMP en sortie.

Les ACL sont utilisées pour bloquer le spoofing d'adresse IP, autoriser sélectivement certains services à travers un pare-feu, et pour permettre uniquement les messages ICMP nécessaires. La figure montre une topologie d'échantillon et des configurations ACL possibles pour autoriser des services ICMP spécifiques sur les interfaces G0/0 et S0/0/0.

La figure montre un ordinateur connecté à internet avec une adresse de 209.165.201.3 / 24. Internet est connecté à R1 via s0/0/0. R1 se connecte à un serveur via G0.0. Le réseau du serveur est 192.168.1.0 / 24.

Inbound on S0/0/0:

R1(config)# access-list 112 permit icmp any any echo-reply  
R1(config)# access-list 112 permit icmp any any source-quench  
R1(config)# access-list 112 permit icmp any any unreachable  
R1(config)# access-list 112 deny icmp any any  
R1(config)# access-list 112 permit ip any any 
 

Inbound on G0/0:

R1(config)# access-list 114 permit icmp 192.168.1.0 0.0.0.255 any echo  
R1(config)# access-list 114 permit icmp 192.168.1.0 0.0.0.255 any parameter-problem  
R1(config)# access-list 114 permit icmp 192.168.1.0 0.0.0.255 any packet-too-big  
R1(config)# access-list 114 permit icmp 192.168.1.0 0.0.0.255 any source-quench  
R1(config)# access-list 114 deny icmp any any  
R1(config)# permit ip any any 

 

Atténuer les attaques SNMP

Router(config)# no snmp-server 

 

Configuration d' ACLs IPv6

Une liste de contrôle d'accès (ACL) IPv6 contient un déni implicite deny ipv6 any any. Chaque ACL IPv6 contient également des règles de permission implicites pour activer la découverte de voisin IPv6. Le protocole de découverte de voisin IPv6 (NDP) nécessite l'utilisation de la couche réseau IPv6 pour envoyer des messages de voisinage (NAs) et des sollicitations de voisin (NSs). Si un administrateur configure la commande deny ipv6 any any sans explicitement permettre la découverte de voisin, alors le NDP sera désactivé.

Dans la figure, R1 autorise le trafic entrant sur G0/0 provenant du réseau 2001:DB8:1:1::/64. Les paquets NA et NS sont explicitement autorisés. Le trafic provenant de toute autre adresse IPv6 est explicitement refusé. Si l'administrateur ne configurait que la première déclaration de permission, l'ACL aurait le même effet. Cependant, il est recommandé de documenter les déclarations implicites en les configurant explicitement.

R1(config)# ipv6 access-list LAN_ONLY
R1(config-ipv6-acl)# permit 2001:db8:1:1::/64 any
R1(config-ipv6-acl)# permit icmp any any nd-na
R1(config-ipv6-acl)# permit icmp any any nd-ns
R1(config-ipv6-acl)# deny ipv6 any any
R1(config-ipv6-acl)# end
R1# show ipv6 access-list
IPv6 access list LAN_ONLY
    permit ipv6 2001:DB8:1:1::/64 any sequence 10
    permit icmp any any nd-na sequence 20
    permit icmp any any nd-ns sequence 30
    deny ipv6 any any sequence 40
R1#

 

Configurer une ZPF (Zone-Based Policy Firewall)

 

Étape 1 : Créer les Zones

R1(config)# zone security PRIVATE
R1(config-sec-zone)# exit
R1(config)# zone security PUBLIC
R1(config-sec-zone)# exit
R1(config)#

Étape 2 : Identifier le Trafic

Router(config)# class-map type inspect match-any HTTP-TRAFFIC
R1(config-cmap)# match protocol http
R1(config-cmap)# match protocol https
R1(config-cmap)# match protocol dns

Étape 3 : Définir une Action

R1(config)# policy-map type inspect PRIV-TO-PUB-POLICY
R1(config-pmap)# class type inspect HTTP-TRAFFIC
R1(config-pmap-c)# inspect

Étape 4 : Identifier une Paire de Zones et l’Associer à une Politique

R1(config)# zone-pair security PRIV-PUB source PRIVATE destination PUBLIC
R1(config-sec-zone-pair)# service-policy type inspect PRIV-TO-PUB-POLICY

Étape 5 : Assigner les Zones aux Interfaces

R1(config)# interface GigabitEthernet 0/0
R1(config-if)# zone-member security PRIVATE
R1(config)# interface Serial 0/0/0
R1(config-if)# zone-member security PUBLIC

 

Vérification de la Configuration ZPF

R1# show run | begin class-map
!
<some output omitted>
!
class-map type inspect match-any HTTP-TRAFFIC
match protocol http
match protocol https
match protocol dns
!
policy-map type inspect PRIV-TO-PUB-POLICY
class type inspect HTTP-TRAFFIC
  inspect
class class-default
  drop
!
zone security PRIVATE
zone security PUBLIC
zone-pair security PRIV-PUB source PRIVATE destination PUBLIC
service-policy type inspect PRIV-TO-PUB-POLICY
!
interface GigabitEthernet0/0
zone-member security PRIVATE
!
interface Serial0/0/0
zone-member security PUBLIC
!

 

Configure Cisco SPAN

S1(config)# monitor session 1 source interface fastethernet 0/1
S1(config)# monitor session 1 destination interface fastethernet 0/2

 

Vérification  SPAN

S1# show monitor

Étapes de Configuration de Snort IPS

 

Étape 1 : Télécharger le Fichier OVA de Snort

Un fichier Open Virtualization Archive (OVA) est un fichier qui contient une version compressée et installable d'une machine virtuelle. Le fichier OVA du service Snort n'est pas inclus dans les images Cisco IOS XE installées sur le routeur. Cependant, si le fichier OVA est préinstallé dans la mémoire flash du routeur, il est recommandé de télécharger la dernière version depuis Cisco.com.

Remarque : Un accès CCO est requis pour télécharger des fichiers depuis Cisco.com.

Étape 2 : Installer le Fichier OVA de Snort

R1# virtual-service install name MYIPS package flash:iosxe-utd.16.09.06.1.0.10_SV29130_XE_16_9.ova

Étape 3 : Configurer les Interfaces de Virtual Port Group

R1# configure terminal
R1(config)# interface VirtualPortGroup0
R1(config-if)# description Management interface
R1(config-if)# ip address 209.165.201.1 255.255.255.252
R1(config-if)# exit
R1(config)# interface VirtualPortGroup1
R1(config-if)# description Data interface
R1(config-if)# ip address 192.168.0.1 255.255.255.252
R1(config-if)# exit
R1#

Étape 4 : Activer les Services Virtuels

R1(config)# virtual-service MYIPS
R1(config-virt-serv)# vnic gateway VirtualPortGroup0
R1(config-virt-serv-vnic)# guest ip address 209.165.201.2
R1(config-virt-serv-vnic)# exit
R1(config-virt-serv)# vnic gateway VirtualPortGroup1
R1(config-virt-serv-vnic)# guest ip address 192.168.0.2
R1(config-virt-serv-vnic)# exit
R1(config-virt-serv)# activate

Étape 5 : Configurer les Paramètres Spécifiques de Snort

R1(config)# utd engine standard
R1(config-utd-eng-std)# logging host 10.10.10.254
R1(config-utd-eng-std)# logging syslog
R1(config-utd-eng-std)# threat-inspection
R1(config-utd-engstd-insp)# threat protection
R1(config-utd-engstd-insp)# policy balanced
R1(config-utd-engstd-insp)# signature update occur-at daily 0 0
R1(config-utd-engstd-insp)# signature update server cisco username Bob password class
R1(config-utd-engstd-insp)# logging level warning
R1(config-utd-engstd-insp)# exit
R1(config-utd-eng-std)# exit

Étape 6 : Activer IPS Globalement ou sur les Interfaces Désirées

R1(config)# utd
R1(config-utd)# all-interfaces
R1(config-utd)# engine standard
R1(config-engine-std)# fail close
R1(config-engine-std)# exit
R1(config-utd)# exit

Pour activer Snort uniquement sur des interfaces spécifiques :

R1(config)# interface G0/0/0
R1(config-if)# utd enable
R1(config-if)# exit
R1(config)# interface G0/0/1
R1(config-if)# utd enable
R1(config-if)# exit

Configurer une liste d'exceptions pour Snort (whitelist) :

R1(config)# utd threat-inspection whitelist
R1(config-utd-whitelist)# signature id 21555 comment traffic from Branch 1
R1(config-utd-whitelist)#

Étape 7 : Vérifier la Configuration de Snort IPS

R1# show virtual-service list
R1# show virtual-service detail
R1# show utd engine standard config
R1# show utd engine standard status
R1# show platform hardware qfp active feature utd stats

 

Sécurité avec l'Authentification Basée sur les Ports 802.1X

Configuration de 802.1X

Cette configuration permet à l’interface F0/1 de s’authentifier avec un serveur RADIUS en utilisant le protocole 802.1X pour la sécurité basée sur les ports.

S1(config)# aaa new-model
S1(config)# radius server NETSEC
S1(config-radius-server)# address ipv4 10.1.1.50 auth-port 1812 acct-port 1813
S1(config-radius-server)# key RADIUS-Pa55w0rd
S1(config-radius-server)# exit
S1(config)# aaa authentication dot1x default group radius
S1(config)# dot1x system-auth-control
S1(config)# interface F0/1
S1(config-if)# description Access Port
S1(config-if)# switchport mode access
S1(config-if)# authentication port-control auto
S1(config-if)# dot1x pae authenticator

 

Atténuation des Attaques de Saut de VLAN (VLAN Hopping)

S1(config)# interface range fa0/1 - 16
S1(config-if-range)# switchport mode access
S1(config-if-range)# exit
S1(config)#

S1(config)# interface range fa0/17 - 20
S1(config-if-range)# switchport mode access
S1(config-if-range)# switchport access vlan 1000
S1(config-if-range)# shutdown
S1(config-if-range)# exit
S1(config)#

S1(config)# interface range fa0/21 - 24
S1(config-if-range)# switchport mode trunk
S1(config-if-range)# switchport nonegotiate
S1(config-if-range)# switchport trunk native vlan 999
S1(config-if-range)# end
S1#

Explication de la Configuration

  • Ports en mode Access (Fa0/1 - 16) : Configuration des ports en mode access pour éviter les connexions indésirables en mode trunk, ce qui limite le risque d'attaques de saut de VLAN.

  • Ports désactivés (Fa0/17 - 20) : Ces ports sont configurés en mode access dans le VLAN 1000 et sont désactivés avec la commande shutdown pour bloquer les accès non autorisés.

  • Ports Trunk sécurisés (Fa0/21 - 24) :

    • switchport mode trunk : Définit les ports en mode trunk pour permettre le passage de plusieurs VLANs.
    • switchport nonegotiate : Désactive DTP (Dynamic Trunking Protocol) pour éviter les tentatives de négociation en trunk de la part de périphériques non autorisés.
    • switchport trunk native vlan 999 : Change le VLAN natif en VLAN 999, qui est un VLAN non utilisé, pour empêcher le saut de VLAN via le VLAN natif par défaut.

 

Private VLANs

 

Voici une configuration pour implémenter une liste de contrôle d'accès (ACL) étendue nommée PVLAN sur le routeur R1. Cette ACL est appliquée à l'interface G0/0 pour contrôler le trafic entre les sous-réseaux privés.

R1(config)# ip access-list extended PVLAN
R1(config-ext-nacl)# deny ip 172.16.0.0 0.0.0.255 172.16.0.0 0.0.0.255  
R1(config-ext-nacl)# permit ip any any
R1(config-ext-nacl)# exit
R1(config)# interface g0/0
R1(config-if)# ip access-group PVLAN in
R1(config-if)#

Configurer PVLAN Edge

 

 

 

 

 

Exemple de Configuration de DHCP Snooping

 

S1(config)# ip dhcp snooping
S1(config)# interface f0/1
S1(config-if)# ip dhcp snooping trust
S1(config-if)# exit
S1(config)# interface range f0/5 - 24
S1(config-if-range)# ip dhcp snooping limit rate 6
S1(config-if-range)# exit
S1(config)# ip dhcp snooping vlan 5,10,50-52
S1(config)# end
S1#

Vérification DHCP Snooping

S1# show ip dhcp snooping

Exemple de Configuration DAI (Dynamique ARP Inspection)

S1(config)# ip dhcp snooping
S1(config)# ip dhcp snooping vlan 10
S1(config)# ip arp inspection vlan 10
S1(config)# interface fa0/24
S1(config-if)# ip dhcp snooping trust
S1(config-if)# ip arp inspection trust

 

Configurer IP Source Guard

S1(config)# interface range fastethernet 0/1 - 2
S1(config-if-range)# ip verify source
S1(config-if-range)# end
S1#

 

Vérification

 S1# show ip verify source