指悪魔と付き合う(後編)
2008.12.16
さて、前編では「今でも生きている finger」の話でしたが、後編は yafingerd という(名前のとおり) Yet Another な fingerd の話です。これ結構面白いんですね。
まあ、標準の fingerd ってプロトコルが単純な分(というかほとんど昔から進化してないです)、実装も単純です。tcpd から呼んで、指定されたユーザがいて、特に問題がなければ
- 1. アカウント名とホスト上でのホームディレクトリ、 GCOS フィールド、ログインシェルといった /etc/passwd 情報
- 2. ログインしている端末の表示
- 3. メールが届いているか
- 4. .project ファイルの内容(現在携わっているプロジェクトの名前などを1行で)
- 5. .plan ファイルの内容(現在携わっているプロジェクトについてのあれこれ)
といった情報を表示します
....あれ、これ実名が入りがちな GCOS とか、アカウント名とか、ログインしている端末とか、イマドキはセキュリティ的にまずいんちゃう!?
まあ、たとえ実害がなくてもキモチは良くないですよね、うん。で、そこらへん yafingerd は考えてあります。設定ファイルでは、
- showpgp
- PGP公開鍵($HOME/.pgpkey)を表示する
- showproject
- $HOME/.project を表示する
- showplan
- $HOME/.plan を表示する
- showname
- GCOS フィールド(実名がセットされることが多い)を表示する
という設定内容で、ユーザごとにキメ細かな制御ができるようになっており、今時無意味な使用端末(そりゃ昔は1台のコンピュータを何人かで共用して、それぞれの端末の前に「誰がいる」のが意味があったのですが...)とか、「メールが届いているか?」(セキュリティ的にまずいのは勿論、今 localなMDAで(要するに POP3 とか IMAP ではなく、SMTP で)メールを受け取ってる人なんているんだろうか?)とかはまったく出さないことにしています。ですから、前編の CMU の出力はおそらくこの yafingerd(かその系列のもの)でしょうね。
でさらに面白いのは、設定ファイル次第では、
自分の好きなプログラムを(ユーザごとに)起動でき、
しかも、
メールサーバの仮想メールアカウントみたいに、「仮想fingerアカウント」が作れる
という特徴です。前々回、
telnet を使って、何かヘンなサービスを提供する
なんて話をしましたが、よく考えてみれば、
telnet ポート(23)を監視しリクエストをハンドルするのは、別に telnetd でなくてもいい!
わけで、
telnetd じゃなくてこの yafingerd で提供するのもいいんじゃないか?
ということです。だって、telnet だとログインシェルの代わりに /etc/passwd のシェルフィールドに別なプログラムを指定する(chsh(1)とか使ってね)わけですから、結構気持ちが悪いです。また、当然
実アカウントとは無関係なアカウント名で運用できる
というのは結構大きいように思います....ね、遊び心があれば、ちょっとこれ調べてみるのも面白いかも知れませんよ!
ちなみに、yafingerd で運用すると、http での finger(79番ポート)アクセス
というのが出来ちゃいます。つまり、http の
GET http://<host>:79/<account> HTTP/1.0
のリクエストで、HTML で整形された出力が得られます。ですから、CMU の Peter Lee 学科長ならば、
http://cs.cmu.edu:79/petel
とかアクセスしてみるといかが?(けどCMUの場合、さすがにこれは邪悪と考えたのか、結果がマッチしないように機能を殺してあります....ちなみに、Firefox/Opera では 79番ポートは自分の扱うWelKnownポートじゃない!というノリで、セキュリティ制限が走って表示しないようです.....そうしたいのは判らないでもないけどね。で、Konqueror とIEはOKでした)
投稿者 : 杉浦 こずえ | 投稿日時 : 2008.12.16 12:44





