Porém o Devrim Seral (http://www.gazi.edu.tr/tacacs/) fez o favor de criar pacotes RPM a partir do fonte da Cisco. E este pacote RPM funciona no opensuse 11.1. Baixe o arquivo RPM e faça a instalação do mesmo.
wget http://www.gazi.edu.tr/tacacs/get.php?src=tac_plus-F4.0.3.alpha-5.i386.rpm
rpm -ivh tac_plus-F4.0.3.alpha-5.i386.rpm
Após a instalação é preciso fazer algumas alterações na configuração, edite o arquivo /etc/rc.d/init.d/tac_plus e deixe conforme abaixo. Você precisa achar estas linhas no arquivo e deixar como está abaixo.
#. /etc/rc.d/init.d/functions
#. /etc/sysconfig/network
#[ ${NETWORKING} = "no" ] && exit 0
#daemon tac_plus -C $tacacs_config -d $debug
tac_plus -C $tacacs_config -d $debug
#daemon tac_plus -C $tacacs_config
tac_plus -C $tacacs_config
Mova o arquivo tac_plus que inicia o serviço para o diretório correto.
mv /etc/rc.d/init.d/tac_plus /etc/init.d/
Coloque para iniciar automaticamente.
chkconfig tac_plus on
obs.: Vai dar algums erros aqui mas não se preocupe, irá funcionar.
Feito isso pode-se iniciar o servidor tacacs
/etc/init.d/tac_plus start
Verifique se o daemon subiu.
ps aux | grep tac_plus
root 26373 0.0 0.0 2060 376 pts/0 S 07:30 0:00 tac_plus -C /etc/tacacs/tac_plus.cfg
É preciso alterar o arquivo de configurações para que atenda as necessidades.
Edite o arquivo /etc/tacacs/tac_plus.cfg e deixe semelhante ao que está abaixo.
###
default authentication = file /etc/shadow
accounting file = /var/log/tac.account_log
# Chave de configuração dos equipamentos
key = cisco
# Definicao geral de usuarios
user = DEFAULT {
default service = permit
}
### Definicao de grupos para usar com os usuarios
group = administrador {
default service = permit
service = exec {
priv-lvl = 15
idletime=10
}
}
# Limita os comandos para o grupo usuarios
group = usuarios {
default service = deny
cmd = exit {
permit .*
}
cmd = login {
permit .*
}
cmd = logout {
permit .*
}
#Permite somente os commandos show version, flas e interface, ping e traceroute
cmd = show {
permit version
permit flash:
permit interface
deny .*
}
cmd = ping {
permit .*
}
cmd = traceroute {
permit .*
}
service = exec {
priv-lvl = 7
idletime=3
}
}
#### Usuarios
user = operador {
member = usuarios
login = cleartext operador123
}
user = joao {
member = usuarios
login = cleartext joao123
#14 dias antes da senha expirar o usuario eh alertado apos o login.
expires = "Apr 20 2009"
}
user = jose {
member = usuarios
#Fazer login sem password
login = nopassword
}
user = admin {
member = administrador
login = cleartext admin123
}
user = fabio {
member = administrador
login = cleartext fabio123
}
#### Senha de enable geral
user = $enab15$ {
login = cleartext supersenhacisco
}
#### senha de enable para cada equipamento caso nao caia na condicao anterior
host = 192.168.0.40 {
enable = cleartext cisco
}
Feito isso, reinicie o servidor tacacs. E configure os equipamentos de rede para usar o mesmo.
Segue exemplo de configuração de um router cisco.
aaa new-model
aaa authentication login LOGAR local group tacacs+
aaa authentication enable default group tacacs+ enable
aaa authorization exec default group tacacs+ local
aaa accounting exec default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+
tacacs-server host 192.168.0.20
tacacs-server key cisco
line vty 0 4
login authentication LOGAR
Após isso, logue num equipamento cisco e veja os logs de accounting do servidor tacacs...
tail -f /var/log/tac.account_log
Tue Apr 7 23:14:57 2009 192.168.0.40 fabio tty98 192.168.0.41 stop task_id=6 timezone=UTC service=shell priv-lvl=15 cmd=show running-config
Tue Apr 7 23:15:25 2009 192.168.0.40 fabio tty98 192.168.0.41 stop task_id=7 timezone=UTC service=shell priv-lvl=15 cmd=clear counters Serial 0/0
Só.... cuidado.. isso gera muito log... caso não queira as estatísticas de cada comando que os usuários digitam, remova a linha abaixo da configuração dos equipamentos. Esta linha é interessante quando tem mais de uma pessoa que administra os equipamentos.. assim pode-se realizar uma certa auditoria quando der algum problema.
aaa accounting commands 15 default start-stop group tacacs+
Lembrando que o tacacs pode ser integrado ao PAM do linux, e autenticar usuários do AD através do samba winbind, ou até mesmo alguma base LDAP.
É Isso ae..
Referências:
http://www.cisco.com/en/US/tech/tk59/technologies_tech_note09186a00800946a3.shtml
http://www.pro-bono-publico.de/projects/tac_plus.html
http://wiki.centosbr.org/index.php/Instalando_e_configurando_TACACS%2B_no_CentOS
Fala guilherme, não sei o q pode estar acontecendo... veja que quando vc inicializa o tacacs ele da um erro no arquivo /etc/init.d/tac_plus na linha 20.... será que está inicializando?
ReplyDeletede um ps -aux | grep tac e veja se está rodando....
Caso contrário veja a linha 20 do arquivo citado acima para ver o que ele chama nesta linha.
Qualquer coisa manda ai..
Abraços
Fala Fabio,
ReplyDeleteAcabei não tendo muito tempo para mexer no meu lab tacacs.
Mas agora resolvi, eu não sei o que era o erro comentado, acredito que foi algo na instalação mesmo.
Reinstalei e não deu o erro, configurei o router e server tacacs, mas não estava comunicando, desabilitei o firewall tanto do windows (onde emulo o router) e do linux (vmware opensuse). Ai funcionou.
Acho bom deixar esse comentário, para verificarem o firewall que pode bloquear a porta de comunicação do tacacs.
Valeu pelo post, bem legal me ajudou bastante, agora vou estudar mais essas linha do tacacs para entendê-las melhor.
Abraços.
Fico muito orgulhoso de ter um artigo do CentOSBR mencionado aqui. Aliás, foi eu que o escrevi!
ReplyDeleteSeria interessante se o rpm tivesse suporte ao LDAP, mas para isso devemos pegar um módulo e adicionar ao rpm de source e compilar, como o Devrim disse em um emai que troquei com ele. Bom, eu fazendo isso funcionar tá bom, haha
Abraços!