Atualmente, acredito que ninguém administraria um roteador, servidor, switch, ou o que quer que seja acessando diretamente o console fornecido pelo dispositivo: você sempre irá utilizar alguma solução de acesso remoto para poder administrar sua rede sem precisar sair do seu computador :)
O problema com este tipo de solução é a segurança. Nem sempre os protocolos utilizados são os mais seguros. Por exemplo, switches e roteadores Cisco até hoje utilizam por padrão acesso remoto através de Telnet, que envia todas as informações (incluindo as de login) pela rede em texto puro. Isso, obviamente, é um grande furo na segurança da sua rede pois qualquer um que consiga sniffar o tráfego será capaz de logar no roteador.
Atualmente, assim como máquinas Linux, por exemplo, os equipamentos Cisco fornecem suporte à utilização de SSH V2. Esta é uma adição e tanto à segurança destes equipamentos, já que absolutamente todos os dados trocados entre a estação cliente e o roteador serão criptografados.
Aqui vou ensinar a você o processo de configuração do SSH em equipamentos Cisco.
O IOS 12.1(3)T foi o primeiro a oferecer suporte a SSH, porém apenas para a versão 1 do protocolo (considerada insegura). O IOS deveria oferecer DES ou 3DES IPSec para que o SSH pudesse funcionar corretamente.
As primeiras versões a oferecer suporte ao SSH2 foram 12.3(4)T, 12.2(25)S e 12.3(7)JA. O IOS ainda deve oferecer suporte a 3DES para que o SSH funcione. Isto pode ser identificado pelo “k9″ no nome da imagem sendo utilizada.
Lembre-se: quando puder escolher, escolha sempre a versão 2 do SSH pois ela oferece uma segurança muito melhor que a versão 1. Quando puder escolher apenas entre Telnet e SSH1, a melhor escolha é o SSH1.
A configuração do SSH em roteadores Cisco é extremamente simples, portanto você não vai ter desculpas para não utilizá-lo em seus roteadores. ;)
Lembrando que você deve ter um nome de host e um nome de domínio configurado para o equipamento (isso pode ser feito no modo de configuração global utilizando os comandos “hostname” e “ip domain-name”, respectivamente).
Primeiro, acesse o seu roteador (por Telnet ou diretamente pelo Console, tanto faz) e entre no modo de configuração global:
roteador>enable
roteador#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
roteador(config)#
Ok, agora vamos gerar as chaves que serão utilizadas na autenticação do SSH. O IOS suporta gerar certificados com criptografia de no mínimo 360 bits e no máximo 2048 bits. Eu considero 360 bits muito pouco e sempre utilizo como padrão o 2048. Recomendo que você faça o mesmo, mas a escolha é sua. O comando é o seguinte:
roteador(config)#crypto key generate rsa
How many bits in the modulus [512]:2048
% Generating 2048 bit RSA keys, keys will be non-exportable…[OK]
Depois que você executar o comando, deverá informar quantos bits deseja para o módulo do certificado. O padrão é 512 mas, como dito anteriormente, recomendo fortemente que você coloque 2048 aqui. A mensagem que aparece logo após a seleção indica sucesso ou falha na geração do certificado.
Agora, vamos configurar alguns parâmetros do serviço SSH como timeout, versão, etc. Então, ainda no modo de configuração global:
roteador(config)#ip ssh version 2
Este comando irá especificar qual versão do protocolo SSH você deseja utilizar. Para verificar quais versões estão disponíveis, execute o comando “show ip ssh” no modo “enable”. Se estiver indicando versão 2.0, você pode utilizar tanto a versão 1 quanto a versão 2. Se estiver indicando 1.X, você pode utilizar apenas a versão 1 do protocolo.
Agora, vamos configurar o timeout:
roteador(config)#ip ssh time-out 50
Isso irá configurar o timeout para 50 segundos. Você pode escolher qualquer valor no intervalo de 1 a 120 segundos. Assim, quando uma sessão de cliente ficar parada por mais tempo que o especificado aqui, o cliente será desconectado automaticamente.
Agora, vamos configurar o valor de tentativas de login. Essa opção não é muito efetiva contra ataques brute-force pois, quando você exceder o número de tentativas de conexão, o seu IP não será bloqueado e você poderá voltar a tentar se conectar imediatamente.
roteador(config)#ip ssh authentication-retries 2
Com o comando acima, serão permitidas apenas 2 tentativas erradas. Você pode especificar um valor entre 0 e 5 nesta opção.
Pronto, o SSH está configurado e funcionando.
Para poder fazer o login via SSH, você deve criar alguns usuários locais (válidos apenas no roteador) e também definir qual o nível de acesso para estes. Para criar um usuário chamado “administrador”, com permissão de fazer tudo no roteador, execute o seguinte comando:
roteador(config)#username administrador priv 15 secret senha-do-usuário
Pronto, agora você já tem um usuário chamado “administrador” com permissão de realizar qualquer tipo de configuração no roteador onde ele foi criado. O que define que ele é um administrador ou não é a opção “priv 15″. O valor 15 indica que ele tem acesso total, e varia de 0 a 15: quanto menor o valor, menor o privilégio do usuário no sistema. Por exemplo:
Agora, falta apenas você fazer com que as linhas Telnet deixem de aceitar conexões Telnet e passem a aceitar apenas conexões SSH:
roteador(config)#line vty 0 4
roteador(config-line)#login local
roteador(config-line)#transport input ssh
Pronto! SSH configurado, agora basta testar a conexão.
Você pode utilizar qualquer cliente SSH para se conectar ao roteador, agora. O meu cliente preferido é o PuTTY, que funciona em Windows e possui uma boa quantidade de características que o ajudarão no dia-a-dia. Você também poderá utilizar o cliente disponível em roteadores Cisco.
Este cliente obviamente funciona apenas em linha de comando e não possui nem metade das opções oferecidas pelo PuTTY. Para usá-lo, faça o seguinte:
roteador>ssh -l administrador -v 2 192.168.1.1
Você não precisa estar em modo privilegiado para utilizá-lo. A opção “-l” (não é o número sim, mas sim a letra “L” minúscula) indica qual o nome de usuário será utilizado; a opção “-v” indica qual a versão do protocolo o cliente deverá utilizar (o valor pode ser 1 ou 2, como já foi dito anteriormente) e, finalmente, o IP do roteador ao qual você irá se conectar.
Com alguns passos simples, você pode aumentar muito a segurança da sua infraestrutura. Utilizando SSH com criptografia de 2048 bits é virtualmente impossível que algum atacante consiga sniffar o tráfego na sua rede e descriptografar os pacotes conseguindo recuperar senhas, usuários, etc. Além disso, você agora pode dormir tranquilo à noite!
Claro que apenas configurar o SSH não irá resolver todos os seus problemas de segurança. Você ainda precisa utilizar senhas fortes e ACL’s para controlar quem poderá tentar se conectar ao SSH do seu equipamento Cisco, mas sem dúvida alguma você dificultou e muito a vida dos crackers!
Aqui no blog você vai encontrar vários tutoriais de SSH. Vale a pena dar uma lida!
Se você gostou deste texto, me siga no Twitter e receba várias notícias sobre tecnologia e também fique sabendo quando novos posts são publicados aqui no blog. Se você não gosta muito do Twitter, pode assinar o feed RSS e ficar sabendo sempre das novidas aqui no blog.
8 Comentários
jean
06|Oct|2010 1Material de primeira qualidade, linguagem simples e descomplicada. Que Deus o abençoe no seu dom de ensinar.
Um forte abraço,
JEAN
Pedro Pereira
07|Oct|2010 2@jean,
Obrigado! Fico muito feliz que o texto tenha sido útil para você! Tem mais um post sobre roteadores Cisco saindo do forno ;)
[]‘s
Pedro Pereira
Como configurar um roteador Cisco | Pedro Pereira
16|Oct|2010 3[...] Embora o Telnet seja o padrão para administração remota de roteadores e switches Cisco, ele não é nada seguro. Todo o tráfego trocado entre cliente e servidor é transmitido em texto claro, permitindo que alguém sniffe a conexão e consiga descobrir o seu usuário e senha. Para mitigar este problema, o mais recomendado atualmente é configurar o SSH no dispositivo e utilizá-lo ao invés de usar o Telnet. Já expliquei como funciona este processo em outro post. Clique aqui e aprenda a configurar o SSH em um roteador Cisco. [...]
Lucciano
23|Feb|2011 4Excelente texto , Pedro .
Objetivo , você consegue nele reunir tencica de maneira simples e clara.
sds.
Pedro Pereira
27|Feb|2011 5@Lucciano,
Obrigado! Fico feliz que tenha gostado do texto!
[]‘s
Pedro Pereira
Daniel
18|Mar|2011 6Kra valeu mesmo muito bom
vc explica muito bem legal irmão , muito obrigado pela força
Zé
28|May|2011 7show de bola, vc explica muito bem
vou favoritar o site, espero que saia mais destes tutoriais.
Aprenda tudo sobre ACLs Cisco e proteja a sua rede e seus dados! | Pedro Pereira
22|Jan|2012 8[...] que vai controlar este acesso deve ser aplicada da maneira descrita acima. Leia o meu post sobre configuração de SSH em roteadores Cisco para esclarecer alguma dúvida que você [...]
Deixe seu comentário!
Acompanhe!
Creative Commons
Esta obra escrita por Pedro Augusto de Oliveira Pereira está licensiada sob a Creative Commons Atribuição-Uso Não-Comercial-Vedada a Criação de Obras Derivadas 3.0 Brasil License.
Mais lidos
Busca
Últimas mensagens no Twitter
Posts recentes
A design creation of Design Disease
Pedro Pereira: Administrador de redes: Linux, Cisco, FreeBSD, OpenBSD. Consultoria e serviços em software livre utilizando Samba, Subversion, Postfix, OpenLDAP, Cacti, Nagios e vários outros!
Copyright © 2007 - Pedro Pereira - is proudly powered by WordPress
InSense 1.0 Theme by Design Disease brought to you by HostGator Web Hosting.
Switch to our mobile site