POP3をいつまで使うのか2007/04/20 01:20

IPAが APOP(エーポップ)方式におけるセキュリティ上の弱点(脆弱性)の注意喚起について勧告を出している。APOPのチャレンジ・レスポンスに利用されるMD5ハッシュに脆弱性があり,サーバーに成り済ました悪意ある第三者にパスワードを盗まれる可能性がある,というものだ。IPAではPOP over SSLやウェブメールなどへの移行を勧めている。

いうまでもないが,POP3は古いプロトコルである。もともとのPOP3の規格では,パスワードは平文でネットワーク上を流れていた。そんなことをしても問題にならないほど平和な時代に作られたプロトコルであるとも言える(※1)。のちにパスワードを平文で流すなんてことが許されなくなるとRPOPやAPOPが考案され,結局APOPが主流になったのだけれど,そもそもいつまでPOP3を使うのか。

Solaris 2.6のころだと思うが,SunがIMAPサーバー機能をOSに同梱したことがある(※2)。あのころ,「なぜにIMAP?」というのが僕の疑問だった。せっかくのIMAPサーバー機能だが,まだクライアントがIMAPを十分に実装できていなかった。なにせWinbiffやAlmailが圧倒的なシェアを持っていた頃である。サーバーだけがIMAPを実装していても,まったく使えなかった。結局,qpopperを導入してお客さんに納めていた。

今思えば,Sunの選択はあながち悪いものではなかったと思う。当時,すでに複数のクライアントからメールを読みたいという要求が強くなりつつあり,そのためにはIMAPのほうが適していた。IMAPは最初からメールをサーバー側で保管するように設計されていたからだ。IMAPではクライアントはローカルにメールのコピーを持つ必要はなく,複数のクライアントからメールにアクセスするという用途にはうってつけだった。POP3もUIDLという苦し紛れの - それでも特定の用途には十分に機能した - 解決策を見いだしたが,いかんせん,サーバー側でメールをフォルダに振り分けて管理することができないのが致命的だった。POP3のUIDLは,単にサーバー側に保存されているメールの,一度も読まれたことのないコピーがどこからかを示す機能しかなかった。またPOP3は,サーバー側に保存されているメールを条件検索する機能も備えていなかった。メールを使い始めて数ヶ月もすればサーバーに相当数のメールが溜まる。効率よくメールを検索するための方法がなければ,ユーザーは結局はローカルドライブにメールを保存するしかない(※3)。

IMAPは完全ではない。それでもPOP3よりは使い勝手が良い。自宅のPCがVPNで会社のLANに乗り入れることができるなら,あるいは,会社のIMAPサーバーがDMZ上でサービスを提供しているなら,わざわざ会社のPCを自宅まで持ち運ばなくても自宅でも職場と同様にメールにアクセスできる。サーバー側にフォルダ・ツリーがあるから,POP3のときのように職場と自宅ではメールを振り分けたフォルダが違っていて困るなんてことはない。サーバーに保存されているメールを効率よく探し出すための条件検索も,IMAPではプロトコルに組み込まれている(※4)。

いずれにせよ,IMAPがこれほど広く受け入れられている状況で,POP3を使う必要があるのか?インターネット・プロバイダーのように巨大なユーザー・ベースを持つところは,IMAPにするとユーザーのクォータという問題に突き当たるのでPOP3がいまだにありがたいのかもしれない。が,しかし,Apple は .MacではPOP3ではなくIMAPでサービスを提供しているし,クォータの話をするならば,Google mailやYahoo! Mailはすでにギガバイト単位の容量をユーザーに与えている。

APOPに脆弱性が見つかったからどうというのではないが,そろそろPOP3を「終わらせ」てもいいんじゃないだろうか。

註:

※1
パスワードの保護とは観点が違うけれど,同じくらい古いSMTP/ESMTPのほうはいまだに認証なしで接続を受け付けるのが多い。企業内だとまずSMTP-AUTHにしていないのではないか。

※2
僕はSolaris 2.6までしか触っていないので,今のSolarisでもIMAPサーバー機能が同梱されているのかは知らない。

※3
現実には,IMAPのユーザーも検索や表示のパフォーマンスの問題から,ローカルコピーを多用している。

※4
もっとも,検索のパフォーマンスについては,サーバーのアルゴリズムと処理能力に大きく依存する。メールボディへの全文検索を行わないように設定できるサーバーがあるのも,条件検索がIMAPサーバーにとっては決して軽くはない操作であることを物語っている。結局,ユーザーは利便性を損ねているのかもしれない。

コメント

_ ガヂェット ― 2007/04/26 23:41

APOPって Outlook [Express] が対応してなかったら、ほとんどの人は生POP使ってたんじゃないんですかね。POP over TLS/SSL にちゃんとした証明書持って対応しているISPはほとんどないですし。

そんなわけで、ボクもSMTP/IMAPサーバーを自宅に移行中で、Postfixで SMTP Auth + SMTP over SSL を、Dovecotで IMAP over SSL を構築しおえ、あとはMXレコードを書き換えるだけです。ただ、spam対策とかウイルス対策のほうがめんどかったです。

_ えて ― 2007/04/27 02:02

他のクライアントは割と早くからAPOP対応には向かっていたので、OutlookExpressが対応しない、という選択肢はあのころなかったんじゃないかと... ちょっと前なら、IISがHTTPSに対応しない、とか、Active DirectoryがLDAPSに対応しない、なんてことが考えられないように。

ところで、最近の事情には疎いのですが、SPAM対策とかウィルス対策は、Brightmail使ったり、CramAVだっけかを使ったり?
今、フリーのBayesian Filterの実装で主流は何なのだろう?

_ ガヂェット ― 2007/04/27 09:12

すいません、一文字抜けてまったく意味不明のコメントになってました。「APOPって Outlook [Express] が対応してなかったら、」というif文ではなく、「APOPって Outlook [Express] が対応してなかったから、」です。「……なんてことが考えられないように。 」どころか、今でもそういう現実です。

参考:ITmedia: Windows Tips: Outlook ExpressでAPOPを使いたい
http://www.itmedia.co.jp/help/tips/windows/w0650.html

貧しいので無償のソフトしか使っていませんが、Amavisというメール・フィルターを経由してAntiVirとSpamAssassinを使っています。AntiVirはドイツのアンチウイルス・ソフトで、個人なら無償で使えます。どうしてもOSSじゃなきゃいや!という場合はClamAVを使うでしょうけど、ClamAVのスキャンの遅さに辟易してAntiVirに乗り換えました。そんなわけで、経路は外→smtpd→cleanup→qmgr→smtp→ amavis→spamd→amavis→antivir→amavis→ smtpd→cleanup→qmgr→local→内となっています。

_ えて ― 2007/04/27 12:41

えーーーー。

OE って、まだAPOPに対応してないの!?
それは、極悪だねぇ。

AntiVir。メモして置きます。あとは SpamAssassinかぁ...
経路、複雑だねぇ...

トラックバック