Telnet
Telnet (teletype network) es un protocolo de aplicación que se utiliza en Internet o en una red de área local para proporcionar un servicio de comunicación orientado a texto interactivo bidireccional mediante una conexión de terminal virtual. Los datos de usuario se intercalan en banda con la información de control de 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ó en 1969 a partir de RFC 15, se amplió en RFC 855 y se estandarizó como Internet Engineering Task Force (IETF) Internet Standard STD 8, uno de los primeros estándares de Internet. El nombre significa " red de teletipo ".
Históricamente, Telnet proporcionaba acceso a una interfaz de línea de comandos en un host remoto. Sin embargo, debido a serias preocupaciones de seguridad cuando se usa Telnet en una red abierta como Internet, su uso para este propósito ha disminuido significativamente a favor de SSH.
El término telnet también se usa para referirse al software que implementa la parte cliente del protocolo. Las aplicaciones de cliente Telnet están disponibles para prácticamente todas las plataformas informáticas. Telnet también se usa como verbo. Telnet significa establecer una conexión utilizando el protocolo Telnet, ya sea con un cliente de línea de comandos o con una interfaz gráfica. Por ejemplo, una directiva común podría ser: " Para cambiar su contraseña, acceda a través de telnet al servidor, inicie sesión y ejecute el comando passwd ". como un enrutador).
Historia y normas
Telnet es un protocolo cliente-servidor, basado en un transporte confiable orientado a conexión. Normalmente, este protocolo se utiliza para establecer una conexión con el puerto número 23 del Protocolo de control de transmisión (TCP), donde escucha una aplicación de servidor Telnet (telnetd). Sin embargo, Telnet es anterior a TCP/IP y originalmente se ejecutaba sobre los protocolos del Programa de control de red (NCP).
Aunque Telnet era un protocolo ad hoc sin definición oficial hasta el 5 de marzo de 1973, el nombre en realidad se refería a Teletype Over Network Protocol como RFC 206 (NIC 7176) en Telnet deja clara la conexión:
El protocolo TELNET se basa en la noción de un teletipo virtual, empleando un conjunto de caracteres ASCII de 7 bits. La función principal de un TELNET de usuario, entonces, es proporcionar los medios por los cuales sus usuarios pueden 'pulsar' todas las teclas en ese teletipo virtual.
Esencialmente, utilizó un canal de 8 bits para intercambiar datos ASCII de 7 bits. Cualquier byte con el conjunto de bits alto era un carácter Telnet especial. El 5 de marzo de 1973, se definió un estándar de protocolo Telnet en UCLA con la publicación de dos documentos NIC: Especificación del protocolo Telnet, NIC 15372 y Especificaciones de la opción Telnet, NIC 15373.
Se hicieron muchas extensiones para Telnet debido a su arquitectura de protocolo de opciones negociables. Algunas de estas extensiones han sido adoptadas como estándares de Internet, IETF documenta STD 27 a STD 32. Algunas extensiones han sido ampliamente implementadas y otras son estándares propuestos en la pista de estándares IETF (ver más abajo) Telnet se entiende mejor en el contexto de un usuario con una terminal simple que usa el programa Telnet local (conocido como el 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 programa de servidor Telnet.
Seguridad
Cuando Telnet se desarrolló inicialmente en 1969, la mayoría de los usuarios de computadoras en red se encontraban en los departamentos de computación de instituciones académicas o en grandes instalaciones de investigación privadas y gubernamentales. En este entorno, la seguridad no era tan preocupante como lo fue después de la explosión del ancho de banda de la década de 1990. El aumento en la cantidad de personas con acceso a Internet y, por extensión, la cantidad de personas que intentan piratear los servidores de otras personas, hizo que las alternativas encriptadas fueran necesarias.
Los expertos en seguridad informática, como SANS Institute, recomiendan que el uso de Telnet para inicios de sesión remotos se suspenda en todas las circunstancias normales, por las siguientes razones:
- Telnet, de forma predeterminada, no cifra ningún dato enviado a través de la conexión (incluidas las contraseñas), por lo que a menudo es factible espiar las comunicaciones y usar la contraseña más tarde con fines maliciosos; cualquiera que tenga acceso a un enrutador, conmutador, concentrador o puerta de enlace ubicado en la red entre los dos hosts donde se usa Telnet puede interceptar los paquetes que pasan y obtener el nombre de usuario, la contraseña y cualquier otra cosa que se escriba con un analizador de paquetes.
- La mayoría de las implementaciones de Telnet no tienen autenticación que asegure que la comunicación se lleve a cabo entre los dos hosts deseados y que no sea interceptada en el medio.
- Se han descubierto varias vulnerabilidades a lo largo de los años en los demonios Telnet de uso común.
Estas deficiencias relacionadas con la seguridad han hecho que el uso del protocolo Telnet disminuya rápidamente, especialmente en la Internet pública, a favor del protocolo Secure Shell (SSH), lanzado por primera vez en 1995. SSH prácticamente reemplazó a Telnet y se usa el protocolo anterior. en estos días solo en casos raros para acceder a equipos heredados de décadas de antigüedad que no admiten protocolos más modernos.SSH proporciona gran parte de la funcionalidad de telnet, con la adición de un cifrado sólido 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. Como sucedió con otros protocolos de Internet anteriores, las extensiones del protocolo Telnet brindan seguridad de seguridad de la capa de transporte (TLS) y autenticación de la capa de seguridad y autenticación simple (SASL) que abordan las preocupaciones anteriores. Sin embargo, la mayoría de las implementaciones de Telnet no admiten estas extensiones; y ha habido relativamente poco interés en implementarlos, ya que SSH es adecuado para la mayoría de los propósitos.
Es de destacar que hay una gran cantidad de dispositivos industriales y científicos que solo tienen disponible Telnet como opción de comunicación. Algunos están construidos con solo un puerto RS-232 estándar y usan un dispositivo de hardware de servidor serial para proporcionar la traducción entre los datos TCP/Telnet y los datos seriales 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 compatible con SSH).
Los aficionados todavía utilizan Telnet, especialmente entre los radioaficionados. El protocolo Winlink admite radio por paquetes a través de una conexión Telnet.
Telnet 5250
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. Bajo IBM i (también conocido como OS/400), el puerto 992 es el puerto predeterminado para telnet seguro.
Datos Telnet
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 el flujo es 0xff, por lo que 0xff debe evitarse duplicándolo al enviar datos sobre el protocolo telnet.)
Las aplicaciones cliente Telnet pueden establecer una sesión TCP interactiva en un puerto que no sea el puerto del servidor Telnet. Las conexiones a dichos puertos no utilizan IAC y todos los octetos se envían al servidor sin interpretación. Por ejemplo, un cliente Telnet de línea de comandos podría realizar una solicitud HTTP a un servidor web en el puerto TCP 80 de la siguiente manera:
$ telnet www.example.com 80 GET /ruta/al/archivo.html HTTP/1.1 Host: www.example.com Conexión: cerrar
Hay otros clientes de terminal TCP, como netcat o socat en UNIX y PuTTY en Windows, que manejan tales requisitos. Sin embargo, Telnet aún se puede usar para depurar servicios de red como SMTP, IRC, HTTP, FTP o POP3, para enviar comandos a un servidor y examinar las respuestas.
Otra diferencia entre Telnet y otros clientes de terminal TCP es que Telnet no es limpio de 8 bits por defecto. El modo de 8 bits puede negociarse, pero los octetos con el conjunto de bits alto pueden confundirse hasta que se solicite este modo, ya que el modo predeterminado es de 7 bits. El modo de 8 bits (así llamado opción binaria) está diseñado para transmitir datos binarios, no caracteres ASCII. El estándar sugiere la interpretación de los códigos 0000–0176 como ASCII, pero no ofrece ningún significado para los octetos de datos de alto conjunto de bits. Hubo un intento de introducir un soporte de codificación de caracteres conmutable como el que tiene HTTP, pero no se sabe nada sobre su soporte de software real.
RFC relacionados
Estándares de Internet
- RFC 854, especificación del protocolo Telnet
- RFC 855, especificaciones de la opción Telnet
- RFC 856, transmisión binaria Telnet
- RFC 857, opción de eco de Telnet
- RFC 858, Telnet Suppress Go Ahead Opción
- RFC 859, opción de estado de Telnet
- RFC 860, opción de marca de tiempo de Telnet
- RFC 861, Opciones extendidas de Telnet: Opción de lista
Normas propuestas
- RFC 885, opción de fin de registro de Telnet
- RFC 1073, opción de tamaño de ventana de Telnet
- RFC 1079, opción de velocidad de terminal Telnet
- RFC 1091, opción de tipo terminal Telnet
- RFC 1096, opción de ubicación de pantalla Telnet X
- RFC 1123, Requisitos para hosts de Internet - Aplicación y soporte
- RFC 1184, opción de modo de línea Telnet
- RFC 1372, opción de control de flujo remoto Telnet
- RFC 1572, opción de entorno Telnet
- RFC 2941, opción de autenticación Telnet
- RFC 2942, autenticación Telnet: Kerberos versión 5
- RFC 2943, autenticación TELNET mediante DSA
- RFC 2944, autenticación Telnet: SRP
- RFC 2946, opción de cifrado de datos Telnet
- RFC 4248, el esquema URI de telnet
Informativo/experimental
- RFC 1143, El método Q para implementar la negociación de opciones TELNET
- RFC 1571, problemas de interoperabilidad de la opción de entorno Telnet
Otras RFC
- RFC 1041, opción de régimen Telnet 3270
- Interfaz Telnet RFC 1205, 5250
- RFC 2217, opción de control de puerto Telnet Com
- RFC 4777, Mejoras Telnet iSeries de IBM
Clientes Telnet
- La línea de comando PuTTY y plink es un cliente SSH, Telnet, rlogin y TCP sin procesar gratuito y de código abierto para Windows, Linux y Unix.
- AbsoluteTelnet es un cliente telnet para Windows. También es compatible con SSH y SFTP,
- RUMBA (Emulador de Terminal)
- Navegador de modo de línea, un navegador web de línea de comandos
- Telnet de la NCSA
- TeraTérmino
- SecureCRT de Van Dyke Software
- Terminal ZOC
- Programa de terminal SyncTERM BBS compatible con las plataformas Telnet, SSHv2, RLogin, Serial, Windows, *nix y Mac OS X, X/Y/ZMODEM y varias emulaciones de terminal BBS
- Rtelnet es una versión de cliente SOCKS de Telnet, que brinda una funcionalidad similar a telnet para aquellos hosts que están detrás de un firewall y NAT.
- Inetutils incluye un cliente y un servidor telnet y está instalado de forma predeterminada en muchas distribuciones de Linux.
- Utilidad de línea de comandos telnet.exe incluida en la instalación predeterminada de muchas versiones de Microsoft Windows.
Contenido relacionado
Notificación de congestión explícita (ECN)
Protocolo ligero de acceso a directorios (LDAP)
La ley de Godwin