CML topology for exploring TACACS

Admito que não fiz uma verificação completa. No entanto, ainda apostaria que os serviços AAA/RBAC são mencionados com mais frequência nos planos de certificação da Cisco do que qualquer outro tópico de rede. Do nível CCNA ao nível Expert, você encontrará AAA, TACACS+, RADIUS e RBAC listados nos tópicos do exame.

Aqui estão alguns exemplos, se você quiser verificar por si mesmo:

  • 200-301 CCNA

    • 2.8 Descrever conexões de acesso de gerenciamento AP e WLC (Telnet, SSH, HTTP, HTTPS, console e TACACS+/RADIUS)
    • 5.8 Diferenciar os conceitos de autenticação, autorização e contabilidade

  • 350-401 ENCOR

    • 5.1 Configurar e testar o controle de acesso do dispositivo

  • 300-410 ENARSI

    • 3.1 Solucionar problemas de segurança do dispositivo usando IOS AAA (TACACS+, RADIUS, banco de dados local)

  • 300-430 ENWLSI

    • 8.1 Implementar controles de acesso a dispositivos (incluindo RADIUS e TACACS+)

  • 350-701 SCOR

    • 2.7 Configure AAA para acesso a dispositivos e redes como TACACS+ e RADIUS

  • 300-715 SISE

    • 7.0 Administração de dispositivos de acesso à rede

  • 350-601 DCCOR

    • 5.x Aplicar segurança de rede | computação | armazenamento – AAA e RBAC

  • 300-615 DCIT

    • 5.xb Solução de problemas de segurança de rede | Computação | Armazenamento: AAA e RBAC

  • 350-501 SPCOR

    • 1.6b Descrever o plano de gestão de segurança – AAA e TACACS

  • 300-540 SPCOR

    • 4.1e Implementar segurança de infraestrutura – TACACS

OH MEU DEUS. São 10 certificações diferentes, de Associado a Profissional, nas quais esses temas aparecem. Você também os encontrará nos exames de nível Expert, como nos laboratórios Enterprise Infrastructure, Enterprise Wireless, Security, Service Provider e Data Center. (Se alguém puder encontrar outro tópico com uma cobertura tão ampla, por favor me avise nos comentários. Adoraria saber o que esqueci até agora.)

Visite Cisco Learning Network para ver os tópicos de todos os exames de certificação Cisco. Ver tópicos do exame

Ok… é definitivamente importante… mas o que E AAA?

AAA é um tópico importante, mas mesmo os engenheiros de rede mais experientes podem não compreender completamente. Então, antes de vê-lo em ação, que tal uma rápida visão geral do que significa “triplo A”?

Carl vê a autenticação, a autorização e a contabilidade como etapas separadas e importantes na administração de dispositivos.

Na seção «AAA em ação!» quadrinhos, Carl vivencia todo o processo AAA:

  • O primeiro “A” significa Autenticação. Vemos isso representado quando Carl é questionado verificar sua identidade antes que ele possa fazer uma alteração na rede.
  • O segundo “A” significa Autorização. Mesmo depois que a rede verificar a identidade de Carl, ele terá que fazê-lo verifique se você tem o(s) direito(s) de fazer essa alteraçãocom base nos direitos que lhes foram concedidos na rede.
  • E o terceiro e último “A” significa Contabilidadeque Carl vê em ação quando a rede registra a mudança faz para a rede.

O TACACS entra em cena para apoiar o gerenciamento centralizado de usuários, funções e logs (autenticação, autorização e contabilidade). Embora cada dispositivo de rede possa ser configurado localmente para lidar com AAA, isso não é adequado para empresas. Uma solução melhor é cada dispositivo de rede se comunicar com um “servidor” central para essas ações. TACACS é um protocolo usado por dispositivos de rede e servidores para comunicar e gerenciar cada um dos “A’s”. Um “Servidor TACACS” é um aplicativo de software que suporta o protocolo TACACS.

Podemos chegar ao Exploração, Já?!

Agora que entendemos o papel crítico que AAA desempenha em uma rede (e que é um tópico essencial em muitas certificações), gostaria de mostrar como estudar e se preparar usando minha ferramenta favorita de simulação/virtualização de rede: Cisco Modeling Labs (LMC). Como meu objetivo é compartilhar meus esforços de exploração, publiquei alguns arquivos de topologia CML no GitHub no repositório da comunidade CML no Cisco DevNet.

Você verá que uma topologia CML inclui apenas um roteador IOL, enquanto outra adiciona um switch Nexus 9000v para cobrir também plataformas de data center. Então, depois de ler esta postagem do blog, baixe definitivamente as topologias e explore-as você mesmo.

Topologia CML para explorar TACACS

Como executar um servidor TACACS no Cisco Modeling Labs

Antes de poder configurar o TACACS em um switch ou roteador, você deve ter um servidor TACACS disponível em sua rede. Um servidor TACACS comum para uma rede de produção é o Cisco ISE, um «mecanismo de serviços de identidade» abrangente para administração de dispositivos, acesso à rede, segurança sem fio, acesso VPN e muito mais.

O Cisco ISE é um produto e tópico importante para engenheiros de rede. Na verdade, temos um exame de certificação dedicado a isso. E embora você possa adicionar o Cisco ISE a uma biblioteca de nós CML usando a definição de nó disponível na comunidade CML, executar um servidor ISE completo em sua topologia pode parecer um exagero quando o foco está apenas na configuração do TACACS para administração de dispositivos.

Felizmente, existem alternativas leves. Minha opção favorita é o aplicativo de código aberto “tac_plus”, que está disponível há muitos anos. Tac_plus é um aplicativo Linux básico que pode ser baixado e instalado na maioria das distribuições Linux. Embora o desenvolvimento ativo do projeto pareça ter parado, ele funciona muito bem e continua sendo uma ótima opção para casos como este.

Se você observar a imagem da topologia CML, verá «aaa-server» no lado esquerdo do diagrama. Este é um nó Ubuntu padrão das plataformas de referência CML, com uma configuração inicial para instalar o tac_plus e configurá-lo como um servidor TACACS básico.

Sinta-se à vontade para verificar a configuração no arquivo de topologia para obter detalhes completos, mas aqui está o básico do que fiz para construir meu servidor TACACS:

  1. Instale os requisitos para baixar e instalar o aplicativo tac_plus a partir do código-fonte.
  2. Crie o arquivo de configuração «tac_plus.conf» para especificar a chave secreta TACACS, usuários e níveis de funções/privilégios para plataformas IOS e NX-OS.
  3. Crie um arquivo «tac_plus.service» para configurar tac_plus como um serviço.
  4. Baixe, extraia, instale e inicie o servidor tac_plus.

Com a parte aaa-server do arquivo de topologia CML básica instalada e configurada, o tac_plus estará em execução e pronto para receber solicitações assim que o laboratório for iniciado.

cisco@aaa-server:~$ systemctl status tac_plus
● tac_plus.service - tac_plus Service
Loaded: loaded (/etc/systemd/system/tac_plus.service; enabled; vendor pres>
Active: active (running) since Mon 2024-10-14 19:16:37 UTC; 2s ago
Main PID: 5982 (tac_plus)
Tasks: 1 (limit: 2310)
Memory: 416.0K
CPU: 2ms
CGroup: /system.slice/tac_plus.service
└─5982 /tacacs/sbin/tac_plus -G -C /etc/tacacs/tac_plus.conf -d 8 >

Oct 14 19:16:37 aaa-server systemd[1]: Started tac_plus Service.
Oct 14 19:16:37 aaa-server tac_plus[5982]: Reading config
Oct 14 19:16:37 aaa-server tac_plus[5982]: Version F4.0.4.28 Initialized 1
Oct 14 19:16:37 aaa-server tac_plus[5982]: tac_plus server F4.0.4.28 starting
Oct 14 19:16:37 aaa-server tac_plus[5982]: socket FD 4 AF 2
Oct 14 19:16:37 aaa-server tac_plus[5982]: socket FD 5 AF 10
Oct 14 19:16:37 aaa-server tac_plus[5982]: uid=0 euid=0 gid=0 egid=0 s=11063704>

Como habilitar AAA e TACACS em um roteador Cisco IOS

Com nosso servidor TACACS instalado e funcionando, agora podemos configurar nosso roteador IOS para usá-lo. Antes de configurar o servidor TACACS no IOS, precisamos ter certeza de que algum “trabalho preliminar” básico foi feito em nosso roteador. O IOS existe há anos e passou por muitas mudanças na forma como a autenticação e autorização são tratadas.

Então, a primeira coisa que queremos fazer é garantir que o “novo modelo” de AAA esteja habilitado em nosso dispositivo:

aaa new-model

Em seguida, queremos criar uma conta de usuário local que possa acessar e administrar o dispositivo se o servidor TACACS ficar inacessível. Você também pode usar uma conta local para conexões seriais/console.

username cisco privilege 15 secret cisco

Neste comando, o nome de usuário e a senha são definidos como «cisco». (Não é a escolha mais segura, mas isto é apenas um laboratório.) A parte “privilégio 15” do comando indica que este usuário receberá uma função de “administrador”. O privilégio 15 é o nível mais alto em um dispositivo IOS e permite ao usuário executar todos os comandos.

Estamos prontos para configurar e testar o TACACS agora. Mas primeiro faço login no console do servidor e começo a monitorar os logs. Dessa forma, posso controlar e verificar os resultados tanto do lado do servidor quanto do cliente.

# On aaa-server
journalctl -fu tac_plus

# Output
Oct 14 19:16:37 aaa-server systemd[1]: Started tac_plus Service.
Oct 14 19:16:37 aaa-server tac_plus[5982]: Reading config
Oct 14 19:16:37 aaa-server tac_plus[5982]: Version F4.0.4.28 Initialized 1
Oct 14 19:16:37 aaa-server tac_plus[5982]: tac_plus server F4.0.4.28 starting
Oct 14 19:16:37 aaa-server tac_plus[5982]: socket FD 4 AF 2
Oct 14 19:16:37 aaa-server tac_plus[5982]: socket FD 5 AF 10
Oct 14 19:16:37 aaa-server tac_plus[5982]: uid=0 euid=0 gid=0 egid=0 s=1106370448

No comando anterior, o argumento “-f” “segue” as mensagens de log conforme elas chegam. E a opção «-u tac_plus» limita a saída apenas à mensagem proveniente do serviço tac_plus.

Excelente. Agora, vamos voltar ao roteador para configurar o servidor Tacacs e adicioná-lo a um grupo de servidores que o roteador possa usar para o serviço AAA.

tacacs server aaa-server
address ipv4 192.168.0.10
key tacacs123

aaa group server tacacs+ AAA-TACACS
server name aaa-server

Sempre gostei de testar se algo funciona (ou provavelmente funcionará) antes de prosseguir. Convenientemente, o IOS suporta um comando “test aaa” que podemos usar.

test aaa group AAA-TACACS iosadmin admin123 legacy

# Output
Attempting authentication test to server-group AAA-TACACS using tacacs+
User was successfully authenticated.

Parece fantástico! E também posso ver os logs em «aaa-server».

Oct 14 19:55:16 aaa-server tac_plus[6473]: connect from 192.168.0.1 [192.168.0.1]
Oct 14 19:55:17 aaa-server tac_plus[6473]: login query for 'iosadmin' port unknown-port from 192.168.0.1 accepted

Com um forte senso de confiança, completamos a configuração AAA para todos os três “A’s”.

! Authentication 
aaa authentication login default group AAA-TACACS local

! Authorization
aaa authorization exec default group AAA-TACACS local
aaa authorization console

! Accounting
aaa accounting exec default start-stop group AAA-TACACS
aaa accounting commands 1 default start-stop group AAA-TACACS
aaa accounting commands 15 default start-stop group AAA-TACACS

Mantendo esse forte senso de confiança, vamos ver se funciona. Efetue logout/saia do roteador até precisar fazer login novamente.

ios01 con0 está agora disponível

Pressione RETURN para começar.

Verificação de Acesso do Usuário

Nome de usuário:

Tente fazer login no roteador usando as credenciais TACACS do dispositivo IOS.

Verificação de Acesso do Usuário

Nome de usuário: iosadmin
Senha:

ios01#

Sucesso! Verifique os logs no servidor e você verá algo assim:

14 de outubro 20:05:03 servidor-aaa tac_plus[6492]: consulta de login para 'iosadmin' na porta tty0 de 192.168.0.1 aceita
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: conexão de 192.168.0.1 [192.168.0.1]

14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: Iniciar solicitação de autorização
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: do_author: usuário="iosadmin"
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: usuário 'iosadmin' encontrado
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: solicitação de autorização de execução para iosadmin
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: execução é explicitamente permitida pela linha 6
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: nas:serviço=shell (passado)
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: nas:cmd* (passado)
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: nas:ausente, servidor:priv-lvl=15 -> adicionar priv-lvl=15 (k)
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: adicionado 1 argumento
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: out_args[0] = serviço=shell entrada copiada descartada
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: out_args[1] = cmd* entrada copiada descartada
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: out_args[2] = priv-lvl=15 compactado para out_args[0]
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: 1 argumento de saída
14 de outubro 20:05:03 servidor-aaa tac_plus[6493]: consulta de autorização para 'iosadmin' tty0 de 192.168.0.1 aceita
14 de outubro 20:05:03 servidor-aaa tac_plus[6494]: conexão de 192.168.0.1 [192.168.0.1]

Colori a saída do servidor para destacar os logs de autenticação e autorização separadamente, demonstrando que essas são realmente duas fases diferentes.

Mas e o “A” final para contabilidade? Pressione Cntr-C para parar de seguir o log de serviço e abrir o «log de contabilidade».

tail -f /var/log/tac_plus.acct 

# Saída
14 de outubro 20:05:03 192.168.0.1 iosadmin tty0 async iniciar task_id=12 fuso_horário=UTC serviço=shell

Você deverá ver uma mensagem como a acima mostrando o “início” da sessão no roteador. Volte para o roteador e execute “write mem” para salvar as alterações de configuração na memória. Uma nova mensagem de log deverá aparecer no log de contabilidade:

14 de outubro 20:10:11 192.168.0.1     iosadmin        tty0    async   parar    task_id=13      fuso_horário=UTC    serviço=shell   priv-lvl=15     cmd=write memory 

E agora, saia do roteador para fazer logout. Uma nova mensagem também deve aparecer:

14 de outubro 20:11:02 192.168.0.1     iosadmin        tty0    async   parar    task_id=13      fuso_horário=UTC    serviço=shell   causa_de_desconexão=1    causa_de_desconexão_ext=9        tempo_de_sessão_anterior=6 tempo_decorrido=89  tempo_de_parada=1728936662

E BAM. Todos os três “A”s foram validados. Ótimo trabalho!

Esperamos que este blog tenha animado você para concluir sua exploração de AAA e TACACS. E você está com sorte: os arquivos de topologia CML que mencionei acima (e mencionarei novamente abaixo) estão lá para serem obtidos e usados ​​imediatamente. Dentro, há guias de laboratório que cobrem outros tópicos importantes da AAA, como o uso de contas locais no console/linha serial para IOS e a configuração de TACACS em dispositivos Nexus. No entanto, encorajo você a fazer alguma exploração independente e experimentar coisas que existem Não no guia:

O que acontece se você inserir o nome de usuário/senha errados? O que acontece se a “chave tacacs” configurada estiver errada? O que acontece se o servidor TACACS estiver inacessível?

Compreender o impacto dos problemas e falhas é fundamental para que um engenheiro de rede possa se sentir confortável quando algo dá errado na “vida real”. É muito melhor quebrar coisas no laboratório do que esperar que a produção tenha problemas. E não há ferramenta melhor para essa exploração do que o Cisco Modeling Labs.

Minha exploração AAA continuará. Neste blog e workshop apenas arranhei a superfície do tema e dos conhecimentos necessários para as diferentes certificações. É possível usar servidores RADIUS em vez de TACACS, e quanto ao AAA para coisas como autenticação VPN, acesso à rede com 802.1x ou outras plataformas como firewalls ASA?

Existem muitas outras possibilidades para explorar nas postagens subsequentes do blog. Você gostaria de ver mais AAA de mim? Deixe-me saber nos comentários.

Até a próxima!

Recursos

Inscreva-se no Cisco U. | Junte-se à Rede de Aprendizagem Cisco.

Siga os treinamentos e certificações da Cisco

X| Discussões | Facebook | LinkedIn | Instagram| YouTube

Uso #CiscoU E#CiscoCertpara participar da conversa.

Compartilhar:

.Não invente. Não escreva em outro idioma. Não fale sobre o autor do conteúdo. Concentre-se no conteúdo, não em outras páginas, como políticas de privacidade, política de cookies ou outras. Seja exaustivo ao reescrever: pelo menos 300 palavras. Não traduza marcas, produtos ou nomes de empresas.

FONTE

Por Staff

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *