Introducción al protocolo SSH

Descubramos qué es SSH (Secure SHell) y por qué es tan importante para establecer conexiones seguras entre clientes y servidores.

En esta guía, presentaremos uno de los protocolos de red más importantes, llamado SSH (Secure SHell , shell seguro). SSH es un protocolo que asegura la conexión entre un cliente y un servidor, mediante la creación de una sesión remota encriptada, utilizando una interfaz de línea de comandos simple y conveniente.

¿Qué es SSH?

Como ya se anticipó, SSH es un protocolo de red que encuentra su lugar inmediatamente por encima de la capa de transporte de la pila de protocolos ISO/OSI. El protocolo tiene una arquitectura interna basada en tres capas, similar a la ISO/OSI pero que no tiene relación con ella, aunque de hecho cubre sus últimos tres niveles.

Si bien SSH significa Secure Shell , no es un shell adecuado en el sentido de Unix Bourne y C. No es un intérprete de comandos ni proporciona expansión de comodines, historial de comandos, etc.

SSH se ocupa principalmente de crear un canal seguro para iniciar un shell en una computadora remota, con cifrado de extremo a extremo entre los dos sistemas.

Claramente, SSH no es la solución de ciberseguridad definitiva puesto que no protege las computadoras de intentos de intrusión activa o ataques de denegación de servicio, ni elimina otros peligros como virus y otras amenazas. Lo único que hace es proporcionar un cifrado y autenticación robustos y fáciles de usar.

Procediendo paso a paso, el aspecto más importante a definir para el protocolo SSH está relacionado con el cifrado de los datos transmitidos. Cada vez que se envían datos a través de la red desde una computadora, el SSH del remitente los cifra automáticamente. Más tarde, cuando llegan al destinatario, su SSH los descifra de la misma manera.

De esta forma, el proceso de encriptación es completamente transparente para los usuarios que pueden trabajar normalmente en el shell remoto del servidor, sin tener que preocuparse de que sus comunicaciones puedan ser leídas por terceros.

Además, los algoritmos de cifrado utilizados por SSH no solo son modernos, sino que también son lo suficientemente fuertes como para ser utilizados en aplicaciones críticas de grandes empresas.

Un programa de servidor SSH, generalmente lo instala y ejecuta un administrador del sistema, acepta o rechaza las conexiones entrantes a su computadora host.

Luego, los usuarios ejecutan programas de cliente SSH, en otras computadoras, para realizar solicitudes al servidor SSH. Las solicitudes pueden ser variadas pero las más comunes se pueden resumir en: “Pido conectarme”, “Envíame un archivo” o “Ejecutar este comando”.

El flujo de trabajo que se muestra en la figura ciertamente está simplificado, pero da una idea de cómo funciona el protocolo SSH.

Descripción general del protocolo

SSH es un protocolo y no un software

. SSH, creado por Tatu Ylönen para Unix, se llamaba simplemente “SSH”. Esto fue confuso porque SSH también era el nombre del propio protocolo.

En general, sin embargo, cuando nos referimos a SSH nos referimos al protocolo, aunque también suele usarse como sinónimo para referirse a algún producto.

Dicho de otra manera, SSH es simplemente una especificación, una colección de reglas, sobre cómo debe ocurrir la comunicación para ser segura dentro de una red. Específicamente, el protocolo SSH cubre la autenticación, el cifrado y la integridad de los datos transmitidos a través de la red.

Autenticación

Determinar de forma fiable la identidad de una persona. Si intenta acceder a una cuenta en una computadora remota, SSH solicita una prueba digital de su identidad. Si superas esta prueba, podrás acceder; de lo contrario, SSH rechaza la conexión.

Cifrado

Los datos están encriptados para que solo sean comprensibles para los destinatarios. De esta forma quedan protegidos a su paso por la red.

Integridad

Garantiza que los datos que viajan por la red lleguen sin alteraciones. Si personas malintencionadas los capturaran y modificaran, SSH lo detectaría.

En resumen, SSH crea conexiones de red entre sistemas, con fuertes garantías de que las partes en ambos extremos de la conexión son genuinas. También garantiza que todos los datos que pasan a través de estas conexiones lleguen sin ser modificados ni leídos por terceros.

Historia de SSH

Este protocolo fue creado en 1995 por un investigador finlandés (un tal Tatu Ylönen) quien, inspirado por un ataque de detección de contraseñas en su universidad, decidió crear un protocolo capaz de asegurar la conexión entre dos dispositivos.

SSH1 (este término se refiere al nombre de la aplicación y no al protocolo. Nótese la falta del guión en el nombre) y el protocolo SSH-1 fueron desarrollados por Ylönen y cuando sus versiones beta comenzaron a atraer la atención de la comunidad , se dio cuenta de que su producto necesitaba ser difundido más ampliamente.

Por esta razón, en julio de 1995, la aplicación SSH1 se lanzó al público como software libre, con su código fuente, lo que permitió copiar y utilizar el programa sin costo alguno.

En 1998, SSH Communications Security Corp. (SCS) lanzó el producto de software SSH Secure Shell (SSH2), basado en el protocolo SSH-2, que es la próxima versión del desarrollado en 1995.

Sin embargo, SSH2 no pudo reemplazar por completo a SSH1, ya que carecía de algunas funciones y tenía una licencia más restrictiva que su predecesor. Por estas razones, muchos usuarios no encontraron suficiente motivación para migrar a SSH-2, aunque en la práctica era un protocolo mejor y más seguro que el anterior.

Esto cambió con la aparición de OpenSSH , una implementación gratuita del protocolo SSH-2 del proyecto OpenBSD que presentaremos en las próximas lecciones.


Conclusión final

En esta lección hemos introducido el protocolo SSH y hemos visto como este está muy extendido hoy en día debido a sus peculiares características. Se incluye en la mayoría de las distribuciones de Windows, Linux, macOS y prácticamente todos los demás sistemas operativos inspirados en Unix.

SSH resulta ser un enfoque poderoso y conveniente para proteger las comunicaciones entre sistemas dentro de una red. Utilizando tecnologías seguras de autenticación y cifrado, este protocolo admite inicios de sesión remotos, ejecución de comandos remotos, transferencias de archivos, control de acceso y reenvío de puertos TCP/IP.

Estas características se describirán más a lo largo de la guía de SSH.

Relacionado

¿Qué significa mensajería A2P?

La mensajería A2P es un término para la mensajería SMS que se envía desde una aplicación de software a un dispositivo de usuario. En otras palabras, las empresas suelen utilizar la mensajería A2P para enviar mensajes desde las bases de datos centrales para los procesos de contacto o relación con los clientes a números de teléfono individuales adjuntos a los teléfonos inteligentes de los usuarios. La ¡SEGUIR LEYENDO!

¿Qué significa AaaS? Análisis como servicio

Analytics as a service (AaaS) se refiere a la provisión de software analítico y operaciones a través de tecnologías proporcionadas por la web. Estos tipos de soluciones ofrecen a las empresas una alternativa al desarrollo de configuraciones de hardware internas solo para realizar análisis comerciales. Para poner el análisis como servicio en contexto, este tipo de servicio es parte de una gama mucho más amplia de ¡SEGUIR LEYENDO!

¿Qué significa AARP? Protocolo de resolución de direcciones de AppleTalk

El Protocolo de resolución de direcciones AppleTalk (AARP) asigna la dirección del nodo AppleTalk utilizada por el protocolo de entrega de datagramas a las direcciones de la capa de enlace de datos subyacente. AppleTalk es un conjunto de protocolos con una arquitectura abierta de igual a igual que se ejecuta en una variedad de medios de transmisión. AARP resuelve las direcciones de AppleTalk en la capa ¡SEGUIR LEYENDO!

¿Qué significa ABAC? Control de acceso basado en atributos

El control de acceso basado en atributos (ABAC) es un enfoque diferente al control de acceso en el que los derechos de acceso se otorgan mediante el uso de políticas compuestas por atributos que trabajan juntos. ABAC utiliza atributos como bloques de construcción para definir reglas de control de acceso y solicitudes de acceso. Esto se hace a través de un lenguaje estructurado llamado Lenguaje de ¡SEGUIR LEYENDO!

¿Qué significa ABR? Enrutador de borde de área

Un enrutador de borde de área (ABR) es un tipo de enrutador que se encuentra cerca del borde entre una o más áreas OSPF (Open Shortest Path First). Se utiliza para establecer una conexión entre las redes troncales y las áreas OSPF. Es miembro tanto de la red troncal principal como de las áreas específicas a las que se conecta, por lo que almacena y mantiene ¡SEGUIR LEYENDO!

¿Qué es ACL? Una lista de control de acceso en seguridad informática

La lista de control de acceso (ACL) se refiere a los permisos adjuntos a un objeto que especifican qué usuarios tienen acceso a ese objeto y las operaciones que se pueden realizar. Cada entrada en una lista de control de acceso especifica el sujeto y una operación asociada que está permitida. El sistema de archivos ACL es una estructura de datos que contiene entradas que especifican ¡SEGUIR LEYENDO!

¿Qué es ACS? Sistema de control de acceso en seguridad informática

Un sistema de control de acceso (ACS) es un tipo de seguridad que administra y controla quién o qué puede ingresar a un sistema, entorno o instalación. Identifica entidades que tienen acceso a un dispositivo o instalación controlados en función de la validez de sus credenciales. Un ACS es principalmente una operación física implementada dentro de áreas de alta seguridad, como centros de datos, institutos gubernamentales/militares ¡SEGUIR LEYENDO!

Salir de la versión móvil