2010年9月30日木曜日

Bitbucket.org の "Use your Own Domain" 機能への不安

MercurialのリポジトリをホスティングしているBitbucket.orgがつい先日、Atlassianという会社に買収されました。(参考:アトラシアン社のプレスリリース

私は恥ずかしながら今までMercurialを一度も使った事が無かったので、アカウントを作っただけで放置していたのですが、買収後にBitbucket.orgの無償版の制限のいくつかが解放されたというつぶやきをTwitterのTL上で見かけたので、久々にログインしてみたところ「Account」画面に「Use your Own Domain」という機能があるのを見つけました。


「custome hostname」のリンク先にある説明を読んだ限りでは、自分が所有するドメイン名をここで設定する事で、自分のサイトでBitbucket.orgを運営しているように見える機能のようです。
そこで試しに http://hg.msmhrt.jp/ を設定してみたのですが、DNSの情報が伝播した後に確認しても、Bitbucket.orgのTOPページと全く同じページが表示されるだけです。サンプルとして挙げられていた http://hg.basho.com/ でも同じ画面です。

「リポジトリを1つも作ってないのがマズいのだろうか?」、「 "msmhrt.bitbucket.org" リポジトリを作らないと意味がないのだろうか?」、「有償版じゃないと画面がユーザー別にならないのだろうかか?」等と散々悩んだのですが、要するに、

http://bitbucket.org/ と http://mydomain.jp/ のログイン状態は完全に別々になっていて、ログインする前はbitbucket.orgのTOPページと同じページが表示されるだけだが、自分のBitbucketアカウントを使って http://mydomain.jp/ にログインすると、http://mydomain.jp/ をUse your Own Domain機能で設定したユーザのユーザページが表示される。

という話でした。ログインしないと意味が無かったんですね……orz

これでどんな機能なのか分かったのですが、この機能、ちょっと気になる問題点が2点程ありました。

1点目の問題は、この機能はドメイン名を設定したユーザーが設定されたドメインを所有しているかどうかを確認しないので、誰でも好きなドメイン名を勝手に設定できてしまうことです。
具体的には、Bitbucket.orgユーザーである私が所有するドメイン "msmhrt.jp" に "hg." を加えたドメイン名 "hg.msmhrt.jp" を悪意のあるユーザーが先に登録する事で、本来の所有者である私が http://hg.msmhrt.jp/ を利用する事を邪魔できてしまいます。
無償版で使える機能ですから大量の捨てアカウントが使えますし、一度誰かに邪魔されてしまった場合、自分が所有するドメインである事を、運営側に証明する手間がかかります。
この辺りは、Google Appsで実際にやってるように、CNAMEで登録させた特定のホスト名をチェックする事で、ドメイン名を設定したユーザーがドメインの所有者である事を確認する仕組みを用意して自動化するべきなんじゃないかなーという気がします。

2点目の問題は、悪意のあるユーザーに独自ドメインでダミーページを作成しされると、見た目では本物と偽物の区別がつかないので、不用意にログインしたBitbucket.orgユーザーのアカウントが奪われかねないという問題です。
下手をすると、独自ドメイン化されたBitbucket.orgにログインするのは危険だからヤメとけという話になって、この機能自体が無意味になりかねません。
せっかくの機能なので何とか対策して欲しいところですが、どうすべきなんでしょうね、これ……

追記 2010/10/02 PM23:46
一応、本家のフォーラム(?)で


と質問してみたところ、


との返事あり。

0 件のコメント:

コメントを投稿