Protocolo TELNET: Funcionamiento, Servicios y Consideraciones de Seguridad
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 6,36 KB
Introducción al Protocolo TELNET
TELNET es un servicio de internet que proporciona una interfaz estandarizada, permitiendo a un cliente conectarse a una máquina remotamente a través de una red de computadoras. Fue concebido principalmente para operar mediante una interfaz de línea de comandos. Para establecer la comunicación, se crea una conexión TCP entre los dos sistemas, facilitando el intercambio de caracteres.
Servicios Básicos de TELNET
El protocolo TELNET se fundamenta en tres servicios básicos esenciales para su operación:
Terminal Virtual de Red (NVT)
El Terminal Virtual de Red (NVT) se ejecuta en ambos extremos de la comunicación. Su función principal es adaptar el formato de datos local al formato de intercambio estándar de TELNET, y viceversa, para asegurar la compatibilidad entre sistemas remotos. Cuando se desea enviar texto del cliente al servidor o viceversa, el NVT del origen lo adapta al formato de intercambio, y el NVT del destino lo convierte a su formato local. Este mecanismo facilita la ausencia de negociación directa de formatos entre los extremos.
El NVT cuenta con dos componentes principales:
- Un monitor o "display": Recibe los datos de entrada que llegan a través de la conexión.
- Un teclado: Produce datos de salida que se envían por la conexión TELNET.
Las características básicas de un NVT, a menos que sean modificadas por opciones acordadas mutuamente, son:
- Los datos se representan en código ASCII de 7 bits, transmitidos en bytes de 8 bits.
- El NVT es un dispositivo semidúplex que opera en modo de búfer en línea.
- El NVT proporciona una función de eco local: Al establecer la conexión, el terminal virtual de red en el lado cliente muestra inmediatamente las pulsaciones del teclado en el display antes de enviarlas al otro extremo. Lo que se visualiza en pantalla es, por tanto, una representación local generada por el propio terminal virtual de red.
Mecanismo de Negociación de Opciones
El Mecanismo de Negociación de Opciones permite acordar mejoras o funcionalidades adicionales que los extremos pueden soportar. Este proceso se realiza mediante el intercambio de comandos específicos, que no son tecleados por el usuario, sino que constituyen información de control del protocolo. Una parte activa una opción, notificándolo a la otra mediante el envío de un comando. La parte receptora puede entonces aceptar o rechazar dicha opción. La recepción de la aceptación indica que la opción puede ser utilizada.
Transmisión de Datos
La Transmisión de Datos en TELNET implica el envío de comandos (de 2 o 3 bytes) entre cliente y servidor, los cuales se entremezclan con los caracteres de usuario sin una conexión de control separada. Para distinguir un comando de los datos de usuario, siempre se precede con un byte especial: el IAC (Interpret As Command), que tiene todos sus bits a uno. Este byte indica que el byte siguiente debe interpretarse como un comando. Opcionalmente, puede haber un tercer byte que actúa como parámetro del comando.
Características Clave de TELNET
TELNET presenta dos características fundamentales que definen su diseño y operación:
- Simetría: No existe una diferencia inherente entre el lado cliente y el servidor. Ambos extremos presentan el mismo servicio y comportamiento, sin un tratamiento diferenciado.
- Adaptación a la Heterogeneidad: El protocolo TELNET está diseñado para interoperar con la mayor cantidad de sistemas operativos y arquitecturas posible, garantizando su versatilidad en diversos entornos de red.
Seguridad en TELNET
Los Problemas de Seguridad son una preocupación significativa en el uso de TELNET, ya que no es un protocolo cifrado. Su alternativa segura y recomendada es SSH (Secure Shell). El tráfico de TELNET se transmite en texto plano, lo que permite la captura de credenciales de usuario (como nombres de usuario y contraseñas) y otra información sensible por parte de atacantes que puedan interceptar la comunicación. Aunque TELNET incluye mecanismos para la autenticación del otro extremo y advertencias sobre cambios de certificados, estos no mitigan la fundamental falta de cifrado. La definición de cómo deben enviarse las secuencias de datos y comandos en TELNET busca la interoperabilidad, pero a veces puede generar problemas relacionados con los juegos de caracteres.
Gestión de Conexiones y Delegación
Las formas de delegación en TELNET, a menudo referidas como Técnicas de Gestión de Esclavos, dependen de la naturaleza del servicio y la demanda. Se pueden identificar principalmente tres modelos:
Técnicas de Gestión de Esclavos
Esclavo por Petición
En este modelo, cada vez que llega una petición, se crea un nuevo "esclavo" (un hilo o proceso) que implementa la lógica de negocio y finaliza una vez completada la petición. Esto implica que hay tantos esclavos como peticiones concurrentes. Aunque es muy sencillo de implementar, conlleva la constante creación y destrucción de hilos, lo que puede ser ineficiente. Para clientes que realizan múltiples peticiones en una misma conexión, es más eficiente mantener un hilo que gestione la sesión completa.
Esclavo por Sesión
Este tipo de esclavo implementa la lógica de negocio y se mantiene a la escucha durante toda la sesión del cliente. Si recibe una petición de fin de sesión, el esclavo finaliza; de lo contrario, vuelve al inicio para procesar la siguiente petición dentro de la misma sesión.
Pool de Esclavos
Cuando la demanda de servicio es muy alta, la estrategia más eficiente es tener un conjunto (pool) de esclavos creados de antemano, generalmente tras la reserva del puerto. A estos esclavos pre-creados se les puede asignar una petición individual o una sesión completa. Este conjunto de esclavos por sesión permanece activo mientras el servidor esté en funcionamiento y finaliza cuando el servidor se apaga.