La opción más segura para el acceso remoto [2023]

En la era de la conectividad remota, los usuarios y administradores de sistemas deben usar herramientas para hacer que la actividad remota sea segura, segura y rápida.

Y, cuando se habla de métodos de conectividad remota, aparecen dos nombres en la parte superior: SSH y Telnet.

¿Es SSH o Telent? Este artículo explorará cuál es mejor para el acceso remoto. Descubrámoslo en nuestra comparación SSH vs. Telnet.

¿Qué es el acceso remoto?

El acceso remoto permite a los usuarios o administradores acceder a computadoras o dispositivos en redes desde cualquier ubicación a través de Internet. Al usarlo, pueden realizar diferentes operaciones, incluida la transferencia de archivos, la colaboración y la protección del tráfico de aplicaciones.

El acceso remoto es vital para que las organizaciones sobrevivan y prosperen. Además, los administradores necesitan un acceso remoto adecuado para administrar servidores, redes y aplicaciones sin visitar físicamente las ubicaciones de los servidores.

¿Qué es SSH?

Secure Shell o Secure Socket Shell (SSH) es un protocolo de red que permite que las computadoras en una red no segura se comuniquen entre sí de forma segura.

Una vez que se establece una conexión segura, el usuario o administrador puede iniciar sesión en la máquina remota y ejecutar aplicaciones de forma remota o utilizar la conexión cifrada segura de extremo a extremo para mover archivos a través de la red.

SSH se refiere al conjunto de tecnología y utilidades que implementan el protocolo SSH. Para hacer que SSH sea seguro, se implementan varias tecnologías, a partir de la autenticación de clave pública, las comunicaciones de datos encriptados y la autenticación de contraseña segura.

La empresa detrás del desarrollo de SSH es Netscape Communications Corporation. Sin embargo, un científico informático finlandés, Tatu Ylonen, creó los primeros diseños de SSH. Lo desarrolló después de encontrar un rastreador de contraseñas secretas en su red recién creada.

¿Cómo funciona SSH?

SSH reemplaza los protocolos de conectividad remota más antiguos, como Telnet, rlogin, rsh, etc. La mayoría de estos son protocolos populares pero carecen de seguridad. De hecho, SSH es tan bueno que los usuarios lo usan en lugar de confiar en los protocolos de transferencia de archivos, como la copia remota (rcp) y el Protocolo de transferencia de archivos (FTP).

SSH utiliza un modelo cliente-servidor en el que un cliente SSH se conecta al servidor SSH.

  • El cliente SSH es un programa que reside en una computadora o dispositivo que inicia el protocolo SSH. El cliente envía una solicitud al servidor SSH y espera a que acepte la solicitud. El cliente SSH utiliza el cifrado de clave pública para verificar y asegurarse de que se conecta con el servidor correcto. Este enfoque garantiza que los actores maliciosos no puedan hacerse pasar por un servidor y robar información vital del cliente.
  • El servidor SSH maneja las conexiones SSH y ejecuta el servicio. Para aceptar la solicitud entrante, el servidor SSH escucha constantemente el puerto TCP 22 (por defecto). Y una vez que recibe una solicitud, les responde. El servidor SSH también verifica y autentica al cliente mediante la autenticación de clave pública. Solo después de una autenticación exitosa, el cliente obtiene acceso al sistema host.

El cliente y el servidor toman la decisión de encriptación. Pueden participar en la desactivación de un cifrado más débil. Además, admite múltiples conexiones, lo que le permite realizar múltiples tareas (descargar, editar o ejecutar un programa) al abrir múltiples canales a través de una sola conexión SSH.

La sintaxis de SSH es la siguiente:

$ ssh [email protected]

El nombre de usuario es el nombre de usuario que utiliza para conectarse al host. El host puede ser una IP o un nombre de dominio.

Como puede ver, el flujo SSH simplificado consta de lo siguiente:

  • Cliente SSH iniciando una conexión a un servidor SSH en particular
  • El servidor SSH recibe la conexión y envía su clave pública al cliente.
  • El cliente guarda la clave pública del servidor en el archivo de su host (para conectividad futura).
  • Ahora, el servidor y el cliente negocian y establecen los parámetros de conexión.
  • SSH ofrece una sólida opción de conectividad con excelente seguridad y protección de la integridad de los datos. También sigue una estandarización IETF para una mejor implementación y ha estado intacto durante los últimos 15 años.

    Si desea sumergirse técnicamente en SSH, consulte el documento de estandarización SSH RFC 4253. Además, consulte la opinión de kirukiru.es sobre la comprensión de SSH.

    ¿Qué es Telnet?

    Telent significa Teletype Network. Es otro protocolo de red popular que ofrece conectividad remota a través de la interfaz de línea de comandos. Similar a SSH, puede usarlo para obtener control remoto y realizar acciones. Sin embargo, carece del aspecto de seguridad que ofrece SSH.

    La falta de seguridad se debe a que, cuando apareció en 1969, la mayoría de las comunicaciones se realizaban en una red local, que es segura en comparación con la Internet no segura.

    ¿Cómo funciona Telenet?

    Telenet funciona mediante la creación de una comunicación basada en texto de terminal a terminal entre el cliente y el servidor. Utiliza un modelo cliente-servidor mediante una conexión de ocho bytes.

    Una vez que se establece la conexión, puede realizar diferentes operaciones en la computadora remota, incluida la verificación de puertos abiertos, la configuración de dispositivos, la edición de archivos e incluso la ejecución de programas.

    La sintaxis de Telnet es:

    $ telnet hostname port

    Para leer más sobre Telnet, consulte Comandos de Telnet para probar y solucionar problemas de conexión.

    ¿Cuándo y dónde debería usar SSH?

    SSH se utiliza principalmente para:

    • Administración remota del sistema
    • Ejecución de comandos remotos
    • Asegurar el tráfico de la aplicación
    • Transferencias de archivos

    Los administradores también pueden configurar sesiones SSH automatizadas que manejen tareas repetitivas, como la creación de copias de seguridad de la red, la recopilación de archivos de registro, la realización periódica de mantenimiento, etc.

    SSH debe usarse para cualquier operación de conectividad remota, especialmente en una red no segura, especialmente Internet. SSH también es una excelente opción para usar en la red local, ya que es posible que nunca esté seguro de que su red local sea completamente segura.

    ¿Cuándo y dónde debería usar Telenet?

    Como Telnet no es seguro, evita usarlo para conectarse de forma remota en una red no segura. Sin embargo, eso no significa que Telnet sea inútil.

    Puede usar TTelnet para hacer lo siguiente:

    • Solucionar problemas de SSH (Sí, lo leíste bien. 😃)
    • Solucionar problemas de servidores FTP, SMTP y web.
    • Comprobar si un puerto está abierto o no
    • Acceder a redes de Internet de confianza.

    SSH frente a Telnet

    En esta sección, compararemos SSH y Telent a través de diferentes criterios. Si tiene prisa, consulte la tabla de comparación de SSH y Telnet.

    SSHTelnetSecurityAlta seguridad, donde el cliente y el servidor pueden negociar para configurar algoritmos de cifrado. No es seguro, no hay mecanismo para proteger la conexión o los paquetes de Telent. Autenticación SSH utiliza cifrado de clave pública para fines de autenticación. Telnet no tiene ningún mecanismo de autenticación. Simplemente solicita el nombre de usuario/contraseña, que se transfiere sin ninguna protección. OperationSSH usa el puerto TCP 22 por defecto. Puede cambiarlo a otro puerto para evitar que los piratas informáticos intenten acceder sin autorización. Telent, de forma predeterminada, utiliza el puerto 23 para escuchar las conexiones entrantes. Puede configurarlo para protegerlo contra el acceso no autorizado.ModeloModelo cliente-servidor.Modelo cliente-servidor.Velocidades de transferencia de datosTécnicamente más lento que Telnet, pero apenas se percibe durante el uso en el mundo real.Más rápido que SSH debido a que no hay protocolos de seguridad.Tabla: SSH vs Telnet

    Seguridad

    SSH es seguro. Mantiene su conexión segura con los protocolos de encriptación adecuados. Sin embargo, Telenet carece por completo de cualquier medida de seguridad.

    En SSH, el cliente y el servidor pueden negociar los parámetros de conexión, incluido el algoritmo de cifrado de extremo a extremo. Esto proporciona la configuración para bloquear algoritmos de cifrado débiles y hacer que la conexión SSH sea lo más segura posible.

    Una vez que se establece una conexión TCP/UDP entre el cliente y el servidor, comienza un intento de crear una conexión segura.

    Para comprender mejor cómo funciona la seguridad SSH, aprendamos sobre el contenido del paquete SSH. Un paquete SSH consta de cinco componentes, que incluyen:

    • Longitud del paquete: 4 bytes; ¿Qué tan grande será el paquete?
    • Cantidad de relleno: 1 byte; cuanto relleno tiene el paquete
    • Carga útil: los datos reales que se transfieren; el tamaño varía
    • Relleno: el relleno real, y no el TAMAÑO que mencionamos antes. Son bytes aleatorios combinados con carga útil para hacerlo más encriptado.
    • Código de autenticación del mensaje: una etiqueta para validar la autenticidad del paquete para garantizar que los datos del paquete no se modifiquen.

    Cuando SSH implementa el cifrado, solo la longitud del paquete y el código de autenticación del mensaje están disponibles para leer. El cliente y el servidor negocian los parámetros de conexión a través de un código de autenticación de mensajes. Además, los paquetes SSH se pueden comprimir utilizando diferentes algoritmos de compresión.

    Telnet carece de seguridad. Realiza autenticación no segura para conectar el cliente y el servidor. Entonces, cualquier actor malicioso puede leer el paquete de Telent y comprometer la conexión.

    Autenticación

    SSH es un protocolo seguro. Se basa en el cifrado de clave pública para autenticar al cliente y al servidor. En términos más técnicos, SSH puede usar algoritmos criptográficos asimétricos o simétricos para emparejar claves públicas y privadas.

    Telent, por otro lado, no tiene protección para la autenticación. Su proceso de autenticación solicita el nombre de cuenta y la contraseña antes de conectarse. Además, el nombre de usuario y la contraseña se envían sin ningún tipo de seguridad y, por lo tanto, cualquier persona puede acceder a ellos.

    Operación

    En cuanto a la operación, SSH se ejecuta en el puerto TCP 22 de forma predeterminada. Por otro lado, Telnet usa el puerto TCP 23. Por lo tanto, use los protocolos SSH o Telnet sin especificar el número de puerto. El comando intentará conectarse automáticamente a los puertos 22 y 23, respectivamente.

    Sin embargo, estos puertos son bien conocidos y pueden ser utilizados por piratas informáticos para realizar accesos no autorizados.

    Puede cambiar los protocolos SSH y Telnet en diferentes puertos para superar esto. Lo mejor es cerrar los puertos comunes y elegir puertos entre 1024 y 65535.

    En Telent, los comandos se envían en formato Network Virtual Terminal (NVT). El servidor Telent es capaz de recibir y comprender el formato. Como puede ver, aquí no se realiza encriptación ni autenticación.

    En cuanto a SSH, una vez realizada la conexión cliente-servidor, se genera una sesión y se identifica con la clave de sesión. Esta clave encripta el tráfico hasta que finaliza la sesión. Además, el servidor necesita verificar al cliente. Lo hace con la generación de pares de claves SSH. Una vez realizada la verificación, se crea un canal de cifrado de extremo a extremo para la transferencia segura de datos.

    Modelo

    Tanto SSH como Telnet utilizan el modelo cliente-servidor. Eso es genial, considerando que el modelo cliente-servidor brinda múltiples beneficios, que incluyen:

    • Puede escalar horizontalmente, donde el servidor puede agregar más recursos si es necesario.
    • Los clientes pueden optimizarse para las entradas de datos adecuadas
    • Divide el procesamiento de la aplicación entre el cliente y el servidor

    Velocidad y sobrecarga

    Para comprender realmente SSH y Telnet, debemos conocer su impacto en la sobrecarga. En general, SSH tiene más gastos generales que Telent, pero apenas notará ninguna diferencia en escenarios del mundo real.

    Técnicamente, Telnet y SSH vuelven a teclear después de 1 hora de conexión o 1 GB de tiempo de conexión.

    En cuanto al ancho de banda, SSH tiene más gastos generales, pero es mínimo para impactar a los usuarios. En cuanto a la CPU del cliente y del servidor, la sobrecarga es mínima, gracias a cómo funciona e implementa el estándar AES en las conexiones SSH.

    En resumen, SSH y Telnet no tienen velocidad visual ni diferencia de sobrecarga. Sin embargo, si los compara técnicamente, SSH tiene algunos gastos generales sobre Telnet.

    Casos de uso de SSH y Telnet

    En esta sección, examinaremos algunos casos de uso de SSH y Telnet.

    Casos de uso de SSH

    Los casos de uso de SSH incluyen:

    • Ejecución remota de comandos
    • Acceder de forma segura a los recursos de la máquina remota
    • Transferencia de archivos de forma remota
    • Envío de actualizaciones de software de forma remota
    • Configure la transferencia de archivos automatizada o realice transferencias manuales

    Casos de uso de Telnet

    Los casos de uso de Telnet incluyen:

    • Solucionar problemas de SSH
    • Solucionar problemas de servidores FTP, SMTP y web.
    • Comprobar si un puerto está abierto o no
    • Acceder a redes de Internet de confianza.

    Pensamientos finales: ¿Cuál es mejor?

    SSH es mejor. Es un protocolo de red moderno y actualizado que hace seguro el acceso remoto. Hasta ahora, no se han encontrado lagunas de seguridad en él. Además, es fácil de usar y configurar.

    Telnet, por otro lado, ha caído con gracia. Ahora tiene casi 50 años. Sin embargo, sigue siendo útil en los escenarios actuales y puede usarlo para solucionar problemas de SSH o verificar si un puerto está abierto. Los administradores pueden usar Telnet para solucionar la mayoría de los problemas de red.