Ce document décrit comment configurer un routeur Cisco pour l'authentification avec le TACACS+ qui fonctionne sur l'UNIX. TACACS+ n'offre pas autant de fonctionnalités en tant que le Cisco Secure ACS pour des Windows ou Cisco Secure ACS UNIX disponible dans le commerce .
Le logiciel TACACS+ précédemment fourni par Cisco Systems a été discontinué et n'est plus pris en charge par Cisco Systems.
Aujourd'hui, vous pouvez trouver beaucoup de versions gratuites de TACACS+ quand vous recherchez « logiciel gratuit TACACS+ » sur votre moteur de recherche préféré sur Internet. Cisco ne recommande spécifiquement aucune implémentation particulière de logiciel gratuit TACACS+.
Le Cisco Secure Access Control Server (ACS) est disponible pour l'achat par des ventes de Cisco et des canaux réguliers de distribution dans le monde entier. Le Cisco Secure ACS pour des Windows inclut tous les composants nécessaires requis pour une installation indépendante sur une station de travail de Microsoft Windows. Le moteur de solution de Cisco Secure ACS est expédié avec une licence logicielle préinstallée de Cisco Secure ACS. Visitez la page d'accueil de commande Cisco (clients enregistrés seulement) pour passer une commande.
Remarque: Vous avez besoin d'un compte CCO avec un contrat de service associé pour obtenir la version d'essai valable 90 jours pour le Cisco Secure ACS pour Windows.
La configuration du routeur dans ce document a été développée sur un routeur qui exécute la version software 11.3.3 de Cisco IOS®. La version du logiciel Cisco IOS 12.0.5.T et les utilisations postérieures groupent tacacs+ au lieu de tacacs+, ainsi les instructions telles que l'enable de l'aaa authentication login default tacacs+ apparaissent pendant qu'enable du groupe tacacs+ d'aaa authentication login default.
Consultez la documentation de Logiciel Cisco IOS pour plus d'informations complètes sur des commandes du routeur.
Aucune spécification déterminée n'est requise pour ce document.
Les informations de ce document sont basées sur la version du logiciel Cisco IOS 11.3.3 et la version du logiciel Cisco IOS 12.0.5.T et plus tard.
Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Procédez comme suit :
Veillez à avoir compilé le code TACACS+ (TAC+) sur le serveur unix.
Les configurations du serveur ici sont basées sur le code de serveur Cisco TAC+. Les configurations du routeur devraient fonctionner si le code de serveur est code de serveur Cisco. TAC+ doit être exécuté comme racine ; le su à enraciner s'il y a lieu.
Copiez le test_file à la fin de ce document, placez-le sur le serveur TAC+, et nommez-le test_file.
Vérifiez si tac_plus_executable de démon débute avec test_file. Dans cette commande, l'option -P vérifie les erreurs de compilation mais ne commencent pas le démon :
tac_plus_executable -P -C test_file
Vous pourriez consulter le contenu de test_file faire descendre l'écran la fenêtre, mais vous ne devriez pas consulter des messages tels que ne pouvez pas rechercher le fichier, texte clair prévu--texte clair, ou inattendu recherché}. S'il y a des erreurs, vérifiez les chemins de au test_file, revérifiez votre saisie et essayez à nouveau avant que vous continuiez.
Début pour configurer TAC+ sur le routeur.
Entrez dans le mode enable et tapez configure terminal avant de configurer la commande. Cette syntaxe de commande assure que vous n'êtes pas verrouillé hors du routeur au début, fournissant le tac_plus_executable n'exécute pas :
!--- Turn on TAC+. aaa new-model enable password whatever !--- These are lists of authentication methods. !--- "linmethod", "vtymethod", "conmethod", and !--- so on are names of lists, and the methods !--- listed on the same lines are the methods !--- in the order to be tried. As used here, if !--- authentication fails due to the !--- tac_plus_executable not being started, the !--- enable password is accepted because !--- it is in each list. ! aaa authentication login linmethod tacacs+ enable aaa authentication login vtymethod tacacs+ enable aaa authentication login conmethod tacacs+ enable ! !--- Point the router to the server, where #.#.#.# !--- is the server IP address. ! tacacs-server host #.#.#.# line con 0 password whatever !--- No time-out to prevent being locked out !--- during debugging. exec-timeout 0 0 login authentication conmethod line 1 8 login authentication linmethod modem InOut transport input all rxspeed 38400 txspeed 38400 flowcontrol hardware line vty 0 4 password whatever !--- No time-out to prevent being locked out !--- during debugging. exec-timeout 0 0 login authentication vtymethod
Essayer pour être sûr que vous pouvez encore accéder au routeur avec le telnet et par le port de console avant que vous continuiez. Puisque le tac_plus_executable n'exécute pas, l'activer mot de passe devrait être accepté.
Remarque: Gardez la session de port de console active et restez dans le mode enable. Cette session ne devrait pas expirer. L'access au routeur est limité en ce moment, et vous devez pouvoir apporter des modifications de configuration sans se verrouiller.
Émettez ces commandes de consulter l'interaction de serveur-à-routeur au routeur :
terminal monitor debug aaa authentication
Comme racine, lancez TAC+ sur le serveur :
tac_plus_executable -C test_file -d 16
Vérifiez pour être TAC+ sûr commencé :
ps -aux | grep tac_plus_executable
ou
ps -ef | grep tac_plus_executable
Si TAC+ ne démarre pas, c'est normalement un problème de syntaxe dans le test_file. Revenez à l'étape 1 pour corriger ceci.
Tapez tail -f /var/tmp/tac_plus.log pour consulter l'interaction du routeur au serveur.
Remarque: L'option -d 16 dans l'étape 5 permet d'envoyer une sortie de toutes les transactions à /var/tmp/tac_plus.log.
Les utilisateurs du telnet (VTY) doivent maintenant s'authentifier par TAC+.
Avec le débogage allant sur le routeur et le serveur (étapes 4 et 7), telnet entre dans le routeur d'une autre partie du réseau.
Le routeur produit une invitation de nom d'utilisateur et mot de passe, pour vous :
'authenuser' (username from test_file)'admin' (password from test_file)
L'authenuser d'utilisateur appartient au groupe admin avec le mot de passe admin.
Observez le serveur et le routeur où vous pouvez voir l'interaction TAC+ ? ce qui est envoyé où, des réponses, des demandes, et ainsi de suite. Corrigez tous les problèmes avant que vous continuiez.
Si vous voulez également que vos utilisateurs s'authentifient par TAC+ afin d'entrer dans le mode enable, assurez-vous que votre session de port de console est toujours en activité et ajoutez cette commande au routeur :
!--- For enable mode, list 'default' looks to TAC+ !--- then enable password if TAC+ does not run. aaa authentication enable default tacacs+ enable
Les utilisateurs doivent maintenant s'activer par TAC+.
Avec le débogage allant sur le routeur et le serveur (étapes 4 et 7), telnet entre dans le routeur d'une autre partie du réseau. Le routeur produit une invitation de nom d'utilisateur et mot de passe, pour vous :
'authenuser' (username from test_file)'admin' (password from test_file)
Quand vous écrivez le mode enable, le routeur demande un mot de passe, auquel vous répondez :
'cisco' ($enable$ password from test_file)
Observez le serveur et le routeur où vous devriez voir l'interaction TAC+ ? ce qui est envoyé où, des réponses, des demandes, et ainsi de suite. Corrigez tous les problèmes avant que vous continuiez.
Réduisez le processus TAC+ sur le serveur en étant connecté toujours au port de console pour être sûr que vos utilisateurs puissent encore accéder au routeur si TAC+ est en panne :
ps -aux | grep tac_plus_executable
ou
ps -ef | grep tac_plus_executable) kill -9 pid_of_tac_plus_executable
Répétez le telnet et l'activation de l'étape précédente. Le routeur se rend alors compte que le processus TAC+ ne réagit pas et permet aux utilisateurs de se connecter et s'activer avec le mot de passe par défaut.
Recherchez l'authentification de vos utilisateurs de port de console par TAC+. Afin de faire ceci, amenez le lancez le serveur TAC+ de nouveau (étapes 5 et 6), et démarrez une session Telnet au routeur (qui devrait authentifier par TAC+).
Restez connecté par le telnet au routeur dans le mode enable jusqu'à ce que vous soyez sûr que vous pouvez vous connecter au routeur par le port de console.
Déconnectez-vous de votre connexion initiale au routeur par le port de console, puis reconnectez-vous au port de console. L'authentification de port de console à se connecter et activer utilisant des identifiants et mots de passe (montrés dans l'étape 10) se passera maintenant par TAC+.
Tandis que vous restez connecté par une session Telnet ou le port de console, et avec le débogage exécuté sur routeur et serveur (étapes 4 et 7), établissez une connexion par modem à la ligne 1.
Les utilisateurs de la ligne doivent se connecter et s'activer maintenant par TAC+.
Le routeur produit une invitation de nom d'utilisateur et mot de passe, pour vous :
'authenuser' (username from test_file)'admin' (password from test_file)
Quand vous entrez en mode enable, le routeur demande un mot de passe.
Réponse :
'cisco' ($enable$ password from test_file)
Observez le serveur et le routeur où vous voyez l'interaction TAC+ ? ce qui est envoyé où, des réponses, des demandes, et ainsi de suite. Corrigez tous les problèmes avant que vous continuiez.
Les utilisateurs doivent maintenant s'activer par TAC+.
Ajouter l'autorisation est facultatif.
Par défaut, il y a trois niveaux de commande sur le routeur :
niveau de privilège 0 incluant désactivation, activation, sortie, aide et déconnexion
niveau de privilège 1 - niveau normal sur un telnet - l'invitation indique router>
niveau de privilège 15 - niveau d'activation - l'invite indique router#
Puisque les commandes disponibles dépendent de l'ensemble de fonctionnalités d'IOS, de la version Cisco IOS, du modèle de routeur, etc., il n'y a pas une liste complète de toutes les commandes aux niveaux 1 et 15. Par exemple, le show ipx route n'est pas présent dans un jeu de fonctionnalités d'IP seulement, le transport nat de show ip n'est pas présent dans la version du logiciel Cisco IOS 10.2.x parce que NAT n'a pas été introduit, et le show environment n'est pas présent dans les modèles du routeur sans alimentation électrique et contrôle de température. Les commandes disponibles dans un routeur particulier à un niveau particulier peuvent être recherchées quand vous écrivez a ? à l'invite du routeur correspondant à ce niveau de privilège.
L'autorisation de port de console n'a pas été ajoutée comme fonctionnalité jusqu'à ce que le Cisco bug ID CSCdi82030 (clients enregistrés seulement) ait été mis en application. L'autorisation de port de console est désactivée par défaut pour diminuer le risque que vous soyez accidentellement verrouillé hors du routeur. Si un utilisateur a un accès physique au routeur par la console, l'autorisation de port de console n'est pas extrêmement pertinente. Cependant, l'autorisation de port de console peut être activée sous la ligne l'escroquerie 0 dans une image que le Cisco bug ID CSCdi82030 (clients enregistrés seulement) a été mis en application avec la commande :
authorization exec default|WORD
Le routeur peut être configuré pour autoriser des commandes par TAC+ à tous les niveau ou certains niveaux.
Cette configuration du routeur permet à tous les utilisateurs d'avoir l'autorisation par-commande installée sur le serveur. Ici nous autorisons toutes les commandes par TAC+, mais si le serveur est en panne, aucune autorisation n'est nécessaire.
aaa authorization commands 1 default tacacs+ none aaa authorization commands 15 default tacacs+ none
Tandis que le serveur TAC+ fonctionne, Telnet dans le routeur avec l'identifiant authenuser.
Puisque l'authenuser a le service par défaut = autorisation de test_file, cet utilisateur devrait pouvoir remplir toutes les fonctions.
Dans le routeur, entrez le mode enable, et activez le débogage d'autorisation :
terminal monitor debug aaa authorization
Telnet dans le routeur avec l'identifiant authoruser et l'opérateur de mot de passe.
Cet utilisateur ne peut pas faire afficher la traceroute de deux commandes et se déconnecter (consultez le test_file).
Observez le serveur et le routeur où vous pouvez consulter l'interaction TAC+ - ce qui est envoyé où, des réponses, des requêtes et ainsi de suite. Corrigez tous les problèmes avant que vous continuiez.
Si vous voulez configurer un utilisateur pour une autocommande, éliminez la position transitoire de l'utilisateur - dans le test_file, et saisissez une destination valide d'adresse IP au lieu du #.#.#.#.
Arrêtez et mettez en marche le serveur TAC+.
Sur le routeur :
aaa authorization exec default tacacs+
Telnet au routeur avec l'identifiant transitoire et le mot de passe transitoire. Le telnet #.#.#.# exécute et la position transitoire d'utilisateur est envoyée à l'autre emplacement.
L'ajout de la comptabilité est facultatif.
La référence au fichier comptable est dans test_file ? fichier comptable = /var/log/tac.log. Mais la gestion des comptes n'a pas lieu à moins d'être configuré dans le routeur (à condition que le routeur exécute une version du logiciel Cisco IOS plus récente que 11,0).
Activer la gestion des comptes dans le routeur :
aaa accounting exec default start-stop tacacs+ aaa accounting connection default start-stop tacacs+ aaa accounting network default start-stop tacacs+ aaa accounting system default start-stop tacacs+
Remarque: La comptabilité AAA ne prend pas en charge la comptabilité par commande dans certaines versions. Une solution serait d'utiliser l'autorisation par commande et de rapporter l'occurrence dans le fichier de la comptabilité. (Consultez Cisco bug ID CSCdi44140.) Si vous utilisez une image où cette réparation est utilisée [versions du logiciel Cisco IOS 11.2(1.3)F, 11.2(1.2), 11.1(6.3), 11.1(6.3)AA01, 11.1(6.3)CA à partir du 24 septembre 1997] vous pouvez également activer command-accounting.
Tandis que TAC+ fonctionne sur le serveur, sélectionnez cette commande sur le serveur afin de consulter les entrées qui sont incluses dans le fichier comptable :
tail -f /var/log/tac.log
Connectez et déconnectez-vous alors du routeur, telnet hors du routeur, et ainsi de suite. S'il y a lieu, entrez sur le routeur :
terminal monitor debug aaa accounting
- - - - - - - (cut here) - - - - - - -# Set up accounting file if enabling accounting on NASaccounting file = /var/log/tac.log# Enable password setup for everyone:user = $enable$ { login = cleartext "cisco" }# Group listings must be first:group = admin {# Users in group 'admin' have cleartext password login = cleartext "admin" expires = "Dec 31 1999"}group = operators {# Users in group 'operators' have cleartext password login = cleartext "operator" expires = "Dec 31 1999"}group = transients {# Users in group 'transient' have cleartext password login = cleartext "transient" expires = "Dec 31 1999"}# This user is a member of group 'admin' & uses that group's password to log in.# The $enable$ password is used to enter enable mode. The user can perform all commands. user = authenuser { default service = permit member = admin }# This user is limitted in allowed commands when aaa authorization is enabled: user = telnet { login = cleartext "telnet" cmd = telnet { permit .* } cmd = logout { permit .* } }# user = transient {# member = transients# service = exec { # When transient logs on to the NAS, he's immediately # zipped to another site# autocmd = "telnet #.#.#.#"# }# }# This user is a member of group 'operators' # & uses that group's password to log in user = authenuser { member = operators# Since this user does not have 'default service = permit' when command # authorization through TACACS+ is on at the router, this user's commands# are limited to: cmd = show { permit ver permit ip } cmd = traceroute { permit .* } cmd = logout { permit .* }}- - - - (end cut here) - - - -
Remarque: Ce message d'erreur est généré si votre serveur TACACS n'est pas accessible : %AAAA-3-DROPACCTSNDFAIL : l'enregistrement des comptes déposé, envoi au serveur a manqué : démarrage du système. Vérifiez que le serveur TACACS+ est bien opérationnel.