La gestión remota de dispositivos de red es una práctica extendida y necesaria en el ámbito de la administración de la infraestructura de red.
La gestión remota implica un riesgo de seguridad: la información de configuración y monitoreo de los dispositivos circula en sesiones TCP atravesando diferentes secciones de red, muchas de las cuales no están bajo nuestro control y que por lo tanto han de ser consideradas inseguras. Sin embargo son muchos los que aún utilizan para esta tarea sesiones Telnet.
Telnet es un protocolo adecuado para la gestión remota de dispositivos pero inseguro. Las sesiones Telnet viajan por la red sin cifrar, y por lo tanto quien capture el tráfico de esas sesiones accederá no solo a la información de configuración sino también a las claves que ingresemos que estarán viajando por la red en texto plano.
Es por esto necesario implementar para estas tareas SSH.
Para poder implementar SSH se requieren dos condiciones básicas:
- Que el sistema del dispositivo al que deseamos acceder soporte el servicio SSH.
Cisco IOS hoy soporta SSH en todas sus imágenes, aún las conocidas como IP Base. - Contar con un cliente SSH.
Esto también es posible ya que no sólo clientes licenciados, sino también otros de acceso libre (p.e. Putty y Tera Term) soportan SSH.
Los dispositivos Cisco IOS por defecto tienen habilitado el servicio de Telnet, no el de SSH. Por lo tanto, la utilización de SSH requiere de varios pasos de configuración:
1. Habilitar el servicio SSH.
Router(config)#hostname LAB
Router(config)#ip domain-name ccnp.com
Router(config)#crypto key generate rsa modulus 2048
- Genera una llave de cifrado RSA (en este caso de 2048 bits), que luego utilizará SSH.Para que se genere la llave de cifrado es necesario antes contar con hostname y nombre de dominio ya que son elementos utilizados para generar la llave.
- Crea un usuario de nivel 15, con su clave de acceso, que será luego utilizado por SSH.Dado que la clave está definida como secret, se guardará cifrada en el archivo de configuración.
- Elige utilizar SSH versión 2 solamente para las conexiones remotas que se establezcan.
Router(config)#line vty 0 5
Router(config-line)#transport input ssh
- Define que el único protocolo para el acceso remoto utilizando terminal virtual es SSH.
- Habilita la autenticación local utilizando las credenciales de usuario y clave que se definieron antes.
3. Restringir el acceso exclusivamente desde un conjunto de direcciones IP específicas.
Router(config)#ip access-list standard SSH
Router(config-std-nacl)#permit 192.168.100.0 0.0.0.255
Router(config-std-nacl)#deny any log
Router(config-std-nacl)#exit
- Crea una lista de acceso estándar que sólo permite el paso de tráfico generado en la subred 192.168.100.0/24.
Router(config)#line vty 0 5
Router(config)#access-class SSH in
- Aplica la ACL llamada SSH que se creó antes a los accesos por terminal virtual, limitando de esta manera a las direcciones IP de la red 192.168.100.0/24 el acceso por SSH al dispositivo.