Telnet (abreviatura de "red de teletipo") [1] [2] es un protocolo de aplicación cliente/servidor que proporciona acceso a terminales virtuales de sistemas remotos en redes de área local o Internet . [3] Es un protocolo para comunicaciones bidireccionales de 8 bits. Su principal objetivo era conectar dispositivos terminales y procesos orientados a terminales. [4]
Telnet consta de dos componentes: (1) el protocolo en sí, que especifica cómo deben comunicarse dos partes y (2) la aplicación de software que proporciona el servicio. Los datos del usuario se intercalan en banda con información de control Telnet en una conexión de datos orientada a bytes de 8 bits a través del Protocolo de control de transmisión (TCP). Telnet se desarrolló como tecnología secreta en 1969 a partir del RFC 15, se amplió en el RFC 855 y se estandarizó como Internet Standard STD 8 del Internet Engineering Task Force (IETF) , uno de los primeros estándares de Internet. [1] [2] Telnet transmite toda la información, incluidos nombres de usuarios y contraseñas, en texto sin formato, por lo que no se recomienda para aplicaciones sensibles a la seguridad, como la administración remota de enrutadores. [3] [5] El uso de Telnet para este propósito ha disminuido significativamente a favor de SSH . [6] Se han propuesto algunas extensiones de Telnet que proporcionarían cifrado. [7]
Telnet consta de dos componentes: (1) el protocolo en sí y (2) el componente de servicio. El protocolo telnet es un protocolo cliente-servidor , basado en un transporte fiable orientado a la conexión . [3] Este protocolo se utiliza para establecer una conexión al puerto número 23 o 2323 del Protocolo de control de transmisión (TCP) , donde está escuchando una aplicación de servidor Telnet. [4] [8] [9] El protocolo Telnet abstrae cualquier terminal como un Terminal virtual de red (NVT). El cliente debe simular un NVT utilizando los códigos NVT al enviar mensajes al servidor.
Telnet es anterior a UDP/IP y originalmente se ejecutaba sobre el Protocolo de control de red (NCP). [10] El servicio Telnet se entiende mejor en el contexto de un usuario con un terminal simple que utiliza el programa Telnet local (conocido como programa cliente) para ejecutar una sesión de inicio de sesión en una computadora remota donde las necesidades de comunicación del usuario son manejadas por un Telnet. programa servidor.
Aunque Telnet era un protocolo ad hoc sin definición oficial hasta el 5 de marzo de 1973, [11] el nombre en realidad referido a Teletype Over Network Protocol como RFC 206 (NIC 7176) en Telnet deja clara la conexión: [12]
El protocolo TELNET se basa en la noción de teletipo virtual, que emplea un juego de caracteres ASCII de 7 bits . La función principal de un usuario TELNET, entonces, es proporcionar los medios mediante los cuales sus usuarios puedan "presionar" todas las teclas de ese teletipo virtual. [13]
Básicamente, utilizaba un canal de 8 bits para intercambiar datos ASCII de 7 bits. Cualquier byte con el bit alto establecido era un carácter Telnet especial. El 5 de marzo de 1973, se definió un estándar de protocolo Telnet en UCLA [14] con la publicación de dos documentos NIC: Especificación de protocolo Telnet, NIC 15372, y Especificaciones de opción Telnet, NIC 15373.
Se realizaron muchas extensiones para Telnet debido a su arquitectura de protocolo de opciones negociables. Algunas de estas extensiones se han adoptado como estándares de Internet , documentos del IETF STD 27 a STD 32. Algunas extensiones se han implementado ampliamente y otras son estándares propuestos en la vía de estándares del IETF (ver más abajo).
El servicio Telnet es la aplicación que proporciona servicios a través del protocolo Telnet. La mayoría de los sistemas operativos brindan un servicio que se puede instalar o habilitar para brindar servicios Telnet a los clientes. [15]
Telnet es vulnerable a ataques cibernéticos basados en la red , como el rastreo de paquetes de información confidencial, incluidas contraseñas y huellas dactilares . [5] [16] Los servicios Telnet también se pueden explotar para filtrar información sobre el servidor (como nombres de host, direcciones IP y marca) mediante el rastreo de paquetes del banner. Luego se puede buscar esta información para determinar si un servicio Telnet acepta una conexión sin autenticación . Telnet también es frecuentemente explotado por malware debido a que no está configurado correctamente. [9] De hecho, Telnet es el objetivo de los atacantes con más frecuencia que otros protocolos comunes, especialmente en comparación con UPnP , CoAP , MQTT , AMQP y XMPP [ cita requerida ] . Los dispositivos más comunes a los que se dirigen son los dispositivos de Internet de las cosas , enrutadores y módems.
El Instituto SANS recomienda que se suspenda el uso de Telnet para inicios de sesión remotos en circunstancias normales por las siguientes razones: [17]
Las extensiones de Telnet proporcionan seguridad de la capa de transporte (TLS) y autenticación de capa de seguridad y autenticación simple (SASL) que abordan las preocupaciones anteriores. [7] Sin embargo, la mayoría de las implementaciones de Telnet no admiten estas extensiones; y no abordan otras vulnerabilidades, como el análisis de la información del banner. [16]
La emulación de estaciones de trabajo IBM 5250 o 3270 se admite a través de clientes telnet personalizados, TN5250 / TN3270 y sistemas IBM i . Los clientes y servidores diseñados para pasar flujos de datos IBM 5250 a través de Telnet generalmente admiten el cifrado SSL , ya que SSH no incluye la emulación 5250. En IBM i (también conocido como OS/400), el puerto 992 es el puerto predeterminado para telnet seguro. [18]
Históricamente, Telnet proporcionaba acceso a una interfaz de línea de comandos en un host remoto. Sin embargo, debido a serios problemas de seguridad al utilizar Telnet en una red abierta como Internet, su uso para este propósito ha disminuido significativamente a favor de SSH . [19] El uso de Telnet para la gestión remota ha disminuido rápidamente, especialmente en la Internet pública , a favor del protocolo Secure Shell (SSH). [3] [20] SSH proporciona gran parte de la funcionalidad de telnet, con la adición de un cifrado seguro para evitar que se intercepten datos confidenciales, como contraseñas, y autenticación de clave pública , para garantizar que la computadora remota sea realmente quien dice ser. .
El cliente Telnet se puede utilizar para depurar servicios de red como SMTP , IRC , HTTP , FTP o POP3 , para emitir comandos a un servidor y examinar las respuestas. [15] Por ejemplo, las aplicaciones cliente Telnet pueden establecer una sesión TCP interactiva en un puerto distinto del puerto del servidor Telnet. Sin embargo, la comunicación con dichos puertos no involucra el protocolo Telnet, porque estos servicios simplemente usan una conexión TCP transparente de 8 bits, porque la mayoría de los elementos del protocolo telnet fueron diseñados en torno a la idea de acceder a una interfaz de línea de comando y ninguna de estas opciones o Este mecanismo se emplea en la mayoría de las demás conexiones de servicios de Internet.
Por ejemplo, un cliente telnet de línea de comando podría realizar una solicitud HTTP a un servidor web en el puerto TCP 80 de la siguiente manera: [21]
$ telnet www.example.com 80 GET /path/to/file.html HTTP/1.1 Host: www.example.com Conexión: cerrar
El protocolo más antiguo se utiliza actualmente sólo en casos excepcionales para acceder a equipos heredados con décadas de antigüedad que no admiten protocolos más modernos. [22] Por ejemplo, un gran número de dispositivos industriales y científicos sólo tienen Telnet disponible como opción de comunicación. Algunos están construidos sólo con un puerto RS-232 estándar y utilizan un dispositivo de hardware de servidor serie para proporcionar la traducción entre los datos TCP/Telnet y los datos serie RS-232. En tales casos, SSH no es una opción a menos que el dispositivo de interfaz se pueda configurar para SSH (o se reemplace por uno que admita SSH).
Telnet es comúnmente utilizado por los radioaficionados para proporcionar información pública. [23]
A pesar de la recomendación en contra, los investigadores de seguridad estimaron que 7.096.465 sistemas expuestos en Internet continúan usando Telnet a partir de 2021. Sin embargo, las estimaciones de este número han variado significativamente, dependiendo de la cantidad de puertos escaneados más allá del puerto TCP predeterminado 23. [9]
Los detalles técnicos de Telnet están definidos por una variedad de especificaciones, incluido RFC 854. [4]
Los comandos Telnet constan de al menos dos bytes. [4] El primer byte es el carácter de escape IAC (normalmente el byte 255) seguido del código de byte para un comando determinado:
Todos los octetos de datos excepto 0xff se transmiten a través de Telnet tal cual. (0xff, o 255 en decimal, es el byte IAC (Interpretar como comando) que indica que el siguiente byte es un comando telnet. El comando para insertar 0xff en la secuencia es 0xff, por lo que se debe escapar 0xff duplicándolo al enviar datos a través del protocolo telnet.) [4]
Telnet también tiene una variedad de opciones que deberían admitir los terminales que implementan Telnet.
Star Wars: Episodio IV – Una Nueva Esperanza de 1977 ha sido recreado como una película de arte de texto transmitida a través de Telnet. [26]
{{cite web}}
: CS1 maint: others (link)