Pages

Tuesday, April 07, 2009

Instalando e configurando servidor tacacs (tac_plus) no Opensuse 11.1

O servidot tacacs tac_plus é distribuido pela cisto através do link: ftp://ftp-eng.cisco.com/ftp/pub/tacacs/
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

In a little while...

Friday, March 27, 2009

Testar cabos de rede com switches Cisco

Os switches Cisco das series Catalyst 2960, 3560, 2750, 6500.... possuem uma funcionalidade que permite diagnosticar o tamanho do cabo de rede que está conectado em uma de suas portas, e também se existir algum problema ele informa + ou - em que distância o problema está.

Isso tudo é possível devido ao TDR (Time Domain Reflectometer), que é um mecanismo eletrônico para identificar problemas em cabos metálicos.

Este diagnóstico pode ser feito em portas fastethernet 10/100/1000, e não em módulos de 10 Gigabit e em módulos SFP.

Para utilizar em portas que pode ser usada GBIC ou cabo UTP, deve-se especificar na configuração da interface que o meio é RJ45.
interface g0/1
media-type rj45

Para executar o diagnóstico, o comando é bem simples, mas cuidado, pode haver queda na porta quando o diagnóstico for executado.
test cable-diagnostic tdr interface fastethernet 0/1

E para verificar o diagnóstico finalizado, o comando é o seguinte:
show cable-diagnostic tdr interface fastethernet 0/1

O resultado do comando deve ser +- como abaixo:
Interface Speed Local pair Pair length        Remote pair Pair status
--------- ----- ---------- ------------------ ----------- --------------------
Fa0/1    100M  Pair A     61   +/- 15 meters Pair A      Normal
Pair B     61   +/- 15 meters Pair B      Normal
Pair C     N/A                Pair C      Not Supported
Pair D     N/A                Pair D      Not Supported

Sem mais...

Thursday, February 26, 2009

logging synchronous

Esta dica é legal pois quando se esta operando os equipamentos cisco, tanto router quanto switches geram mensagems de alerta na console ou telnet/ssh (quando executado terminal monitor).

Estas mensagens acabam atrapalhando quando se esta digitando uma linha de comando no equipamento porque "embaralha" o seu comando.

Para evitar este inconveniente, deve-se utilizar a funcionalidade "logging synchronous", que deve ser configurada da seguinte forma
conf t
line con 0
logging synchronous
line vty 0 4
logging synchronous
line vty 5 15
logging synchronous

Este último nem sempre esta presente nos equipamentos portanto fica como "opcional".

Agora teste!!!

Usando o SecureCRT com o GNS3

Muita gente utiliza o GNS3 para emular roteadores cisco. Para quem não conheçe o GNS3, de uma conferida no link www.gns3.net.

Quando se trabalha com muitos routers no GNS3, fica meio complicado aquela montueira de prompts com seções de telnet para os equipamentos, para tentar minimizar este problema, pode-se utilizar o software SecureCRT (pago) para abrir as seções de telnet, ele organiza melhor e deixa todas as seções dentro de um único aplicativo utilizando TABs ou ABAs para organizar as conexões.

Este post já existe em vários lugares na internet, mas estou postando somente para ficar registrado aqui.

Para isso, você deve criar um arquivo de nome securecrt.vbs e salvar aonde for melhor, neste exemplo o arquivo deve ficar na pasta de instalação do GNS3 que no meu caso fica em C:\Program Files (x86)\GNS3 , Porque utilizo o windows vista 64.

Coloque este conteúdo dentro do arquivo criado na pasta acima e salve com o nome securecrt.vbs
#$Language="VBScript"
#$Interface="1.0"

Sub main

crt.window.caption = crt.arguments(0)

End Sub

Após isso abra o GNS3, selecione Edit --> Preferences --> General , e na opção "terminal command", altere a linha existente pela seguinte linha:
start C:\Progra~2\VanDyk~1\SecureCRT\SecureCRT.EXE /script C:\Progra~2\GNS3\Dynamips\securecrt.vbs /arg %d /T /telnet "127.0.0.1" %p

Lembrando que o caminho para o arquivo pode ser diferente na sua instalação do Windows. Utilizo o windows vista 64.

Após isso, inicie a sua topologia no GNS3 e clique com o botão direito no router e selecione "Console", se tudo correu bem é para ter aberto a console no SecureCRT e não mais no telnet.

Sem mais.

Monday, August 18, 2008

Extraindo conteúdo de arquivos rpm

Esta dica é meio útil as vezes.... já tive a necessidade de extrair algum arquivo de dentro de um arquivo .rpm .

O processo é simples e utiliza o cpio.

rpm2cpio pacote.rpm | cpio -idmv


Feito isso, você pode verificar no diretório que está os novos arquivos presentes, são os arquivos do rpm.

Para melhor organizar, crie um diretório antes de extrair e copie o arquivo rpm para dentro dele, só então faça a extração.

Valeu!!

Sunday, August 17, 2008

Habilitando SSH no appliance Cisco ASA

Para ter uma conexão remota e segura ao equipamento é preciso habilitar o serviço SSH em vez de utilizar o telnet.

Os passos abaixo servem de auxílio para a ativação do serviço.

Criar a chave

asa# conf t
asa(config)# crypto key generate rsa general-keys modulus 2048


Ativar o ssh em sí para a interface desejada e/ou para o endereço IP desejado, neste caso estamos liberando o acesso a partir de qualquer endereço IP vindo da interface outside.

asa# conf t
asa(config)# ssh 0.0.0.0 0.0.0.0 outside


Criar um usuário na database local do equipamento para a conexão

asa# conf t
asa(config)# username secureuser password 123456 privilege 15


Ativar AAA para autenticação do ssh via database local

asa# conf t
asa(config)# aaa authentication ssh console LOCAL


Feito isso, pode-se abrir uma conexão através do Putty ou via linha de comando linux para o ASA.

Wednesday, August 13, 2008

VPN Site-to-Site IPSec entre Cisco ASA e Linux

Este howto explica como configurar uma conexão VPN site-to-site entre um equipamento Cisco ASA 5510 e uma máquina Linux. Ambos os sites tem que ter IP fixo neste exemplo.

Softwares utilizados:
ASA: asa803-k8.bin


Linux: OpenSuse 11 e pacote openswan (da prória distribuição)


A topologia do ambiente está definido abaixo.



A configuração do openswan é realizada no arquivo /etc/ipsec.conf o conteúdo do arquivo está abaixo, nada mais é necessário para o funcionamento deste exemplo. A criptografia utilizada é 3des-sha.


version 2.0
config setup
interfaces="ipsec0=eth0"
nat_traversal=yes

conn cisco
authby=secret
pfs=yes
auto=start
keyingtries=3
disablearrivalcheck=no
#IPsec Params
type=tunnel
auth=esp
compress=no
keylife=60m
#IKE params
keyexchange=ike
ikelifetime=240m
ike=3des-sha1
# Left security gateway (lado do linux)
left=192.168.2.245
leftsubnet=192.168.10.0/24
leftnexthop=192.168.2.244
# Right security gateway, (lado do ASA)
right=192.168.2.244
rightsubnet=192.168.1.0/24
rightnexthop=192.168.2.245
rightsourceip=192.168.2.244



Arquivo /etc/ipsec.secret

# PSK
192.168.2.245 192.168.2.244: PSK "cisco"


Feito isso, é preciso iniciar o serviço.
rcipsec start



Na sequência a configurar do ASA

Configuração relevante do Cisco ASA


interface Ethernet0/0
nameif outside
security-level 0
ip address 192.168.2.244 255.255.255.0
!
interface Management0/0
nameif management
security-level 100
ip address 192.168.1.1 255.255.255.0
!
....
....
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
access-list management_nat0_outbound extended permit ip 192.168.1.0 255.255.255.0 192.168.10.0 255.255.255.0
access-list outside_1_cryptomap extended permit ip 192.168.1.0 255.255.255.0 192.168.10.0 255.255.255.0
nat (management) 0 access-list management_nat0_outbound
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto map outside_map 1 match address outside_1_cryptomap
crypto map outside_map 1 set pfs
crypto map outside_map 1 set peer 192.168.2.245
crypto map outside_map 1 set transform-set ESP-3DES-SHA
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 10
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
no crypto isakmp nat-traversal
tunnel-group 192.168.2.245 type ipsec-l2l
tunnel-group 192.168.2.245 ipsec-attributes
pre-shared-key cisco
!



A partir dai, é só tentar pingar o site remoto a partir dos hosts internos.

PC na rede ASA
ping 192.168.10.2


PC na rede Linux
ping 192.168.1.2



Para verificar se o túnel está UP no ASA

ASA# show isakmp stats
Global IKE Statistics
Active Tunnels: 1
.....


Se correu tudo certo... deve estar funcionando... aqui está :D

Qualquer dúvida entre em contato.

Abraços
Fabio