rlogin
出典: フリー百科事典『ウィキペディア(Wikipedia)』
rlogin は、UNIXでネットワーク経由で遠隔のサーバにログインするソフトウェア・ユーティリティであり、TCPポート番号 513 を使う。4.2BSDで最初に実装された。rlogin はそのソフトウェアで使われているアプリケーション層の通信プロトコル名でもあり、TCP/IPプロトコルスタックの一部である。認証されたユーザーは、あたかもそのコンピュータに物理的に存在しているかのように振舞うことができる。RFC 1258 における定義によれば、「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 自体が代替する)。
この記述は GNU Free Documentation License のもとに公開されているコンピュータ用語辞典『 Free On-line Dictionary of Computing (FOLDOC) 』に基づいています。
[編集] 外部リンク
- rlogin(1): The Untold Story (PDF)
- RFC 1282 - BSD Rlogin
- Manpage of RLOGIN JMプロジェクト
|
|
---|---|
ファイルとファイルシステム管理 | alias · cat · chattr · cd · chmod · chown · chgrp · cksum · cmp · cp · du · df · file · fsck · fuser · ln · ls · lsattr · lsof · mkdir · mount · mv · pwd · rm · rmdir · split · tee · touch |
プロセス管理 | at · chroot · crontab · exit · kill · killall · nice · pgrep · pidof · pkill · ps · pstree · sleep · time · top · wait · watch |
ユーザ管理/環境 | env · finger · id · logname · mesg · passwd · su · sudo · uname · uptime · w · wall · who · whoami · write |
テキスト処理 | awk · comm · cut · ed · ex · fmt · head · iconv · join · less · more · paste · sed · sort · tac · tail · tr · uniq · wc · xargs |
シェルプログラミング | basename · echo · expr · false · printf · test · true · unset |
印刷: lp · 通信: inetd · netstat · ping · rlogin · nc · traceroute · 検索: find · grep · strings · その他: banner · bc · cal · dd · man · size · yes |