Cisco ISE - AAA com TACACS
Artigo originalmente publicado no medium em Janeiro de 2021 pelo mesmo autor. As configurações e exemplos continuam válidos.
Fala pessoal!! Seguindo nossa série, recentemente integramos o ISE com AD, fizemos AAA com Radius e agora vamos fazer o mesmo com TACACS, mas adicionando command authorization.
Nosso objetivo é permitir que um usuário se logue automaticamente com privilégio 15 mas, de forma granular, permitir apenas alguns comandos específicos.
O primeiro passo é ativar o serviço no ISE. Fazemos isso nessa tela:
Em seguida, nesse menu, temos uma visão geral dos passos necessários:
Primeiramente, vamos então adicionar o nosso network device (já fizemos isso nos outros artigos):
Pronto! Vamos criar agora o command set - grupo de comandos que iremos permitir o usuário dar no router. Atente-se à sintaxe, não pode haver erros! Não há checagem por parte do ISE.
Agora vamos criar o Profile. Repare nos menus. A única informação que vamos colocar é o privilégio 15 automático para o usuário.
Feito isso, vamos editar a política de autenticação padrão para buscar o usuário apenas no AD que configuramos no artigo passado.
Repare na estrutura de menu que se trata de outra Policy Set. É uma base de políticas diferente da utilizada pelo Radius. No entanto, elas possuem o mesmo formato.
Na política de autorização, nós definimos o Command Set que criamos, o Profile e, na condição, selecionei apenas o Network Device com o nome "R2". Ou seja, essa condição não se aplica a nenhum outro eqto da rede, apenas a esse router em específico.
Ao logar, o usuário fernando do AD, recebe direto o prompt privilegiado, mas não é possível entrar com o comando show privilege, já que não o permitimos no command set que criamos acima.
Veja abaixo os comandos que permitimos e os que foram negados. Por ex: não permitimos o router rospf, mas permitimos o router eigrp.
Qto aos logs do TACACS, eles são consultados nesse menu:
Um exemplo de log de comando autorizado:
Um exemplo de log de comando não autorizado:
Por fim, mas igualmente importante a config toda do router (também já detalhada nos artigos anteriores):
aaa new-model
!
!
aaa group server tacacs+ ISE_TACACS
server name ISE_TACACS
!
aaa authentication login NOAUTH none
aaa authentication login ISE_TACACS group ISE_TACACS
aaa authorization config-commands
aaa authorization exec ISE_TACACS group ISE_TACACS
aaa authorization commands 1 ISE_TACACS group ISE_TACACS
aaa authorization commands 15 ISE_TACACS group ISE_TACACS
aaa accounting exec ISE_TACACS start-stop group ISE_TACACS
aaa accounting commands 15 ISE_TACACS start-stop group ISE_TACACS
!
interface Ethernet0/1
ip address 10.0.0.11 255.255.255.0
!
tacacs server ISE_TACACS
address ipv4 10.0.0.100
key cisco123
!
line con 0
logging synchronous
login authentication NOAUTH
line aux 0
line vty 0 4
authorization commands 1 ISE_TACACS
authorization commands 15 ISE_TACACS
authorization exec ISE_TACACS
login authentication ISE_TACACS
transport input ssh
Importante destacar 3 comandos nessa config:
aaa authorization config-commands
"Config-Commands" significa que o network device precisa obter autorização para comandos dados dentro do prompt de configuração (configure terminal)
aaa authorization commands 15 ISE_TACACS group ISE_TACACS
O "15" significa autorização para comandos de usuários que possuem privilege level 15
aaa accounting commands 15 ISE_TACACS start-stop group ISE_TACACS
E, finalmente, o accounting commands 15, que irá logar cada comando no nível de privilégio 15.
Espero que tenham curtido.
Um abraço!!
Você pode baixar esse artigo em formato PDF no botão abaixo:
