Publicado el 2 comentarios

SSH vs Telnet

Tenemos 3 formas de acceder a la Command Line Interface para configurar y administrar los dispositivos de red, a través de los puertos de consola, a través del protocolo Telnet y a través del protocolo SSH. Telnet y SSH nos permiten conectarnos de manera remota como vemos en la imagen 1.

TelnetSSH
Imagen 1. Conexión remota a los dispositivos de red

Siempre y cuando exista conectividad de capa 3 entre el dispositivo de red y el dispositivo desde el cual queremos acceder, la conexión remota se podrá completar. El conectarnos de manera remota a los dispositivos de red, nos ayuda en las tareas administrativas. ¿Se imaginan tener que dirigirnos físicamente a cada dispositivo de red para cambiar o configurar un parámetro? sería una pesadilla… con estos protocolos podemos conectarnos a nuestros equipos de red desde nuestros escritorios, sin importarnos donde se encuentren físicamente los dispositivos de red.

Tanto Telnet como SSH son protocolos de la capa de Aplicación del modelo TCP/IP. Telnet utiliza el puerto TCP número 23, y SSH utiliza el puerto TCP número 22. Ambos son protocolos cliente/servidor como vemos en la imagen 1, el dispositivo final que utilizamos para acceder al dispositivo intermedio, es el Cliente, y el dispositivo intermedio al cual deseamos acceder, es el Servidor.

Acá viene el dilema… ¿Cuál es la diferencia entre los 2 protocolos? Ambos nos permiten conectarnos de manera remota. El problema de Telnet, radica en que los comandos y las respuestas intercambiadas entre el Servidor y el Cliente, se envían en texto plano, esto quiere decir que si una persona intercepta estos paquetes, puede leer el contenido de los mismos, obteniendo las configuraciones que realizamos y las contraseñas que introducimos al dispositivo para navegar en la CLI. Hagamos esta prueba con la topología que vemos en la imagen 2.

TelnetSSH
Imagen 2. Topología de red

Realizaremos la conexión remota a un router con la dirección IP 192.168.10.10, desde la computadora 192.168.10.1 a través del protocolo Telnet, y capturaremos los paquetes intercambiados gracias al programa Wireshark.

Configuración Telnet

Por defecto los dispositivos Cisco ya se encuentra habilitados como servidores Telnet, solo tenemos que configurar una contraseña de acceso en el modo de comando de configuración de línea virtual VTY.

Router>enable
Router#configure terminal
Router(config)#line vty 0 15
Router(config-line)#password cisco
Router(config-line)#exit

Con esa configuración ya se encuentra listo el Servidor para recibir conexiones remotas a través del protocolo Telnet. También vamos a configurar una contraseña de acceso al modo Privilegiado para intentar capturarla cuando el usuario la envíe al dispositivo intermedio.

Router>enable
Router#configure terminal
Router(config)#enable secret 123
Router(config)#exit

Recuerden ambas contraseñas, la primera es «Cisco» y nos sirve para conectarnos a través de Telnet. La segunda contraseña «123» nos permite ingresar al modo Privilegiado

Ya tenemos todo listo, solo falta que la computadora se conecte a través de Telnet y se capturen esos paquetes. La captura la vamos a realizar con el programa Wireshark ejecutándolo en la misma computadora para capturar los paquetes que salen de su interface. La ejecución del programa la vemos en la imagen 3.

Wireshark
Imagen 3. Ejecución Wireshark

Wireshark ya se encuentra capturando todos los paquetes que entran y salen por la interface de la computadora. A continuación ejecutamos el programa de emulación de terminal y nos conectamos a la dirección IP del dispositivo de red 192.168.10.10. El dispositivo de red nos solicita la contraseña de acceso Telnet que hemos configurado previamente.

User Access Verification
Password:
Router>

Ya nos encontramos dentro del dispositivo, ahora vamos a ingresar al modo Privilegiado y nos va solicitar la contraseña previamente configurada.

Router>
Router>enable
Password:
Router#

Vamos a enviar un comando extra para ver si lo podemos capturar. Enviamos el comando show running-config que se utiliza para observar la configuración del dispositivo de red.

Router#
Router#show running-config

Las contraseñas, y los comandos enviados al dispositivo de red, son datos encapsulados dentro de segmentos, los segmentos son encapsulados y se convierten en de paquetes y los paquetes son encapsulados convirtiéndose en tramas, esas tramas son capturadas por el programa Wireshark como vemos en la imagen 4.

WiresharkTelnet
Imagen 4. Captura Telnet en Wireshark

En la imagen observamos que la trama seleccionada tiene en la capa de Aplicación el protocolo Telnet, en la capa de Transporte el protocolo TCP, en la capa de Internet el protocolo IPv4 y en la capa de Acceso a la red al protocolo Ethernet. Eso quiere decir que efectivamente Wireshark se encuentra capturando las tramas que llevan los datos del protocolo Telnet desde la computadora al router. Si nosotros vamos buscando entre todas las tramas que llevan en la capa de Aplicación al protocolo Telnet, encontraremos los datos que hemos enviado.

WiresharkTelnet
Imagen 5. Captura password en Wireshark

Si analizamos la imagen 5, podemos encontrar la letra «c» dentro de los datos encapsulados en la trama seleccionada. Esta letra corresponde a la primera letra de la contraseña «cisco» que hemos configurado en el router. Si analizamos otra trama, encontramos las letras i y las letras sco como vemos en la imagen 6 y 7 respectivamente. Si unimos esas letras, nos da como resultado la contraseña «cisco».

Captura letra i
Imagen 6. Captura password en Wireshark
Captura letra sco
Imagen 7. Captura password en Wireshark

Podemos seguir el flujo de la sesión TCP, de manera que nos muestre todos los datos de la capa de Aplicación que se intercambian entre la computadora y el router. Esto lo logramos haciendo click derecho a una trama Telnet, después se van al menu «Follow» seguido del sub menú «TCP Stream» como vemos en la imagen 8.

Captura flujo TCP
Imagen 8. Verificación del flujo TCP respecto a la conexión Telnet

Fácilmente podemos evidenciar que Wireshark logró capturar todos los comandos y contraseñas intercambiadas. Capturó la contraseña de Telnet «cisco» y la contraseña «123», y también capturó los comandos «enable» y «show running-config» como vemos en la imagen 9.

Captura flujo TCP
Imagen 9. Datos capturados del protocolo Telnet

¿Qué conclusión podemos sacar con todo esto? Es fácil, utilizar Telnet ES UN RIESGO DE SEGURIDAD PARA LA RED. Debemos evitar utilizar Telnet para administrar nuestros dispositivos.

Configuración SSH

Ahora veamos qué pasa cuando utilizamos SSH. Primero tenemos que configurar el dispositivo para que pueda funcionar como Servidor SSH y recibir conexiones remotas

Router#configure terminal
Router(config)#hostname nwgeeks
nwgeeks(config)#ip domain-name nwgeeks.com
nwgeeks(config)#crypto key generate rsa
The name for the keys will be: nwgeeks.nwgeeks.com
Choose the size of the key modulus in the range of 360 to 4096 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]:1024
% Generating 1024 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 5 seconds)

nwgeeks(config)#username hola secret hola
nwgeeks(config)#line vty 0 15
nwgeeks(config-line)#transport input ssh
nwgeeks(config-line)#login local
nwgeeks(config-line)#exit
nwgeeks(config)#ip ssh version 2

Comenzamos a capturar los paquetes y nos conectamos a través de SSH utilizando el programa de emulación de terminal. Introducimos las contraseñas de acceso y de igual forma ejecutamos el comando «show running-config».

nwgeeks>enable
Password:
nwgeeks#
nwgeeks#show running-config

Realizamos el mismo ejercicio, nos vamos a Wireshark y seleccionamos una de las tramas que tenga el protocolo SSH en la capa de Aplicación. Le damos clic derecho y nos vamos a «Follow->TCP Stream».

Captura flujo TCP
Imagen 10. Selección de flujo TCP de un paquete SSH

El resultado es el que vemos en la imagen 11.

Captura flujo TCP
Imagen 11. Datos capturados del protocolo SSH

¿Qué ocurre acá?, ocurre que los comandos y todos los datos que se intercambian entre los dispositivos, se encuentran encriptados. Eso quiere decir que nosotros no podemos leer los datos encapsulados en las tramas como lo hacíamos con Telnet. Si podemos ver los contenidos de los headers de la capa de Transporte, Internet y Enlace de Datos, pero no podemos observar los datos de la capa de aplicación

Como conclusión, SIEMPRE tenemos que utilizar el protocolo SSH para la conexión remota con nuestros dispositivos.

¿Fácil no?

¿Quieres ver la simulación en video? Acá te lo dejamos


Preguntas

Ahora resuelve estos ejercicios y estarás preparado para ingresar al examen CCNA y no fallar en este tipo de preguntas.

Paso 1 de 2

50%
  • ¡Introduce tu Email para recibir los resultados!

¿Te quedaron dudas?

Escríbenos, estamos prestos para ayudarte. Recuerda que si te SUSCRIBES tienes acceso a todas nuestras clases donde hablamos mucho más sobre los protocolos SSH y Telnet. Además cuentas con nuestro soporte para que no tengas problemas en el proceso de aprendizaje.

¿QUIERES ESTAR AL TANTO DE NUESTAS PUBLICACIONES?

Deja tu Email y enterate de los nuevos cursos, ofertas, tutoriales y todo sobre NetworkGeeks.

2 comentarios en “SSH vs Telnet

  1. Buen examen

  2. Gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada.