Logotipo IDQ Web

Por Isaac Díez -- 11/10/2015

Protocolo SSH y la seguridad.


SSH (Secure SHell, en español: intérprete de órdenes seguro) es el nombre de un protocolo y del programa que lo implementa. Desarrollado en el año 1995 por el finlandés Tatu Ylönen, quien publicó su trabajo bajo una licencia de libre uso, pero ante el éxito del programa desarrollado pronto registró la marca SSH y fundó la empresa SSH Communications Security con fines comerciales, la cual permitía el uso del protocolo gratuitamente para uso doméstico y educativo.

Ante este cambio en la política de uso del protocolo, los desarrolladores del sistema operativo OpenBSD empezaron a desarrollar en el año 1999 una versión libre de este protocolo que recibió el nombre de OpenSSH.

Desde la aparición de este protocolo han sido dos las versiones que han estado activas. En la primera de ellas, se ofrecía una alternativa a las sesiones interactivas mediante el uso de herramientas como TELNET, RSH o RLOGIN entre otras, sin embargo pronto se descubrió que este protocolo tenía un punto débil que permitía a los hackers introducir datos en los flujos cifrados.

Ante este problema, en el año 1997 fue lanzada la versión 2, donde una serie de medidas solucionaban el problema descubierto en la primera versión. Además de corregir ese problema, esta segunda versión incorporaba el protocolo SFTP (Secure File Transfer Protocol – Protocolo seguro de transferencia de archivos) que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos de forma segura.

Cómo funciona el protocolo SSH

funcionamiento-ssh

El funcionamiento de este protocolo se puede resumir en los siguientes pasos :

– El cliente inicia una conexión TCP sobre el puerto 22 del servicio. Este puerto es el que utiliza por defecto el protocolo, aunque como veremos en siguientes puntos, se puede modificar.

– El cliente y el servidor se ponen de acuerdo en la versión del protocolo a utilizar, así como el algoritmo de cifrado utilizado para el intercambio de la información.

– El servidor, que tiene en su poder dos claves (una privada y una pública), manda su clave pública al cliente.

– Cuando el cliente recibe la clave enviada por el servidor, la compara con la que tiene almacenada para verificar su autenticidad. El protocolo SSH exige que el cliente la confirme la primera vez.

– Con la clave pública del servidor en su poder, el cliente genera una clave de sesión aleatoria, creando un mensaje que contiene esa clave y el algoritmo seleccionado para la encriptación de la información. Toda esa información es enviada al servidor haciendo uso de la clave pública que envió en un paso anterior de forma cifrada.

– Si todo es correcto, el cliente queda autenticado, iniciando la sesión para comunicarse con el servidor.

Características del servicio SSH

El protocolo Secure Shell , ofrece una serie de interesantes características, que lo ha llevado a convertirse en el método más utilizado por todos los usuarios que gestionan algún tipo de servidor Linux ya sea en la nube o dedicado. Algunas de estas características que podemos destacar son:

– El uso de SSH encripta la sesión de registro impidiendo que cualquier persona pueda conseguir contraseñas no encriptadas.

– Las claves de encriptación utilizadas sólo son conocidas por quien emite la información y por quien la recibe.

– Una sola alteración de la clave modifica el mensaje original, lo que permite que si por alguna razón un tercero descubre la clave no acceda al mensaje completo.

– El usuario tiene la posibilidad de verificar que sigue conectado al mismo servidor que se conectó inicialmente.

– Cuando un usuario se autentica, entre él y el servidor se crea un canal seguro cifrado por donde intercambiar la información con total garantía.

– Los datos enviados y recibidos mediante el uso de SSH se realiza por medio de algoritmos de encriptación de 128 bits, lo que hace que sea muy complicado de descifrar y de leer.

– El cliente tiene la posibilidad de utilizar de forma segura aplicaciones desde el intérprete de comandos del servidor, que permite administrar la máquina como si estuviera delante de ella.

– El uso de SSH permite convertirse en un conducto para hacer seguros aquellos protocolos que no los son mediante el uso de una técnica denominada reenvío por puerto.

Forma de Conectar por SSH

Para conectar con un ordenador por SSH lo principal y fundamental es que este tenga instalado un servidor SSH. En caso de GNU/Linux si no lo tiene para instalarlo únicamente debemos ejecutar:

Para controlar y tener acceso a ese servidor, simplemente deberéis escribir en la terminal del ordenador cliente, el siguiente comando con los datos de acceso al ordenador remoto:

Donde:

  • SSH” es el comando en sí.
  • -p” indica a SSH que utilice un puerto no privilegiado (para conexiones tras router o firewall que bloquean conexiones a puertos privilegiados (< 1024)
  • puerto” por defecto es el puerto 22. Si usáis otro, poned su valor aquí.
  • usuario” nombre de usuario en el servidor
  • “ipservidor” como su nombre indica, la IP asignada al servidor y con la que se conecta a la red.

Sabiendo esto, aún podemos simplificarlo más. Si se utiliza el puerto por defecto (22) y no estás tras un router o firewall que no permitan conexiones a puertos privilegiados, os servirá:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *