Name/Fingerプロトコルとは
Name/Fingerプロトコルは、ネットワークに接続されたコンピュータやユーザーのステータス情報を交換するための
通信プロトコルです。主に、ユーザーのログイン状況や連絡先などの情報を確認するために使用されました。これは、初期の
インターネット環境において、人々が互いにコミュニケーションを取る上で重要な役割を果たしました。
Name/Fingerプロトコルの歴史
Name/Fingerプロトコルは、1977年12月にRFC 742として定義されました。このプロトコルは、`name`および`finger`プログラムのインターフェースとしてDavid Zimmermanによって開発されました。`finger`プログラム自体は、1971年にLes Earnestによって作成されました。当時、ネットワーク上の他のユーザーに関する情報を取得することが求められており、このプログラムはそのニーズに応えるために誕生しました。
初期には、`who`プログラムを使ってログインユーザーのIDを調べ、そのリストを
指で辿る必要がありました。この手間を省くために、Earnestが開発したプログラムが`finger`と名付けられました。
Fingerユーザー情報プロトコルの詳細
Fingerプロトコルは、TCPポート番号79を使用します。ローカルホストはリモートホストのFingerポートにTCP接続を確立し、リモートホストではRUIP(Remote User Information Program)が起動されます。ローカルホストはRUIPにFinger
クエリを送信し、RUIPからの応答を待ちます。RUIPは
クエリを処理して応答を返し、接続を閉じます。
Fingerユーザー情報プロトコルは、1991年12月にRFC 1288として定義されました。
サーバー側の実装として`fingerd`(finger daemon)、クライアント側の実装として`name`と`finger`が一般的です。これらのプログラムは、システムや特定のユーザーに関するステータス情報を人間が読める形式で表示します。応答フォーマットは特に定められておらず、コマンド行1行分の内容が返されます。
Fingerプロトコルは、
UNIX、
Unix系システム、および最近のWindowsで実装されています。ユーザーのログイン状況、メールアドレス、フルネームなどの情報を提供し、さらにユーザーの
ホームディレクトリにある`.project`ファイルや`.plan`ファイルの内容も表示できます。これらのファイルには、ユーザーの現在の仕事や個人的な情報、
ユーモアなどが記述されることがありました。
セキュリティ上の懸念と衰退
初期の
インターネットでは便利だったFingerプロトコルですが、近年ではプライバシーやセキュリティ上の懸念が高まっています。Finger情報が悪用されると、ソーシャルエンジニアリング攻撃の足がかりになる可能性がありました。例えば、企業の従業員名、メールアドレス、電話番号などの情報を入手し、別の従業員になりすまして情報を聞き出す手口が考えられます。
また、`fingerd`自体にも脆弱性が存在し、クラッカーが侵入に利用する可能性もありました。実際、モリスワームは`fingerd`などの脆弱性を利用して拡散しました。これらの理由から、1990年代にはほとんどのサイトがFingerサービスを停止しました。
関連事項
モリスワーム
外部リンク
RFC 742 (1977年12月)
RFC 1288 (1991年12月)
finger(1) JM Project
finger(1) man page (SunOS リファレンスマニュアル)
finger(1) man page (HP-UX リファレンス)
History of the Finger protocol by Rajiv Shah
Microsoft TechNet Finger article
以上が、Name/Fingerプロトコルの詳細な解説です。