Resumo

  • RFC 1258, de setembro de 1991, documenta BSD rlogin como implementação comum amplamente usada, não como padrão da Internet. A abertura envia uma string vazia, os nomes de usuário do cliente e do servidor e dados de terminal.
  • O atalho sem senha dependia de uma lista local de usuários ou hosts confiáveis. O RFC adverte que comprometer um host confiável pode abrir todos os sistemas assim configurados, que o host é normalmente expresso por nome e que uma lista gravável pode receber entradas não confiáveis.

A abertura organizava uma sessão, não uma prova

Depois de TCP, rlogin enviava quatro strings terminadas por nulo. A primeira era vazia; as seguintes apresentavam o usuário do cliente, a conta desejada no servidor e o tipo e a velocidade do terminal. O byte zero devolvido pelo servidor dizia que ele recebera os campos e entrara no modo de transferência de dados.

O desenho é suficiente para iniciar uma terminal remota e para preservar parte da experiência Unix. Não é suficiente para transformar seus campos em identidade verificada. O nome do cliente é uma alegação enviada pelo cliente; o nome do servidor é uma conta solicitada; o terminal trata de apresentação; o byte de retorno é reconhecimento de fase. Mesmo uma tela que funciona não informa quem autorizou a exceção de senha nem se a base dessa exceção continua íntegra.

RFC 1258 se apresenta como descrição de uma prática existente, e não como especificação de um Internet standard. Essa modéstia documental importa. A utilidade da implementação não precisa ser negada para que se preserve a diferença entre uma sessão legível e uma autenticação independente.

O nome confiável era uma entrada administrativa

O servidor podia aceitar usuários e/ou hosts confiáveis sem pedir senha. A autorização do atalho ficava no lado que recebia. RFC 1258 observa que a especificação de host confiável normalmente é um nome de host; isso é um modo de apontar uma condição para uma regra, não uma testemunha de que a máquina presente é a pretendida.

O texto explicita duas separações. Um comprometimento do servidor de nomes da organização ou de sua rede pode permitir que um host não confiável pareça confiável. E, se o arquivo que lista logins confiáveis ficar gravável por outros usuários, adições não confiáveis podem surgir. Em ambos os casos, a troca inicial pode continuar formalmente correta. O elemento que mudou está na resolução ou na custódia da regra, não na aparência da terminal.

A pequena lista definia um alcance coletivo

Rlogin não criava apenas uma facilidade individual. Conforme o RFC, o bypass de autenticação por senha a partir de hosts confiáveis abre todos os sistemas configurados quando apenas um é comprometido. Uma entrada local pode, portanto, produzir efeito em máquinas que não foram alteradas no evento inicial.

É mais preciso olhar para o conjunto como um grafo de decisões. Cada sistema escolhe aceitar uma afirmação herdada de determinada origem. Quanto mais arestas existirem, maior o conjunto que compartilha a consequência quando uma delas deixa de ser confiável. A possibilidade citada pelo RFC de liberar somente uma workstation para os demais sistemas não prova essa workstation; apenas limita o raio da dependência.

As extensões de autenticação segura, como Kerberos, aparecem no RFC como caminho para reduzir a possibilidade de comprometimento preservando a conveniência. A referência é importante justamente porque não reescreve o começo de rlogin como se ele já tivesse oferecido essa prova.

Fontes e limites

Este texto usa RFC 1258 — BSD Rlogin. Ele sustenta a descrição histórica, os campos, a confiança de hosts e os avisos de alcance, nome, rede e arquivo. Não demonstra uso atual, estado atual de porta, incidente nomeado, identidade humana, autorização ou êxito de uma sessão.