Tacacs+ Open Source

Neste post vou demonstrar a configuração do serviço Tacacs+ em um ambiente Linux.

O Tacacs+ prove o  3AAA,  que se refere a Authentication, Authorization, e Accounting, ou seja, prove a autenticação do usuário, o privilegio que ele terá para realizar tal ação e as evidencias das ações realizadas pelo usuário.

O serviço tac_plus permite a centralização dos acessos e o permissionamento em um ambiente de redes, possibilitando ter o controle em roteadores, switches, firewalls, servidores e outros dispositivos.

Para demonstrar a configuração técnica, estarei fazendo uso do Ubuntu LTS 12.04.

Primeiramente realizaremos o update

root@ubuntu:~# aptitude update

Agora iremos encontrar o serviço a ser instalado

root@ubuntu:~# aptitude search tacacs

tacacs_on_linux_01

Uma vez que temos o nome do serviço, iremos realizar a instalação

root@ubuntu:~# aptitude install tacacs+

tacacs_on_linux_02

O primeiro passo foi concluído, temos o serviço instalado. A próxima etapa é realizar a configuração de seu arquivo.

Primeiramente, iremos acessar seu diretório e fazer um backup do seu arquivo original

root@ubuntu:~# cd /etc/tacacs+/

root@ubuntu:~# cp tac_plus.conf tac_plus.conf_bkp

Agora iremos editar o arquivo

root@ubuntu~# vim tac_plus.conf

# define onde o log de accounting sera armazenado
accounting file = /var/log/tac_plus.acct

# define a key utilizada entre o servidor tacacs e os equipamentos
key = 66b5e9dd0a8c1c99eeb879856b3521df

# define o acesso all como padrão aos usuarios
user = DEFAULT {
default service = permit
}

Essas são as configurações globais, uma dica interessante, para gerar uma key extensa e única utilize o comando abaixo

root@ubuntu~# date | md5sum

tacacs_on_linux_03

Agora iremos demonstrar a configuração de dois grupos com permissões distintas aos usuários

group = grupo-admin {
default service = permit
service = exex {
priv-lvl = 15
idletime = 10
}
}

group = grupo-user {
default service = deny
service = exex {
priv-lvl = 1
idletime = 10
}
}

user = viniciusbueno {
member = grupo-admin
login = des 2yhainwrEFwqo
}

user = frango {
member = grupo-user
login = des TEIn0Bjp/k3YU
}

Reparem que a senha dos usuários viniciusbueno e frango possuem um hash, esse hash é gerado através do comando abaixo

root@ubuntu:~# tac_pwd

tacacs_on_linux_04

Agora basta salvar o arquivo e reiniciar o serviço do tacacs

root@ubuntu:~#/etc/init.d/tacacs_plus restart

tacacs_on_linux_05

Para testar a nossa configuração do Tacacs+, iremos configurar  um roteador Cisco para realizar o 3AAA.

enable
configure terminal
!
aaa new-model
aaa authentication login default group tacacs+ local enable
aaa authorization exec default group tacacs+ local
aaa accounting exec default start-stop group tacacs+
aaa accounting network default start-stop group tacacs+
aaa accounting connection default start-stop group tacacs+
aaa accounting system default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+
!
tacacs-server host 10.30.0.10 key 66b5e9dd0a8c1c99eeb879856b3521df
!
line con 0
login authentication default
!
line vty 0 15
login authentication default
!

Realizando o login com o usuário frango

tacacs_on_linux_07

Realizando o login com o usuário viniciusbueno

tacacs_on_linux_08

Através do arquivo de log /var/log/system do servidor Tacacs é possível identificar falhas de login e problemas na configuração do Tacacs.

root@ubuntu:~# tail /var/log/system

tacacs_on_linux_09

Agora iremos verificar através do log de according os comandos realizados pelo usuário viniciusbueno

root@ubuntu:~# tail /var/log/tac_plus.acct

tacacs_on_linux_10

E assim finalizamos mais um post.

Tags: