Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment configurer l'authentification, l'autorisation et la comptabilité (AAA) sur un routeur Cisco avec les protocoles Radius ou TACACS+.
Aucune spécification déterminée n'est requise pour ce document.
Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.
Les informations contenues dans ce document sont basées sur la ligne principale du logiciel Cisco IOS® version 12.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Ce document explique comment configurer l'authentification, l'autorisation et la comptabilité (AAA) sur un routeur Cisco avec les protocoles Radius ou TACACS+. Le but de ce document n'est pas de couvrir toutes les fonctionnalités d'AAA, mais d'expliquer les commandes principales et fournir quelques exemples et lignes directrices.
Note: Lisez la section relative à la configuration AAA générale avant de poursuivre la configuration de Cisco IOS. Si vous ne le faites pas, vous risquez d'obtenir une mauvaise configuration et un verrouillage ultérieur.
Pour plus d'informations, consultez Authentication, Authorization and Accounting Configuration Guide.
Diagramme du réseau
Pour activer AAA, vous devez configurer la commande aaa new-model en configuration globale.
Note: Jusqu'à ce que cette commande soit activée, toutes les autres commandes AAA sont masquées.
Avertissement : La commande aaa new-model applique immédiatement l'authentification locale à toutes les lignes et interfaces (excepté la ligne de console line con 0). Si une session Telnet est ouverte sur le routeur après l’activation de cette commande (ou si une connexion expire et doit se reconnecter), l’utilisateur doit être authentifié auprès de la base de données locale du routeur. Il est recommandé de définir un nom d'utilisateur et un mot de passe sur le serveur d'accès avant de démarrer la configuration AAA, afin de ne pas être verrouillé hors du routeur. Voir l'exemple de code suivant.
Router(config)#username xxx password yyy
Astuce : Avant de configurer vos commandes AAA, save
votre configuration. Vous pouvez save
la configuration de nouveau uniquement après avoir terminé votre configuration AAA (et être convaincu qu'elle fonctionne correctement). Cela vous permet de récupérer après des verrouillages inattendus car vous pouvez annuler toute modification avec un rechargement du routeur.
En configuration globale, définissez le protocole de sécurité utilisé avec AAA (Radius, TACACS+). Si vous ne voulez utiliser aucun de ces deux protocoles, vous pouvez utiliser la base de données locale sur le routeur.
Si vous utilisez TACACS+, utilisez la commande tacacs-server host <adresse IP du serveur AAA> <key>.
Si vous utilisez Radius, utilisez la commande radius-server host <adresse IP du serveur AAA> <key>.
Sur le serveur AAA, configurez les paramètres suivants :
Le nom du serveur d'accès.
L'adresse IP que le serveur d'accès l'utilise pour communiquer avec le serveur AAA.
Note: Si les deux périphériques se trouvent sur le même réseau Ethernet, le serveur d'accès utilise par défaut l'adresse IP définie sur l'interface Ethernet lorsqu'il envoie le paquet AAA. Cette question est importante quand le routeur a plusieurs interfaces (et, par conséquent, plusieurs adresses).
Exactement la même clé <key> configurée dans le serveur d'accès.
Note: La clé est sensible à la casse.
Le protocole utilisé par le serveur d'accès (TACACS+ ou Radius).
Reportez-vous à la documentation de votre serveur AAA pour connaître la procédure exacte utilisée pour configurer les paramètres précédents. Si le serveur AAA n'est pas correctement configuré, les requêtes AAA du NAS peuvent être ignorées par le serveur AAA et la connexion peut échouer.
Le serveur AAA doit avoir un IP accessible depuis le serveur d'accès (effectuez un test ping pour vérifier la connectivité).
L'authentification vérifie les utilisateurs avant qu'ils soient autorisés à l'accéder au réseau et aux services réseau (qui sont vérifiés avec l'autorisation).
Pour configurer l'authentification AAA :
Définissez d'abord une liste nommée de méthodes d'authentification (dans le mode de configuration globale).
Appliquez cette liste à une ou plusieurs interfaces (dans le mode de configuration de l'interface).
La seule exception est la liste de méthodes par défaut (nommée default). La liste de méthodes par défaut est automatiquement appliquée à toutes les interfaces excepté à celles qui ont une liste de méthodes explicitement définies. Une liste de méthodes définies remplace la liste de méthodes par défaut.
Ces exemples d'authentification utilisent l'authentification Radius, la connexion et le protocole point à point (PPP) pour expliquer des concepts tels que les méthodes et les listes nommées. Dans tous les exemples, TACACS+ peut être substitué à Radius ou à l'authentification locale.
Le logiciel Cisco IOS utilise la première méthode listée pour authentifier des utilisateurs. Si cette méthode échoue à réagir (indiqué par une ERREUR), le logiciel Cisco IOS sélectionne la prochaine méthode d'authentification figurant dans la liste de méthodes. Ce processus continue jusqu'à ce qu'une transmission réussisse avec une méthode d'authentification listée ou que toutes les méthodes définies dans la liste de méthodes soient épuisées.
Il est important de noter que le logiciel Cisco IOS essaie d'authentifier avec la méthode d'authentification suivante listée seulement quand il n'y a aucune réponse à la méthode précédente. Si l'authentification échoue à un moment quelconque de ce cycle, c'est-à-dire si les réponses du serveur AAA ou de la base de données de noms d'utilisateur locale doivent refuser l'accès de l'utilisateur (indiqué par un FAIL), le processus d'authentification s'arrête et aucune autre méthode d'authentification n'est tentée.
Pour permettre une vérification de l'utilisateur, vous devez configurer le nom d'utilisateur et le mot de passe sur le serveur AAA.
Vous pouvez utiliser la commande aaa authentication login pour authentifier les utilisateurs qui veulent un accès exec dans le serveur d'accès (tty, vty, console et aux).
Router(config)#aaa authentication login default group radius local
Dans la commande précédente :
La liste nommée est la liste par défaut (défaut).
il y a deux méthodes d'authentification (groupe Radius et Local).
Tous les utilisateurs sont authentifiés avec le serveur Radius (la première méthode). Si le serveur Radius ne répond pas, la base de données locale du routeur est utilisée (deuxième méthode). Pour l'authentification locale, définissez le nom d'utilisateur et le mot de passe :
Router(config)#username xxx password yyy
Comme la liste par défaut dans la commande aaa authentication login est utilisée, l'authentification de connexion est automatiquement appliquée pour toutes les connexions de connexion (telles que tty, vty, console et aux).
Note: Le serveur (Radius ou TACACS+) ne peut pas répondre à une demande d'authentification aaa envoyée par le serveur d'accès s'il n'y a pas de connectivité IP, si le serveur d'accès n'est pas correctement défini sur le serveur AAA ou si le serveur AAA n'est pas correctement défini sur le serveur d'accès.
Note: Si vous utilisez l'exemple précédent, sans mot clé local, le résultat est :
Router(config)#aaa authentication login default group radius
Note: Si le serveur AAA ne répond pas à la demande d'authentification, l'authentification échoue (puisque le routeur n'a pas d'autre méthode à essayer).
Note: Le mot clé group permet de regrouper les hôtes actuels du serveur. La fonctionnalité permet à l'utilisateur de sélectionner un sous-ensemble d'hôtes du serveur configurés et de les utiliser pour un service particulier.
Développez la configuration de l'exemple 1 de sorte que la connexion à la console soit authentifiée uniquement par le mot de passe défini sur la ligne con 0.
La liste de CONSOLE est définie, puis appliquée à la ligne de connexion 0.
Configuration:
Router(config)#aaa authentication login CONSOLE line
Dans la commande précédente :
la liste nommée est CONSOLE.
Il y a seulement une méthode d'authentification (ligne).
Lorsqu'une liste nommée (dans cet exemple, CONSOLE) est créée, elle doit être appliquée à une ligne ou à une interface avant d'être exécutée. Ceci est fait avec le login authentication
commande :
Router(config)#line con 0 Router(config-line)#exec-timeout 0 0 Router(config-line)#password cisco Router(config-line)#login authentication CONSOLE
La liste CONSOLE remplace la liste de méthodes par défaut default à la ligne con 0. Après cette configuration à la ligne con 0, vous devez entrer le mot de passe cisco pour obtenir l'accès à la console. La liste par défaut est toujours utilisée sur tty, vty et aux.
Note: Pour que l'accès à la console soit authentifié par un nom d'utilisateur et un mot de passe locaux, utilisez l'exemple de code suivant :
Router(config)#aaa authentication login CONSOLE local
Dans ce cas, un nom d'utilisateur et mot de passe doivent être configurés dans la base de données locale du routeur. La liste doit également être appliquée à la ligne ou à l'interface.
Note: Pour ne pas avoir d'authentification, utilisez l'exemple de code suivant :
Router(config)#aaa authentication login CONSOLE none
Dans ce cas, il n'y a aucune authentification pour obtenir l'accès à la console. La liste doit également être appliquée à la ligne ou à l'interface.
Vous pouvez émettre l'authentification pour accéder au mode activer (privilège 15).
Configuration:
Router(config)#aaa authentication enable default group radius enable
Seul le mot de passe peut être demandé, le nom d'utilisateur est $enab15$. Par conséquent, le nom d'utilisateur $enab15$ doit être défini sur le serveur AAA.
Si le serveur Radius ne répond pas, le mot de passe enable configuré localement sur le routeur peut devoir être entré.
La commande aaa authentication ppp est utilisée pour authentifier une connexion PPP. Il est généralement utilisé pour authentifier les utilisateurs distants RNIS ou analogiques qui souhaitent accéder à Internet ou à un bureau central via un serveur d’accès.
Le serveur d’accès dispose d’une interface RNIS configurée pour accepter les clients d’accès commuté PPP. Nous utilisons un dialer rotary-group 0, mais la configuration peut être faite sur l'interface principale ou l'interface de profil de numéroteur.
Configuration:
Router(config)#aaa authentication ppp default group radius local
Cette commande authentifie tous les utilisateurs PPP avec Radius. Si le serveur Radius ne répond pas, la base de données locale est utilisée.
Pour utiliser une liste nommée plutôt que la liste par défaut, configurez ces commandes :
Router(config)#aaa authentication ppp ISDN_USER group radius Router(config)#interface dialer 0 Router(config-if)#ppp authentication chap ISDN_USER
Dans cet exemple, la liste est ISDN_USER et la méthode est Radius.
Le serveur d'accès a une carte de modem interne (Mica, Microcom ou port suivant). Supposons que les commandes aaa authentication login et aaa authentication ppp sont configurées.
Si un utilisateur de modem accède d'abord au routeur avec une session d'exécution en mode caractère (par exemple, avec Terminal Window after Dial), l'utilisateur est authentifié sur une ligne tty. Pour lancer une session en mode paquet, les utilisateurs doivent saisir ppp default ou ppp. Puisque l'authentification PPP est explicitement configurée (avec aaa authentication ppp), l'utilisateur est authentifié de nouveau au niveau PPP.
Pour éviter cette deuxième authentification, utilisez le mot clé if-needed :
Router(config)#aaa authentication login default group radius local Router(config)#aaa authentication ppp default group radius local if-needed
Note: Si le client démarre directement une session PPP, l'authentification PPP est effectuée directement car il n'y a pas d'accès de connexion au serveur d'accès.
L'autorisation est le processus par lequel vous pouvez contrôler ce qu'un utilisateur peut faire.
L'autorisation AAA a les mêmes règles que l'authentification :
Définissez d'abord une liste nommée de méthodes d'autorisation.
Appliquez alors cette liste à une ou plusieurs interfaces (excepté pour la liste de méthodes par défaut).
La première méthode énumérée est utilisée. Si elle échoue à répondre, la deuxième est utilisée et ainsi de suite.
Les listes de méthodes sont spécifiques au type d'autorisation demandé. Ce document se concentre sur les types d'autorisation Exec et Network.
Pour plus d'informations sur les autres types d'autorisation, veuillez vous reporter au Guide de configuration de la sécurité Cisco IOS .
La commande aaa authorization exec détermine si l'utilisateur est autorisé à exécuter un interpréteur de commandes EXEC. Cette fonction peut renvoyer des informations de profil utilisateur telles que les informations de commande auto, le délai d'inactivité, le délai d'expiration de session, la liste d'accès et le privilège, ainsi que d'autres facteurs par utilisateur.
L'autorisation Exec est seulement effectuée sur les lignes vty et tty.
L'exemple suivant utilise Radius.
Lorsqu'il est authentifié avec :
Router(config)#aaa authentication login default group radius local
Tous les utilisateurs qui veulent se connecter au serveur d'accès doivent être autorisés avec Radius (première méthode) ou la base de données locale (deuxième méthode).
Configuration:
Router(config)#aaa authorization exec default group radius local
Note: Sur le serveur AAA, Service-Type=1 (connexion) doit être sélectionné.
Note: Dans cet exemple, si le mot clé local n'est pas inclus et que le serveur AAA ne répond pas, par conséquent, l'autorisation n'est pas possible et la connexion peut échouer.
Note: Dans les exemples 2 et 3 suivants, vous n'avez pas besoin d'ajouter de commande sur le routeur. Il vous suffit de configurer le profil sur le serveur d'accès.
Sur la base de l'exemple 1, configurez la paire AV Cisco suivante sur le serveur AAA de sorte qu'un utilisateur puisse se connecter au serveur d'accès et passer directement en mode enable :
shell:priv-lvl=15
L'utilisateur peut maintenant passer directement en mode enable.
Note: Si la première méthode échoue à répondre, alors la base de données locale est utilisée. Cependant, l'utilisateur ne peut pas passer directement en mode enable, mais doit entrer la commande enable et fournir le mot de passe enable.
Pour configurer un délai d'inactivité (afin que la session soit déconnectée en cas d'absence de trafic après le délai d'inactivité), utilisez l'attribut IETF Radius 28 : Idle-Timeout sous le profil utilisateur.
Les aaa authorization network
exécute l'autorisation pour toutes les demandes de service liées au réseau telles que PPP, SLIP et ARAP. Cette section porte sur le protocole PPP, le plus couramment utilisé.
Le serveur AAA vérifie si une session PPP du client est autorisée. De plus, des options PPP peuvent être demandées par le client : rappel, compression, adresse IP et ainsi de suite. Ces options doivent être configurées sur le profil de l'utilisateur sur le serveur AAA. En outre, pour un client spécifique, le profil AAA peut contenir le délai d'inactivité, la liste d'accès et d'autres attributs par utilisateur qui peuvent être téléchargés par le logiciel Cisco IOS et appliqués pour ce client.
Les exemples suivants montrent l'autorisation avec Radius.
Le serveur d'accès est utilisé pour accepter les connexions d'accès à distance PPP.
Les utilisateurs sont authentifiés (comme précédemment configuré) avec :
Router(config)#aaa authentication ppp default group radius local
Utilisez la commande suivante pour autoriser les utilisateurs :
Router(config)#aaa authorization network default group radius local
Note: Sur le serveur AAA, configurez : Service-Type=7 (tramé) et Framed-Protocol=PPP.
Vous pouvez utiliser le serveur AAA pour attribuer des attributs par utilisateur tels que l'adresse IP, le numéro de rappel, la valeur de délai d'inactivité du numéroteur ou la liste d'accès, etc. Dans une telle implémentation, NAS télécharge les attributs appropriés du profil d'utilisateur du serveur AAA.
Comme pour l'authentification, configurez un nom de liste plutôt que le nom par défaut :
Router(config)#aaa authorization network ISDN_USER group radius local
Appliquez ensuite cette liste à l’interface :
Router(config)#interface dialer 0 Router(config-if)#ppp authorization ISDN_USER
La fonctionnalité de comptabilité AAA vous permet de suivre les services auxquels les utilisateurs accèdent et la quantité de ressources réseau qu'ils consomment.
La comptabilité AAA a les mêmes règles que l'authentification et l'autorisation :
Vous devez d'abord définir une liste nommée de méthodes de comptabilité.
Appliquez alors cette liste à une ou plusieurs interfaces (excepté pour la liste de méthodes par défaut).
La première méthode énumérée est utilisée, si elle ne répond pas, c'est la deuxième méthode qui est utilisée et ainsi de suite.
La comptabilité de réseau fournit des informations pour toutes les sessions PPP, Slip et Protocole d'accès à distance AppleTalk (ARAP) : le comptage de paquets, le comptage des octets, le temps de session et l'heure de début et de fin.
La comptabilité Exec fournit des informations au sujet des sessions terminales Exec de l'utilisateur (session telnet par exemple) du serveur d'accès au réseau : temps de session, heure de début et de fin.
Les exemples suivants portent sur la manière dont les informations peuvent être envoyées au serveur AAA.
Pour chaque session PPP commutée, les informations de comptabilité sont envoyées au serveur AAA une fois le client authentifié et après la déconnexion avec le mot clé start-stop.
Router(config)#aaa accounting network default start-stop group radius local
Si les informations de gestion doivent être envoyées seulement après la déconnexion d'un client, utilisez le mot clé stop et configurez la ligne suivante :
Router(config)#aaa accounting network default stop group radius local
Jusqu'à ce stade, la comptabilité AAA fournit le support d'enregistrement de début et de fin pour les appels qui ont été soumis à l'authentification de l'utilisateur.
Si l'authentification ou la négociation PPP échoue, il n'y a aucun enregistrement d'authentification.
La solution est d'utiliser la comptabilité d'arrêt des pannes de ressources AAA :
Router(config)#aaa accounting send stop-record authentication failure
Un enregistrement d'arrêt est envoyé au serveur AAA.
Pour activer la comptabilité de pleine ressource, qui génère un enregistrement de début à l'établissement de l'appel et un enregistrement d'arrêt à la fin de l'appel, configurez :
Router(config)#aaa accounting resource start-stop
Cette commande a été introduite dans la version 12.1(3)T du logiciel Cisco IOS.
Avec cette commande, l'enregistrement comptable de début et de fin d'établissement d'un appel et de déconnexion d'un appel suit la progression de la connexion de la ressource au périphérique. Un enregistrement comptable de début-fin de l'authentification de l'utilisateur distinct suit la progression de gestion des utilisateurs. Ces deux ensembles d'enregistrements de comptabilité sont interconnectés avec un ID de session unique pour l'appel.
Révision | Date de publication | Commentaires |
---|---|---|
2.0 |
28-Sep-2022 |
Recertification |
1.0 |
29-Nov-2001 |
Première publication |