Rlogin

rlogin（アールログイン）は、UNIXでネットワーク経由で遠隔のサーバにログインするソフトウェア・ユーティリティであり、TCPポート番号 513 を使う。4.2BSDで最初に実装された。rlogin はそのソフトウェアで使われているアプリケーション層の通信プロトコル名でもあり、TCP/IPプロトコルスタックの一部である。認証されたユーザーは、あたかもそのコンピュータに物理的に存在しているかのように振舞うことができる。 における定義によれば、「rlogin 機能は、遠隔でエコー制御され、ローカルにフロー制御された仮想端末を提供し、出力は適正にフラッシュされる」とある。rlogin は遠隔ホスト上のデーモン rlogind と通信する。rlogin は telnet コマンドとよく似ているが、カスタマイズが不可能であり、UNIX 以外のホストに接続できない。

rlogin は企業や大学のネットワーク内で主に使われる。そのような環境では、ネットワーク上の各UNIXマシンのユーザーアカウント情報が（NISを使って）共有されている。これは、ネットワーク基盤や各マシンが信頼できるからこそ可能なことであり、rlogin プロトコルはそのような信頼の上に成り立っている。遠隔ホストが /etc/hosts.equiv ファイルに登録されていれば、あるいはユーザーがホームディレクトリに .rhosts ファイルを持っていれば、rlogin はパスワード入力なしでログインできる（ホームディレクトリは NFS で共有することが多い）。

rlogin にはいくつか非常に重大なセキュリティ問題がある。
 パスワードも含めた全ての情報が暗号化されずに転送される（容易に覗き見できる）。
 .rlogin（または .rhosts）ファイルの使用法を間違いやすい（誰でもパスワードなしでログインできるように設定してしまいやすい）。このため、企業のアドミニストレータは .rlogin ファイルの使用を禁止することが多い。
 このプロトコルは、発信元がホスト名やポート番号を偽らないことに一部依存している。したがって、悪意あるクライアントがサーバを騙してアクセスを得ることができる。すなわち、rlogin プロトコルには相手のマシンの識別を認証する手段がなく、それが信頼されたマシン上の真の rlogin クライアントであることを保証する手段がない。
 NFS によるホームディレクトリのマウントは普通に行われるが、それによって偽の .rhosts ファイルを使った攻撃が可能となる。

このような問題があるため、rlogin は（インターネットのような）信頼できないネットワークでは使われない。さらに、UNIXやLinuxもデフォルトでは rlogin が使えないようにしているものが多く、限定的な利用も減ってきている。かつては rlogin や telnet を使っていたネットワークは、SSH と rlogin 相当の slogin を使うようになっている。

BSDのオリジナルのパッケージには、rlogin と共に rcp（リモートコピー、ネットワーク経由のファイルコピー機能）と rsh（リモートシェル、ログインせずに遠隔マシン上でコマンドを実行する機能）が含まれていた。これらは hosts.equiv と .rhosts によるアクセス制御を共有しており（接続に使われるデーモンは rshd であり、rlogind とは異なる）、同様のセキュリティ問題を抱えている。SSH にはこれらを置換する機能も含まれている（rcp の代替としては scp、rsh と rlogin は SSH 自体が代替する）。

 外部リンク 
 rlogin(1): The Untold Story (PDF)
  - BSD Rlogin
 Manpage of RLOGIN JMプロジェクト
 rlogin(1) man page（SunOS リファレンスマニュアル）
 rlogin(1) man page（HP-UX リファレンス）

Category:インターネットのプロトコル
Category:インターネット標準
Category:UNIXのソフトウェア
1258