Como faço para restringir um usuário para determinados comandos no Cisco IOS

8

Preciso garantir que um determinado usuário em um roteador IOS possa digitar apenas comandos específicos. Consegui fazer isso com níveis de privilégio, mas sempre que o usuário digita "enable" ele volta ao nível 15 priv e está prestes a digitar todos os comandos. Quero ter certeza de que, mesmo quando ele digitar "enable", ele ainda poderá digitar apenas os comandos específicos permitidos. Também tentei com o CLI baseado em função, mas tive o mesmo problema. Não quero usar nenhum servidor de autenticação externo.

Obrigado!

Harnik
fonte
Alguma resposta o ajudou? Nesse caso, você deve aceitar a resposta para que a pergunta não apareça para sempre, procurando uma resposta. Como alternativa, você pode fornecer e aceitar sua própria resposta.
Ron Maupin

Respostas:

7

Você já conhece a maioria das respostas para sua própria pergunta - você precisa configurar os comandos que o usuário pode executar em um nível de privilégio específico. enablesem um argumento de nível de privilégio, o padrão é o nível de privilégio 15, que tem permissões para executar todos os comandos. As duas coisas que você precisa fazer são:

  1. Altere a senha de ativação padrão para que o usuário não tenha mais acesso a ela e, portanto, não possa obter o nível de privilégio 15.

  2. Defina o nível de privilégio padrão do usuário no login para o mesmo nível de privilégio em que você alterou os comandos desejados nos quais o usuário pode executar:

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

onde X é o nível de privilégio para o seu conjunto de comandos desejado.

EDIT: Gostaria de salientar que isso não realmente fornecer verdadeira autorização de comando baseada no usuário, ele só fornece base nível de privilégio a autorização, porque os próprios comandos só são obrigados a um nível de privilégio de cada vez, por isso é efetivamente uma mudança de todo o router . Destina-se a trabalhar de maneira hierárquica; cada nível de privilégio pode executar os comandos nesse nível e todos os níveis abaixo dele. Se você deseja uma verdadeira autorização baseada no usuário, precisa de algum tipo de servidor AAA (veja minha nota abaixo).

Tecnicamente, você também pode alterar o nível de privilégio do enablecomando para ser um maior que o nível de privilégio do usuário, para que ele nem tenha a opção de executá-lo:

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

Obviamente, isso pressupõe que você não deseja que o usuário possa executar nenhum comando de configuração.

Outra opção é garantir que, quando o usuário efetue login e digite, enableeles precisem especificar seu nível de privilégio em vez de nenhum nível de privilégio, o padrão é 15.

Router>enable <x>

Obviamente, você pode especificar senhas de habilitação para todos os 16 níveis de privilégio, se desejar.

Meu ponto final é que, sem um servidor AAA externo, tudo isso é uma enorme dor de cabeça. Existem várias implementações TACACS + de código aberto disponíveis que custam apenas a configuração inicial, mas tornam essas coisas um tanto triviais e centralizadas; portanto, se você tiver vários roteadores, não precisará repetir o mesmo comando privilégio jumprope em todos os dispositivos que você gerencia. É por isso que os servidores AAA existem em primeiro lugar, portanto, sua exigência de que você não deseja usar um não faz muito sentido.

John Jensen
fonte
-5

A restrição dos comandos pode ser feita no Cisco ACS se você configurar o dispositivo para usar o TACACS for AAA.

Bill Karn
fonte
Por favor, considere adicionar mais informações a esta resposta.
Teun Vink