Terminal Access Controller Access-Control System (TACACS) é um protocolo de autenticação remota usado para comunicação com servidores de autenticação. TACACS permite que um servidor de acesso remoto se comunique com um servidor de autenticação para verificar se o usuário tem acesso à rede.
Fonte:
http://pt.wikipedia.org/wiki/Tacacs
Esse serviço facilitará a manipulação de usuários e senhas, onde não mais será necessário entrar em todos os ativos caso acha necessidade de alteração de senha ou remoção de permissão de um usuário.
Ambiente utilizado
Foi utilizado uma máquina com configurações básicas, rodando o DEBIAN ETCH com kernel 2.6.18-6-686.
Configurado o arquivo
/etc/apt/sources.list para utilizar os seguintes repositórios:
deb http://ftp.debian.org/debian etch main non-free contrib
deb http://security.debian.org/ etch/updates main contrib
Instalando o TACACS
1) Atualizando a lista de pacotes dos repositórios:
# apt-get update
2) Instalado o servidor TACACS:
# apt-get install tac-plus
3) Fazendo backup do arquivo original do tacacs (isso facilitará caso precise pegar alguma configuração do arquivo original):
# mv /etc/tac-plus/tacacs.conf /etc/tac-plus/tacacs.conf.orig
4) Entre para edição do novo arquivo de configuração:
# vim /etc/tac-plus/tacacs.conf
5) Adicione o conteúdo abaixo (preste atenção, pois é necessário alterar algumas informações no arquivo):
key = "coloque uma chave aqui"
# Criando grupo de administração com privilege 15
group = 'coloque o nome do grupo, EX: casadopinguim-admin' {
default service = permit
service = exec {
priv-lvl = 15
idletime = 10
}
}
# Criando grupo de usuários com privilege 7
group = 'coloque o nome do grupo, EX: casadopinguim-user' {
default service = deny
service = exec {
priv-lvl = 7
idletime = 5
timeout = 30
}
}
# Criando um usuário adminstrador
user = 'coloque o nome do usuário' {
member = 'coloque o nome do grupo de admin, nesse caso casadopinguim-admin'
login = des 'cole aqui a hash (senha encriptada) criada para administrador'
}
# Criando um usuário normal
user = 'coloque o nome do usuário' {
member = 'coloque o nome do grupo de usuários, nessa caso casadopinguim-user'
login = des 'cole aqui a hash (senha encriptada) criada para usuário'
}
6) Gerando senha encriptada para os usuários:
Ao rodar o comando abaixo, o mesmo solicitará que você digite uma senha, ao digitar e pressionar o enter o programa emitirá como saída a senha encriptada, faça isso para todos os usuários que forem criados para o servidor TACACS, lembrando sempre de copiar e colar no espaço destinado a hash (senha encriptada) para seus respectivos usuários:
# generate_passwd
Exemplo de criação de senha encriptada usando a palavra "teste":
# generate_passwd
Password to be encrypted: teste =====> Senha usada
3CBlLJu1E5qUQ =====> Senha encriptada que será usada no arquivo tacacs.conf
Exemplo de um arquivo configurado:
key = "senha!@#"
# Criando grupo de administração com privilege 15
group = 'casadopinguim-admin' {
default service = permit
service = exec {
priv-lvl = 15
idletime = 10
}
}
# Criando grupo de usuários com privilege 7
group = 'casadopinguim-user' {
default service = deny
service = exec {
priv-lvl = 7
idletime = 5
timeout = 30
}
}
# Criando um usuário adminstrador
user = 'luriel' {
member = 'casadopinguim-admin'
login = des 'GaxrPzleHMOwY'
}
# Criando um usuário normal
user = 'santana' {
member = 'casadopinguim-user'
login = des 'FetrPxliHKErw'
}
Configurando ativo Cisco para usar servidor TACACS para autenticação
1) Entre no router com permissão de administrador (acesso enable) e digite os seguintes comandos (você pode apenas copiar e colar no terminal :-P):
configure terminal
aaa new-model
aaa authentication login default group tacacs+ local enable
aaa authorization exec default group tacacs+ local none
aaa authorization commands 0 default group tacacs+ local none
aaa authorization commands 1 default group tacacs+ local none
aaa authorization commands 15 default group tacacs+ local none
aaa authorization configuration default group tacacs+
aaa accounting exec default start-stop group tacacs+
aaa accounting commands 0 default start-stop group tacacs+
aaa accounting commands 1 default start-stop group tacacs+
aaa accounting commands 15 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+
2) Adicione também as opções do seu server TACACS, lembrando de alterar o IP do servidor e a chave (aqui você também pode copiar e colar após ter realizado as alterações de IP e chave):
tacacs-server host 'IP do Server TACACS'
tacacs-server directed-request
tacacs-server key 7 'coloque aqui chave adicionada no inicio do arquivo tacacs.conf EX: senha!@#'
radius-server source-ports 1645-1646
Pronto, agora bastar testar o login com seus usuários configurados no TACACS. :-)