ぼんやりと考えている人

名前: ひろしまなおき (廣島直己)
住処: シリコンバレー
職業: しがないプログラマ
家族: 愛妻一人、息子一人、娘一人
道具: ハーレー二台、ギター三本
電紙: n at h7a.org

ひろしまなおき (廣島直己)

Twitter

« October 2008
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

以前にぼんやりと考えたこと

最近のコメント

  • ひろしま (日本の少子化問題…): 天才ですね。いや、神童だったんですね、どこで間違え…
  • Hiratz (日本の少子化問題…): 幼少のみぎりに この問題にいち早く着目した私は、風呂…
  • ひろしま (東京はすべる…): ありがとう。 でも、残念ながら今回は、出張前からぜん…
  • Yone (東京はすべる…): 残念。じゃあうちに夕食でも食べに来ない? Hちゃんも…
  • ひろしま (東京はすべる…): @とおる え、そうですかねえ。ぼくはあんまり感じない…
  • C (東京はすべる…): 11月1〜3日に毎年恒例の新蕎麦会があるよ。…
  • とおる。 (東京はすべる…): はじめまして。どうでもいいですが、クロックスは東京…
  • ryu.hgia (かりーたんはぼく…): >>「エンジニアはモテるJK」 この言葉、ものすごく重み…
  • あごら (Gyazickr for iPho…): 遅くなってしまいましたが…v1.1 で Flickr の URL 問題…
  • ひろしま (かりーたんはぼく…): かりーたんが好きですか、そうですか。 じゃあ、こんど…

  • Powered by Pivot - 1.40.5: 'Dreadwind'
  • SPAM Poison
  • XMLフィード(RSS 1.0)
  • Atomフィード

12 March '2006 - 04:14 | 技術動向 簡単に復号できても平文よりマシ

社内のソース管理は、プロジェクトごとにいろいろあるようだけれど、おれが関わっているやつは CVS か Subversion を使っている。 以前は CVS しか使ってなかったのだけれど、みんな Subversion がいいって言うもんだから、だいぶ前から、おれが管理してるプロジェクトは、ぜんぶ Subversion になってる。

svn+ssh で使えば面倒なことなく使えるって教えてもらったんで、それならいいかと思って使い始めたのだけれど、最近は結局 https も使い始めた。というのも Trac を使いたいとかワガママをいうやつが出てきて、仕方なく apache2 いれて Trac を使えるようにしたのだけれど、そうなると、だったら apache2 で LDAP 認証するようにしたら、きめ細かく認証の設定ができていいじゃんってことになって、なんだか知らないが結局面倒なことになっていっているという具合。

まあ、面倒って言っても emerge して設定するだけのことだから、実はぜんぜん面倒でもなかったりしたのだけれど、ひとつ、大きな問題が残った。

それは、svn コマンドが ~/.subversion/auth/svn.simple/whatever にパスワードを平文で保存してしまうということ。

いままで svn+ssh だったからぜんぜん知らなかったのだけれど、それを知って、すごくビックリした。ていうか、ありえないだろ。

どういう経緯でそうなってるのか、とりあえず dev list archives を検索してパラパラとみてみた限り、案の定、700 になってたら問題ないだろ、どうしてもいやなら ~/.subversion/config に store-passwords = no って書けばいい、みたいな感じだった。まあ、想像通り。

ちゃんとした認証の仕組み(たとえば公開鍵・秘密鍵方式)を作らない限り、クライアントアプリは平文のパスワードが必要なので、そうなると、もしパスワードを暗号化して保存したとしてもそれを平文に復号できる必要があるわけで、パスワードなしに復号できるような仕組みはそもそも安全でもなんでもないので、そんなものに頼るよりも、ファイルシステムと root を信用する方がよっぽどマシだ、と。

まあ、理屈はそうなんだけど、それでもやっぱりパスワードが平文で保存されるのは嬉しくない。間違って人のを見てしまっても困る。どういう状況があるかは分からないけれど、たとえば /home 以下のファイルを grep して偶然誰かのパスワードに引っかかったりとかしても困る。わざわざ見ようとしなくても、見てしまう可能性はあるし、見えてしまった時にそれが平文になってるかなってないかでは雲泥の差だ。たとえそれが簡単に復号できる base64 や rot13 みたいなものであったとしても、わざわざ復号しないと意味を成さないし、信用する root なら人のパスワードをいちいち復号するようなことはしないのだから、やっぱり平文じゃない方が断然いい。

そういうわけで、なんでないのかさっぱり分からないし、本当はとっくにどっかに落ちているのかも知れないけれど、見つけられなかったし、まあ、そもそも数行のハックですむことなので「svn コマンドがパスワードを平文ではなしに base64 でキャッシュするようにするパッチ」を書いた。これで何かが安全になるわけではまったくないけれどそれでも平文よりかは100倍マシだと同意する人は使って下さい。

ちなみに、dev list では svnserve を使うときに使えるパスワードのファイルが平文ってのが困るって話もあったけれど、それは完全に別の話だし、ちゃんとした認証の仕組みを作るにはクライアントも巻き込まないといけないから、そんな面倒なことは apache2 に任せとけって話でここまできてると思うので、今後もずっと解決しないと思う。

結論として、今後も当分は svn+ssh か https のどちらかしかまともな方法はないし、https でクライアントが svn コマンドの場合はとりあえず、このパッチでお茶を濁す、と。


追記

一応、パッチを dev list に投げておいたけれど、予想通りの反応が帰ってきた。つまり、「安全じゃないのに安全だと思われるかも知れないから、この方法は受け入れないことに決めている」と。まあ、他人のポリシーなのでとうぜん彼らの自由ですし、確固たる信念なんでしょうから、特に文句はないです :-p

Trackback link:

トラックバック用URLを生成するには、JavaScriptを有効にしてください。


管理者をやっていると、ふと、瞬間的に平文は読んでしまう事があるのでこちらのお話に賛成です。
A→鋭 / B→美 / C→紙
のような置き換えにして、暗号化ではなく翻訳です。とか。だめかな。。。
やはり、ぱっと見では分からないようになってた方がいいですよねえ、精神衛生上。
それにしても、原理原則至上主義の人たちは、どうも practical な妥協が極端にヘタな気がします。原理原則を極端に無視する友人たちから、おまえ(みたいな原理原則主義者)が言うなって叱られるんですけれどね。

  
情報を記憶する

Emoticons /

酢ハムがいったいどんなハムなのかはともかく…
 

 

通知:
非公開:

注意: 使用できるタグは <b> と <i> のみです。URLやメールアドレスはそのまま記述すればリンクになります。