Olá Pessoal.
A autenticação de usuários em dispositivos Cisco pode ser realizada através de uma base local de usuários que fica distribuída em cada uma das caixas ou através de uma base centralizada na rede via servidor TACACS+ (Terminal Access Controller Access Control System Plus). O TACACS+ é um protocolo de segurança utilizado para controlar os usuários que tentam se autenticar em roteadores ou switches da Cisco (e de outros fabricantes). Ao acessar uma caixa da rede, o usuário é conectado previamente a um servidor centralizado para fins de identificação e autorização das credenciais. Se autorizado, então o servidor TACACS+ encaminha as informações de login para a caixa remota que solicitou a autenticação.
A solução comercial oficialmente recomendada pela Cisco que implementa as funcionalidades de um servidor TACACS+ é o Cisco Secure Access Control System (ACS). Uma alternativa gratuita e que pode ser instalada no Linux é a ferramenta TAC_Plus (pacote tacacs+ no Debian). Neste artigo irei detalhar os passos necessários para configurar um servidor TACACS+ no Linux Debian e também como configurar as caixas Cisco para que o processo de autenticação seja centralizado através da comunicação com o servidor. A topologia proposta é bastante simples e pode ser observada na figura abaixo, sendo que o laboratório pode ser reproduzido no GNS3 em conjunto com o VirtualBox.
A primeira etapa consiste na instalação do pacote tacacs+ para que o Linux Debian possa ser posteriormente configurado como servidor TACACS+ na rede. Essa tarefa é simples através do APT.
root@tacacs:/# apt-get install tacacs+
Depois de instalado o pacote tacacs+, o arquivo de configuração principal do servidor TACACS+ fica armazenado em /etc/tacacs+/tac_plus.conf. Nas configurações abaixo definiremos uma chave de verificação do servidor denominada "CHAVE" e criaremos dois perfis, sendo um com privilégio administrativo de nível 15 (grupo "admin") e outro com privilégio de execução de nível 7 (grupo "user"). Na sequência, criaremos o usuário "shbbrito" no grupo "admin" e definiremos sua senha que deve ser informada de maneira cifrada.
###--- em /etc/tacacs+/tac_plus.conf
accounting file = /var/log/tac_plus.acct
key = "CHAVE"
group = "admin"
{
default service = permit
service = exec
{
priv-lvl = 15
idletime = 10
timeout = 60
}
}
group = "user"
{
default service = deny
service = exec
{
priv-lvl = 7
idletime = 10
timeout = 30
}
}
user = "shbbrito"
{
name = "Samuel Henrique Bucke Brito"
member = "admin"
login = des "1oV3QcqhpSN2w"
}
accounting file = /var/log/tac_plus.acct
key = "CHAVE"
group = "admin"
{
default service = permit
service = exec
{
priv-lvl = 15
idletime = 10
timeout = 60
}
}
group = "user"
{
default service = deny
service = exec
{
priv-lvl = 7
idletime = 10
timeout = 30
}
}
user = "shbbrito"
{
name = "Samuel Henrique Bucke Brito"
member = "admin"
login = des "1oV3QcqhpSN2w"
}
Obs.: Para gerar a senha cifrada pode ser utilizado o aplicativo tac_pwd. Ao digitar tac_pwd no shell, será necessário informar a senha para que o aplicativo possa fazer a cifragem e trazer seu resultado na tela. Neste exemplo, utilizamos a senha "SENHA" que equivale a "1oV3QcqhpSN2w".
Feito isso o servidor TACACS+ já está devidamente configurado no Linux Debian.
Para inicializar o serviço, basta digitar:
root@tacacs:/# service tacacs_plus start
[ OK ] tacacs_plus.service: TACACS+ authentication daemon
Agora que o servidor TACACS+ está operacional na rede, as caixas Cisco (roteadores e switches) devem ser configuradas para fazer a autenticação via TACACS+. Essa configuração é rápida e os comandos necessários para fazê-lo são listados abaixo, com destaque em amarelo para as informações do IP do servidor e a respectiva key que configuramos anteriormente.
Roteador(config)# aaa new-model
Roteador(config)# aaa authentication login default group tacacs+ local
Roteador(config)# aaa authorization exec default group tacacs+ local
Roteador(config)# tacacs-server host 192.168.221.1
Roteador(config)# tacacs-server key CHAVE
Para inicializar o serviço, basta digitar:
root@tacacs:/# service tacacs_plus start
[ OK ] tacacs_plus.service: TACACS+ authentication daemon
Agora que o servidor TACACS+ está operacional na rede, as caixas Cisco (roteadores e switches) devem ser configuradas para fazer a autenticação via TACACS+. Essa configuração é rápida e os comandos necessários para fazê-lo são listados abaixo, com destaque em amarelo para as informações do IP do servidor e a respectiva key que configuramos anteriormente.
Roteador(config)# aaa new-model
Roteador(config)# aaa authentication login default group tacacs+ local
Roteador(config)# aaa authorization exec default group tacacs+ local
Roteador(config)# tacacs-server host 192.168.221.1
Roteador(config)# tacacs-server key CHAVE
Façam seus testes...
Samuel.
Uma opção menos segura para informar a senha:
ResponderExcluirlogin = cleartext "SENHA"
Uma opção mais segura para informar a senha é utilizar a base local de usuários do servidor Linux, o que pode ser feito linkando o arquivo /etc/passwd:
ResponderExcluirlogin = file /etc/passwd
Qual a diferença básica entre usar Tacacs e Radius?
ResponderExcluirO TACACS+ é um protocolo proprietário da Cisco que teve seu código-fonte publicado. O RADIUS é um padrão aberto publicado em RFC que é amplamente utilizado em ambientes heterogêneos. Do ponto de vista técnico, o TACACS+ é mais completo porque permite mais configurações específicas para caixas da Cisco.
ExcluirDá para configurar o TACACS+ no UBUNTU da mesma maneira?
ResponderExcluirSim.
ExcluirBom dia
ResponderExcluirGostaria de configurar essa autenticação com AD ou LDAP, você já fez isso? Sabe se é possível?
http://www.cisco.com/en/US/docs/ios-xml/ios/sec_usr_ldap/configuration/15-2mt/sec_conf_ldap.html
ExcluirOlá mestre!!
ResponderExcluirnao consegui subir meu tacacs+. Editei o arquivo como foi mostrado, porém esta dando falha quando estarto o serviço. preciso fazer alteraçao em mais algum arquivo?
Obrigado!!
sou fã do blog!!
Gostaria de saber se esta configuração se aplica ao acesso SSH no Router?
ResponderExcluirSim.
ExcluirCom syslog você consegue coletar todas as mensagens das ações resultantes de configurações que foram realizadas na caixa.
ResponderExcluirOpa, qual o nivel do syslog deve estar, e pega nesse nivel mesmo de sho running config por exemple ? Que tenho um graylog no meu ambiente porem nao estou conseguindo pegar esse nivel ..so qdo salva uma nova config.
Excluirpa Samuel , bom dia, minha duvida é que se consigo pegar armazenar todos os comandos "dados" em um elemento de rede ?
ResponderExcluirEx: loguei(autenticado pelo tacacs)
#show running-config
ethernet-if#no shutdown
Se esse comando "impudatos" são armazenados/podem pelo tacacs ?
Att,
Marcelo