Características principales de SSH

Veamos las principales características del protocolo de red SSH: Privacidad, integridad, autenticación, autorización y tunelización

En la lección anterior revisamos cómo hacer una conexión SSH entre un cliente SSH y un servidor. En esta lección presentaremos en detalle las diversas características del protocolo SSH.

Hemos visto lo importante que es SSH para crear un canal de comunicación seguro entre dos partes y proteger los datos en sí.

Sin embargo, hay que decir que el protocolo tiene muchas otras características, además de la relativa a la encriptación del canal de comunicación.

Por esa razón, en los siguientes párrafos me voy a esforzar por proporcionar una descripción general de las funciones más importantes.

Descripción general de las funciones de SSH

Las principales características del protocolo SSH se pueden resumir de la siguiente manera:

  • Privacidad de los datos, gracias al uso de la encriptación.
  • Integridad de las comunicaciones, a fin de garantizar su inalterabilidad.
  • Autenticación, es decir, la prueba de identidad del remitente y el destinatario.
  • Autorización, es decir, controlar el acceso y las acciones de varias cuentas.
  • Reenvío o tunelización para cifrar otras sesiones basadas en TCP/IP.

En los siguientes párrafos veremos estas características, tratando de resaltar sus puntos fuertes.

Privacidad de datos

Cuando hablamos de privacidad nos referimos al deseo de proteger nuestros datos de una posible divulgación a terceros.

En general, como vimos ampliamente en la primera lección de esta guía e incluso ya tratamos en nuestra guía de hacking donde explicamos lo que es un “man in the middle” u hombre en el medio..

Las redes informáticas no garantizan la privacidad de forma nativa y cualquier persona con acceso al hardware de la red o a los hosts conectados a él podría olfatear los datos en tránsito.

Por ejemplo, las contraseñas podrían fácilmente ser robados mediante diferentes tipos de ataques.

El protocolo SSH se encarga de proporcionar cifrado de extremo a extremo en los datos en tránsito basado en claves que se negocian de forma segura para cada sesión específica y luego se destruyen una vez que la sesión finaliza.

Los algoritmos de cifrado que admite SSH son: AES, ARCFOUR, Blowfish, Twofish, IDEA, DES y triple-DES (3DES).

Si lo deseas, puedes saber más sobre los algoritmos y métodos de cifrado mediante una clave pública.

Integridad de los datos

Garantizar la integridad de los datos transmitidos dentro de un canal de comunicación asegura que estos lleguen sin cambios de un extremo a otro de dicho canal.

Cuando estamos intercambiando datos vía SSH estamos utilizando el protocolo TCP/IP a nivel de capa de transporte, si nos referimos claramente a Internet.

El protocolo TCP/IP ya dispone, por su propia naturaleza de un control de integridad para detectar alteración de datos por posibles problemas de red. Sin embargo, estas técnicas son ineficaces contra la manipulación intencional de datos y pueden eludirse con poca dificultad.

Por lo tanto, incluso si SSH encripta sus datos, TCP/IP no evita que un atacante inyecte “datos basura” en el canal de comunicación.

En este sentido, el protocolo SSH utiliza la verificación de integridad criptográfica al verificar que los datos transmitidos no solo hayan sido alterados, sino que realmente provengan del otro extremo de la conexión.

Para ello, se utilizan los algoritmos hash basados en MD5 y SHA-1.

Autenticación

Autenticar a alguien significa verificar su identidad. Todos los documentos de identidad cumplen este propósito, al igual que varias otras técnicas de autenticación de alta tecnología; como las pruebas de ADN, los escáneres de manos y retina o los analizadores de huellas de voz.

Cada conexión SSH tiene dos tipos de autenticación: El cliente verifica la identidad del servidor SSH (autenticación del servidor ) y el servidor verifica la identidad del usuario que solicita acceso (autenticación del usuario).

La autenticación del servidor garantiza que el servidor SSH sea auténtico al evitar que un atacante redirija su conexión de red a otra máquina (bloqueando los posibles ataques lanzados por intermediarios).

La autenticación de usuarios tradicionalmente se realiza con contraseñas, que lamentablemente resultan ser muy débiles y fácilmente extraíbles, por ejemplo, mediante ataques de fuerza bruta.

SSH admite el cifrado de la contraseña a medida que viaja por la red. Lo que es una mejora importante con respecto a otros tipos de protocolos, como Telnet o FTP, los que generalmente envían la contraseña sin cifrar.

Sin embargo, SSH ofrece otros mecanismos más avanzados y seguros que las simples contraseñas para verificar la identidad del host, como las firmas mediante claves públicas.

Además, varias implementaciones de SSH admiten también otro tipos de sistemas: Incluidos Kerberos, tokens RSA Security SecurID, contraseñas de un solo uso S/Key y módulos de autenticación conectables (PAM).

Autorización

Autorizar significa decidir todo lo que un usuario puede o no puede hacer. Es un paso posterior a la autenticación, ya que no se pueden otorgar privilegios a alguien hasta que se sepa con certeza quién es.

Los servidores SSH tienen varias formas de otorgar privilegios a los usuarios y se pueden administrar editando archivos particulares como '/etc/ssh/sshd_config en el caso de OpenSSH en linux o el fichero ~/.s.s. de cada usuario.

Tunelización

El reenvío o túnel SSH encapsula otro servicio basado en TCP, como Telnet o IMAP dentro de una sesión SSH. Se encarga de brindar todos los beneficios de seguridad de SSH (privacidad, integridad, autenticación, autorización) a otros servicios basados en TCP.

Por ejemplo, una conexión Telnet normal transmite el nombre de usuario, la contraseña y el resto de la sesión de inicio de sesión en texto claro. Al reenviar Telnet a través de SSH, todos estos datos se cifran automáticamente y se verifica su integridad para posteriormente, poder autenticarse mediante credenciales de SSH.

SSH admite tres tipos diferentes de reenvío:

  • Reenviar cualquier servicio basado en TCP.
  • Reenvío de protocolo X11 (es decir, Windows 10 y 11).
  • Permite a los clientes SSH usar claves privadas SSH desde máquinas remotas.

Conclusión final

El uso de SSH aporta un amplio abánico de posibilidades de seguridad que hasta su aparición, eran bastante más complejas de implementar.

Ofreciendo a todas las conexiones realizadas bajo el propio protocolo: Encriptación, integridad, autenticación, autorización y la posiblidad de tunelización, mediante la que otros protocolos menos seguros se pueden beneficiar de los beneficios de SSH.

Relacionado

Salir de la versión móvil