Comment restreindre un utilisateur pour certaines commandes sur Cisco IOS

8

Je dois m'assurer qu'un certain utilisateur sur un routeur IOS ne peut taper que des commandes spécifiques. J'ai pu le faire avec des niveaux de privilèges mais eux chaque fois que l'utilisateur tapait «activer», il était de retour au niveau privé 15 et sur le point de taper toutes les commandes. Je veux m'assurer que même lorsqu'il entre "enable", il ne pourra toujours taper que les commandes spécifiques que j'autorise. J'ai également essayé avec le cli basé sur les rôles, mais j'ai rencontré le même problème. Je ne veux utiliser aucun serveur d'authentification externe.

Merci!

Harnik
la source
Une réponse vous a-t-elle aidé? si c'est le cas, vous devez accepter la réponse afin que la question ne s'affiche pas indéfiniment, à la recherche d'une réponse. Alternativement, vous pouvez fournir et accepter votre propre réponse.
Ron Maupin

Réponses:

7

Vous connaissez déjà la majorité de la réponse à votre propre question - vous devez configurer les commandes que l'utilisateur peut exécuter à un niveau de privilège spécifique. enablesans argument de niveau de privilège par défaut au niveau de privilège 15, qui dispose des autorisations pour exécuter toutes les commandes. Les deux choses que vous devez faire sont:

  1. Modifiez le mot de passe d'activation par défaut afin que l'utilisateur n'y ait plus accès et ne puisse donc pas accéder au niveau de privilège 15.

  2. Définissez le niveau de privilège par défaut de l'utilisateur lors de la connexion au même niveau de privilège que celui auquel vous avez modifié les commandes souhaitées par l'utilisateur:

Router(config)#username joe privilege <x> password foobar

où X est le niveau de privilège pour votre jeu de commandes souhaité.

EDIT: je dois souligner que cela ne fournit pas réellement une véritable autorisation de commande basée sur l'utilisateur, il ne fournit qu'une autorisation basée sur le niveau de privilège , car les commandes elles-mêmes ne sont liées qu'à un seul niveau de privilège à la fois, il s'agit donc en fait d'un changement à l'échelle du routeur . Il est destiné à fonctionner de manière hiérarchique; chaque niveau de privilège peut exécuter les commandes à ce niveau ainsi qu'à tous les niveaux inférieurs. Si vous voulez une véritable autorisation basée sur l'utilisateur, vous avez besoin d'un serveur AAA quelconque (voir ma note ci-dessous).

Techniquement, vous pouvez également modifier le niveau de privilège de la enablecommande pour qu'il soit un supérieur au niveau de privilège de l'utilisateur afin qu'il n'ait même pas la possibilité de l'exécuter:

Router(config)#privilege exec level <x> enable

Cela suppose bien sûr que vous ne voulez pas que l'utilisateur puisse exécuter des commandes de configuration.

Une autre option consiste à s'assurer que lorsque l'utilisateur se connecte et tape, enableil doit spécifier son niveau de privilège plutôt que pas de niveau de privilège, ce qui par défaut est 15.

Router>enable <x>

Évidemment, vous pouvez spécifier les mots de passe d'activation pour les 16 niveaux de privilège si vous le souhaitez.

Mon dernier point est que sans serveur AAA externe, tout cela est une énorme douleur dans le cul. Il existe une multitude d'implémentations TACACS + open source qui n'ont qu'un coût de configuration initiale, mais elles rendent les choses comme celles-ci quelque peu triviales, et elles sont centralisées, donc si vous avez plusieurs routeurs, vous n'avez pas à répéter la même commande privilège jumprope sur chaque appareil que vous gérez. C'est pourquoi les serveurs AAA existent en premier lieu, donc votre exigence de ne pas en utiliser un n'a pas beaucoup de sens.

John Jensen
la source
-5

La restriction des commandes peut être effectuée dans Cisco ACS si vous configurez le périphérique pour utiliser TACACS pour AAA.

Bill Karn
la source
Veuillez envisager d'ajouter plus d'informations à cette réponse.
Teun Vink