File Sharing Vulnerability Discovered in Mac OS X

AFPの実装に関する様々な問題が警告されています。

AFPをセキュアに運用することは、現時点できわめて難しい。ということになるかな。

個人的にポイントをまとめてみる。

  • PantherでAFP over(under?) SSHが動作しない(警告も何もなしにSSHなしの通信に移行する)
  • AFP over(under?) SSHが動作していないときに警告されない
  • 認証情報を送る方式がユーザに判らない(クリアテキスト/ハッシュ/ケルベロス)
    • Mac OS X10.3.2にて、クリアテキストで送出する際には「クリアテキストでパスワードを送信するときに警告する」がオンならば、パスワード欄の下に「クリアテキスト」が表示される。
      つまり、認証情報の送出方法に関して、平文かどうかは確認できるため、これは深刻な脆弱性とは言えないだろう。
  • sshは[-o StrictHostKeyChecking no]で通信するが、これはMan In The Middleアタックを招く
  • Appleからの反応はないとのことだったが、どうやらメールの宛先が違っていたらしい
    • Re: Multiple issues with Mac OS X AFP clientによると、この問題に関する報告メールはApple corporate securityへ送信されており、プロダクトセキュリティチームへ転送されていなかったとのこと。
      最後のメッセージ「February 26, 2004 0:19:35 PST」が送信され、アドバイザリが公開された[Feb 27 2004 5:24PM]すぐ後で、プロダクトセキュリティチームから返信があった様子。

教育機関や傍受可能な無線LAN環境でAFPを使うのは危険がいっぱい。てところか。

ちなみに、だが

これは書こうとして書いていなかった話。10.3が出た時点で報告しておけば良かったんだけど、私は回避できたもんで報告してなかったなぁ。日本語の窓口があれば速攻で報告するんだけどねぇ……

「クリアテキストのパスワードを許可する」のチェックボックスをオンにしないと、クリアテキストパスワードでしか認証できない、ヤワいサーバ(Mac OS 8.xxとかバカなNASバコとか)へゲスト以外でのログインができなくなる。

これはインターフェイスの誘導のミスで、クリアテキストなどの切り替えを行うダイアログボックスへ誘導するオプションボタンが、暗号化認証に対応していないサーバへ接続するときに非アクティブになるためだ。

回避方法は、暗号化認証に対応したサーバを選択して「オプション」から「クリアテキストパスワードを許可する」チェックボックスをオンにすればよい。

「クリアテキストパスワードを許可する」をうっかり間違ってオフにしたときに、もし、柔いサーバしか手元になかったら回避できないわけだ。

で、この、「クリアテキストパスワードを許可する」にチェックを入れていると、自分の認証情報がケルベロス>ハッシュ>クリアテキストと落ちていくのが判らなくなる、というのが、今回の警告にも上がっていたりする。

クリアテキストパスワードの警告表示

Mac OS X 10.3.2で「クリアテキスト・パスワードを許可する」「クリアテキストでパスワードを送信するときに警告する」の両方にチェックボックスを入れていると、クリアテキストパスワードを使うとき、パスワード欄の下に「クリアテキスト」が表示される。

また、オプションダイアログボックスでもパスワードの送出方法を確認することができます。

目安にはなります。

SSH接続のインターフェイスについて

日本語のダイアログでは「SSHを用いて安全な接続を可能にする」となっていて、英語だと「Allow Secure Connections using SSH」となっている。

つまり、SSH接続は「可能なときに行う」つもりで実装しているのだろうから、Appleがこの報告を取り合わなかったのはある意味仕様だから、ではないだろうか。

ただ、Jaguarで可能であったAFP over SSHが不能になっているのは問題だよな。

まとめ……なのか?

SFTPやSSHトンネリング、WebDAVを用意できないごくごく普通の人にとって、AFP over SSHはインターネット越しにファイル共有を行うための、すばらしいインターフェイスになる可能性を秘めている。AFP over SSHがMac流のインターフェイスで公開鍵を設定/交換でき、真っ当に動作する日を心待ちにしている。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

%d人のブロガーが「いいね」をつけました。