Telnet - Telnet

Captura de tela de uma tela preta com a saída do comando de ajuda e um prompt #.
Um cliente telnet acessando o Busybox em um roteador.

Telnet é um protocolo de aplicativo usado na Internet ou rede local para fornecer um recurso de comunicação orientado a texto interativo bidirecional usando uma conexão de terminal virtual . Os dados do usuário são intercalados dentro da banda com as informações de controle Telnet em uma conexão de dados orientada a bytes de 8 bits por meio do Transmission Control Protocol (TCP).

O Telnet foi desenvolvido em 1969 começando com o RFC  15 , estendido no RFC  855 e padronizado como Internet Engineering Task Force (IETF) Internet Standard STD 8 , um dos primeiros padrões da Internet. O nome significa " tel etype net trabalho".

Historicamente, o Telnet fornecia acesso a uma interface de linha de comando em um host remoto. No entanto, devido a sérias preocupações de segurança ao usar o Telnet em uma rede aberta como a Internet, seu uso para essa finalidade diminuiu significativamente em favor do SSH .

O termo telnet também é usado para se referir ao software que implementa a parte cliente do protocolo. Os aplicativos cliente Telnet estão disponíveis para praticamente todas as plataformas de computador . Telnet também é usado como verbo . Telnet significa estabelecer uma conexão usando o protocolo Telnet, seja com um cliente de linha de comando ou com uma interface gráfica. Por exemplo, uma diretiva comum pode ser: " Para alterar sua senha, faça telnet no servidor, faça login e execute o comando passwd . " Na maioria dos casos, um usuário estaria fazendo telnet em um sistema de servidor semelhante ao Unix ou em um dispositivo de rede ( como um roteador).

História e padrões

Telnet é um protocolo cliente-servidor , baseado em um transporte orientado a conexão confiável . Normalmente, esse protocolo é usado para estabelecer uma conexão com a porta 23 do protocolo de controle de transmissão (TCP) , onde um aplicativo de servidor Telnet (telnetd) está escutando. O Telnet, no entanto, é anterior ao TCP / IP e foi originalmente executado em protocolos Network Control Program (NCP).

Embora o Telnet fosse um protocolo ad hoc sem definição oficial até 5 de março de 1973, o nome na verdade referido a Teletype Over Network Protocol como RFC 206 (NIC 7176) no Telnet torna a conexão clara:

O protocolo TELNET é baseado na noção de um teletipo virtual , empregando um conjunto de caracteres ASCII de 7 bits . A função primária de um TELNET do usuário, então, é fornecer os meios pelos quais seus usuários podem 'apertar' todas as teclas naquele teletipo virtual.

Essencialmente, ele usava um canal de 8 bits para trocar dados ASCII de 7 bits. Qualquer byte com o bit alto definido era um caractere Telnet especial. Em 5 de março de 1973, um padrão de protocolo Telnet foi definido na UCLA com a publicação de dois documentos NIC: Especificação de protocolo Telnet, NIC 15372 e Especificações de opção Telnet, NIC 15373.

Muitas extensões foram feitas para Telnet por causa de sua arquitetura de protocolo de opções negociáveis. Algumas dessas extensões foram adotadas como padrões da Internet , a IETF documenta a STD 27 a STD 32. Algumas extensões foram amplamente implementadas e outras são propostas de padrões na trilha de padrões da IETF (veja abaixo ). Telnet é melhor compreendido no contexto de um usuário com um terminal simples usando o programa Telnet local (conhecido como programa cliente) para executar uma sessão de logon em um computador remoto onde as necessidades de comunicação do usuário são tratadas por um programa de servidor Telnet.

Segurança

Quando o Telnet foi inicialmente desenvolvido em 1969, a maioria dos usuários de computadores em rede trabalhava nos departamentos de informática de instituições acadêmicas ou em grandes instalações de pesquisa privadas e governamentais. Nesse ambiente, a segurança não era uma preocupação tão grande quanto se tornou após a explosão da largura de banda na década de 1990. O aumento no número de pessoas com acesso à Internet e, por extensão, o número de pessoas tentando hackear os servidores de outras pessoas , tornou necessárias alternativas criptografadas.

Especialistas em segurança de computador , como o SANS Institute , recomendam que o uso do Telnet para logins remotos seja interrompido em todas as circunstâncias normais, pelos seguintes motivos:

  • O Telnet, por padrão, não criptografa nenhum dado enviado pela conexão (incluindo senhas) e, portanto, geralmente é possível espionar as comunicações e usar a senha posteriormente para fins maliciosos; qualquer pessoa que tenha acesso a um roteador , switch , hub ou gateway localizado na rede entre os dois hosts onde o Telnet está sendo usado pode interceptar os pacotes que passam e obter login, senha e tudo o mais digitado em um analisador de pacotes .
  • A maioria das implementações de Telnet não tem autenticação que assegure a comunicação entre os dois hosts desejados e não interceptada no meio .
  • Várias vulnerabilidades foram descobertas ao longo dos anos em daemons Telnet comumente usados .

Essas deficiências relacionadas à segurança fizeram com que o uso do protocolo Telnet caísse rapidamente, especialmente na Internet pública , em favor do protocolo Secure Shell (SSH), lançado pela primeira vez em 1995. SSH praticamente substituiu o Telnet, e o protocolo mais antigo é usado atualmente, apenas em casos raros, para acessar equipamentos legados com décadas de idade que não suportam protocolos mais modernos. O SSH fornece muitas das funcionalidades do telnet, com a adição de criptografia forte para evitar que dados confidenciais, como senhas sejam interceptados, e autenticação de chave pública , para garantir que o computador remoto seja realmente quem afirma ser. Como aconteceu com outros protocolos anteriores da Internet, as extensões do protocolo Telnet fornecem segurança TLS ( Transport Layer Security ) e autenticação SASL ( Simple Authentication and Security Layer ) que abordam as questões acima. No entanto, a maioria das implementações de Telnet não oferece suporte a essas extensões; e tem havido relativamente pouco interesse em implementá-los, pois o SSH é adequado para a maioria dos propósitos.

É de notar que existe um grande número de dispositivos industriais e científicos que têm apenas o Telnet disponível como opção de comunicação. Alguns são construídos apenas com uma porta RS-232 padrão e usam um dispositivo de hardware de servidor serial para fornecer a tradução entre os dados TCP / Telnet e os dados seriais RS-232. Nesses casos, o SSH não é uma opção, a menos que o dispositivo de interface possa ser configurado para SSH (ou seja substituído por um compatível com SSH).

O Telnet ainda é usado por amadores, especialmente entre os operadores de rádio amador . O protocolo Winlink oferece suporte a pacotes de rádio por meio de uma conexão Telnet.

Telnet 5250

A emulação de estação de trabalho IBM 5250 ou 3270 é suportada por meio de clientes telnet personalizados, TN5250 / TN3270 e sistemas IBM i . Os clientes e servidores projetados para transmitir fluxos de dados IBM 5250 sobre Telnet geralmente oferecem suporte à criptografia SSL , pois o SSH não inclui emulação 5250. No IBM i (também conhecido como OS / 400), a porta 992 é a porta padrão para telnet seguro.

Dados Telnet

Todos os octetos de dados, exceto 0xff, são transmitidos pelo Telnet no estado em que se encontram. (0xff, ou 255 em decimal, é o byte IAC (Interpret As Command) que sinaliza que o próximo byte é um comando telnet. O comando para inserir 0xff no fluxo é 0xff, então 0xff deve ser escapado duplicando-o ao enviar dados sobre o protocolo telnet.)

Os aplicativos cliente Telnet podem estabelecer uma sessão TCP interativa com uma porta diferente da porta do servidor Telnet. As conexões a essas portas não usam IAC e todos os octetos são enviados ao servidor sem interpretação. Por exemplo, um cliente telnet de linha de comando pode fazer uma solicitação HTTP a um servidor da web na porta TCP 80 da seguinte maneira:

$ telnet www.example.com 80
GET /path/to/file.html HTTP/1.1
Host: www.example.com
Connection: close

Existem outros clientes de terminal TCP, como netcat ou socat no UNIX e PuTTY no Windows, que lidam com esses requisitos. No entanto, o Telnet ainda pode ser usado na depuração de serviços de rede, como SMTP , IRC , HTTP , FTP ou POP3 , para emitir comandos para um servidor e examinar as respostas.

Outra diferença entre o Telnet e outros clientes de terminal TCP é que o Telnet não é limpo de 8 bits por padrão. O modo de 8 bits pode ser negociado, mas os octetos com o bit alto definido podem ser distorcidos até que esse modo seja solicitado, já que 7 bits é o modo padrão. O modo de 8 bits (denominado opção binária ) destina-se a transmitir dados binários, não caracteres ASCII. O padrão sugere a interpretação dos códigos 0000–0176 como ASCII, mas não oferece nenhum significado para octetos de dados com conjuntos de bits elevados . Houve uma tentativa de introduzir um suporte de codificação de caracteres alternável como o HTTP, mas nada se sabe sobre seu suporte de software real.

RFCs relacionados

Padrões da Internet

  • RFC  854 , especificação do protocolo Telnet
  • RFC  855 , Especificações de opção de Telnet
  • RFC  856 , transmissão binária Telnet
  • RFC  857 , opção de eco Telnet
  • RFC  858 , Telnet Suprimir Opção Go Ahead
  • RFC  859 , opção de status Telnet
  • RFC  860 , opção de marca de tempo Telnet
  • RFC  861 , Opções estendidas de Telnet: opção de lista

Padrões Propostos

  • RFC  885 , opção de fim de registro Telnet
  • RFC  1073 , opção de tamanho de janela Telnet
  • RFC  1079 , opção de velocidade do terminal Telnet
  • RFC  1091 , opção de tipo de terminal Telnet
  • RFC  1096 , opção de localização de exibição Telnet X
  • RFC  1123 , Requisitos para Hosts da Internet - Aplicativo e Suporte
  • RFC  1184 , Opção Telnet Linemode
  • RFC  1372 , opção de controle de fluxo remoto Telnet
  • RFC  1572 , opção de ambiente Telnet
  • RFC  2941 , opção de autenticação Telnet
  • RFC  2942 , Autenticação Telnet: Kerberos versão 5
  • RFC  2943 , autenticação TELNET usando DSA
  • RFC  2944 , Autenticação Telnet: SRP
  • RFC  2946 , opção de criptografia de dados Telnet
  • RFC  4248 , o esquema de URI do telnet

Informativo / experimental

  • RFC  1143 , O Método Q de Implementação de Negociação de Opção TELNET
  • RFC  1571 , Problemas de interoperabilidade da opção de ambiente Telnet

Outros RFCs

  • RFC  1041 , Opção de regime Telnet 3270
  • RFC  1205 , 5250 Interface Telnet
  • RFC  2217 , opção de controle de porta Telnet Com
  • RFC  4777 , aprimoramentos do iSeries Telnet da IBM

Clientes Telnet

Veja também

Referências

57,9654

links externos