O que é um arquivo .rhosts?

31 de janeiro de 2025

Um arquivo .rhosts é um arquivo de configuração que habilita a autenticação baseada em confiança para acesso remoto em sistemas do tipo UNIX . Historicamente, ele está associado aos "comandos r" de Berkeley ( rlogin , rsh e rcp ) e permite que um usuário ignore as solicitações de senha ao se conectar a partir de hosts remotos listados, usando nomes de usuário específicos. Embora os sistemas modernos usem principalmente SSH para acesso remoto seguro , o arquivo .rhosts ainda aparece em alguns ambientes legados .

O que é um arquivo .rhosts?

O que é o arquivo .rhosts?

O arquivo .rhosts é um arquivo de configuração de nível de usuário armazenado no diretório pessoal do usuário . Ele informa ao r-commands quais hosts remotos e respectivos nomes de usuário têm permissão para executar comandos ou fazer login sem fornecer uma senha.

Ao executar um comando rlogin ou rsh , por exemplo, o sistema local verifica o arquivo .rhosts da conta de destino para decidir se confia na solicitação do usuário remoto. Se uma linha no arquivo corresponder ao host e ao nome de usuário de conexão, a conexão prossegue sem exigir credenciais.

Aqui estão as características que definem o .rhosts :

  • É um arquivo de texto simples armazenado no diretório inicial do usuário (por exemplo, /home/nomedeusuário/.rhosts).
  • Cada linha normalmente contém um nome de host (ou Endereço IP) seguido de um nome de usuário.
  • Uma entrada indica que o usuário remoto especificado naquele host é confiável para acesso sem senha à conta local.

Para que é usado o .rhosts?

Aqui estão as funções do arquivo .rhosts :

  • Logins remotos sem senha. Usuários configurados .rhosts entradas para evitar digitar senhas ao efetuar login em um host confiável. Scripts e os processos automatizados se beneficiaram dessa abordagem porque puderam iniciar conexões repetidas sem intervenção manual.
  • Execução de comando remoto. Administradores de sistema usado frequentemente rsh para executar comandos em várias máquinas. O .rhosts entradas permitiam que hosts e usuários remotos confiáveis ​​executassem comandos sem um prompt de senha, o que simplificava tarefas em lote e a administração de todo o sistema.
  • Transferências de arquivos. O rcp utilidade, semelhante a scp, transfere arquivos entre sistemas. Quando .rhosts especifica um relacionamento de confiança, lima as transferências ocorrem sem solicitações de senha. Embora conveniente, essa prática carece de criptografia e levanta preocupações de segurança.

O que é um exemplo de arquivo .rhosts?

Aqui estão três exemplos que ilustram o formato de um arquivo .rhosts típico:

  • Entrada básica do host. trustedhost.example.com meuamigo – esta entrada concede ao usuário myfriend em trustedhost.example.com acesso sem senha à conta local.
  • Curinga para nome de usuário local. outrohost.exemplo.com + – o sinal de mais (“+”) indica que qualquer usuário em anotherhost.example.com pode acessar a conta local. Essa configuração frequentemente introduz riscos de segurança severos.
  • Exemplo de endereço IP. 192.168.1.10 nomedeusuário2 – esta entrada concede username2 no Endereço IP 192.168.1.10 a capacidade de efetuar login sem fornecer uma senha.

Alguns administradores adicionam comentários aos arquivos .rhosts para descrever por que uma determinada relação de confiança existe ou para registrar quando ela foi criada.

Como criar um arquivo .rhosts?

Um usuário ou administrador pode criar um arquivo .rhosts com qualquer editor de texto padrão . Os passos a seguir descrevem uma abordagem típica:

  1. Vá para o diretório inicial do usuário. Use um comando como: cd ~.
  2. Abra ou crie o arquivo .rhosts. Os exemplos incluem: vi .rhosts or nano .rhosts.
  3. Insira entradas de nome de host e nome de usuário. Um exemplo de linha pode ser: host.example.com nome de usuário local. Coloque cada par de host remoto e nome de usuário em sua própria linha.
  4. Salvar e sair. No vi, digite : wq para salvar e sair. No nano, pressione Ctrl+O para salvar, depois Ctrl+X para sair.
  5. Permissões de arquivo seguras. Restrinja as permissões para que somente o proprietário do arquivo possa lê-lo ou modificá-lo: chmod 600 .rhosts.

Onde o arquivo .rhosts está localizado?

O arquivo .rhosts normalmente fica localizado no nível superior do diretório pessoal do usuário. Por exemplo, uma conta chamada “alice” pode ter um arquivo .rhosts em /home/alice/.rhosts.

Em certas variantes do UNIX, os diretórios pessoais podem seguir convenções de nomenclatura ou estrutura diferentes, mas o arquivo ainda aparece no mesmo nível que outros arquivos de configuração específicos do usuário na pasta pessoal dessa conta.

Como pesquisar e remover o arquivo .rhosts?

Como .rhosts apresenta riscos de segurança, os administradores geralmente querem localizar qualquer ocorrência dele e removê-lo ou inspecioná-lo. As etapas abaixo descrevem um processo comum:

  • Pesquisar no sistema. Use um comando como: encontrar / -nome .rhosts 2>/dev/null. A parte 2>/dev/null oculta erros de permissão negada.
  • Verifique as descobertas. Confirme se cada arquivo que você encontrar realmente funciona como um .rhosts arquivo em vez de um arquivo com um nome semelhante em um contexto diferente.
  • Remover ou renomear. Se o arquivo for desnecessário, remova-o com este comando: rm /home/nomedeusuário/.rhosts. Outra opção envolve renomeá-lo para fins de arquivamento: mv /home/nomedeusuário/.rhosts /home/nomedeusuário/.rhosts.bak.

Quais são os riscos de segurança do uso de um arquivo .rhosts?

O uso de arquivos .rhosts para gerenciar relações de confiança frequentemente compromete a segurança em ambientes computacionais modernos. A seguir, os principais riscos:

  • Conexões não criptografadas. Os “r-commands” transmitem dados em texto simples. Os invasores que farejam o tráfego de rede podem interceptar informações sensíveis.
  • Falsificação de IP. A autenticação baseada em host continua vulnerável a ataques de spoofing. Um adversário que imita o endereço IP de um host confiável pode obter acesso sem uma senha.
  • Representação do usuário. Se um invasor comprometer um sistema remoto ou usuário com privilégios de confiança em .rhosts, que o invasor pode efetuar login no sistema local sem credenciais.
  • Permissões excessivamente amplas. Especificando “+” como curinga em .rhosts concede a um host remoto inteiro acesso completo. Essa abordagem se torna extremamente arriscada se esse host remoto for comprometido.

Como gerenciar o arquivo .rhosts com segurança?

Alguns sistemas legados ainda dependem de .rhosts, então os administradores devem aplicar medidas de segurança rigorosas:

  1. Use permissões restritivas. Limite as permissões de arquivo ao proprietário. Aqui está um comando que faz isso: chmod 600 .rhosts.
  2. Evite curingas. Evite usar o curinga “+”, que concede acesso excessivamente amplo. Em vez disso, especifique apenas combinações essenciais de host-usuário.
  3. Realizar auditorias de rotina. Monitore seu ambiente para .rhosts arquivos. Remova ou corrija qualquer um que não sirva a um propósito válido.
  4. Transição para protocolos seguros. Substitua r-commands por soluções baseadas em SSH sempre que possível. O SSH fornece criptografia, autenticação baseada em chave e outros recursos de segurança modernos.
  5. Implementar monitoramento e registro. Usar sistemas de detecção de intrusão e registro completo se você não puder remover .rhosts uso. Observe comportamento suspeito em conexões confiáveis.

Nikola
Kostic
Nikola é um escritor experiente e apaixonado por todas as coisas de alta tecnologia. Depois de se formar em jornalismo e ciências políticas, trabalhou nos setores de telecomunicações e serviços bancários on-line. Atualmente escrevendo para phoenixNAP, ele é especialista em analisar questões complexas sobre economia digital, comércio eletrônico e tecnologia da informação.