「.svn」「CVS」ディレクトリを狙ってWebサイトの非公開ファイルをゲット 51
ストーリー by hylom
exportしようね 部門より
exportしようね 部門より
あるAnonymous Coward 曰く、
TechCrunchの記事「初歩的な管理ミスで3300もの有名サイトがソースコードを盗まれる」によると、ロシアのセキュリティグループが、「.svn」や「CVS」といったSubversionやCVSの管理ディレクトリを狙ってWebサイトの非公開ファイルを盗み出す手法により、3300あまりのWebサイトのソースコードを入手することに成功したそうだ。
原理は簡単で、Webサイトでうっかり公開されてしまっている.svnや.cvsといったディレクトリを探し、発見したらその中身のデータを吸い出すだけ。確かに言われてみればうっかり見逃しそうなミスではある。皆様もご注意くださいませ。
(追記@14:50)原文では.cvsとなっているが、コメント#1644247で指摘されているとおり、CVSの管理ディレクトリは「.cvs」ではなく「CVS」である。
原文のミスと訳注の勘違い (スコア:5, 参考になる)
Re:[del]原文のミスと[/del]訳注の勘違い (スコア:2)
Re:[del]原文のミスと[/del]訳注の勘違い (スコア:3, 参考になる)
これは多分 autoindex の設定から勘違いしたんでしょうね。
IndexIgnoreの設定は標準では .??* *~ *# HEADER* README* RCS CVS *,v *,t となっていますので、autoindexでは表示されません。
URLで指定すればアクセスできてしまうのはたしかにそうですが。
Re:[del]原文のミスと[/del]訳注の勘違い (スコア:2)
真相:
大元のロシア語のポストにはちゃんと書いてあるし、設定例まで載っている。
TechCrunchが脚色しすぎていらんことつけたしちゃった。
さらに訳注でいらんこと書いちゃった。
初歩的な翻訳ミスでオフトピに話題をさらわれる (スコア:0)
リスティングとアクセス制御の区別がついていないのもアレだけど、
自分のサーバでちょっと試せばわかることを確認していないのがなんとも。
# という構成にするのがふつうでしょう(キリッ)って・・・
Re:初歩的な翻訳ミスでオフトピに話題をさらわれる (スコア:1)
「たとえば、こんなパスになる」とか言って実在のドメイン名を書いちゃう発想も謎ですし。
これ書いた人ほんとにヒドいですね。
Re:初歩的な翻訳ミスでオフトピに話題をさらわれる (スコア:1)
あぁ・・・
ぶら下がるところが違いましたねすいません。
「まあ、‘ディレクトリリスティングを返さない’という構成にするのがふつうでしょう。」
は日本語記事を書いた人で、test.comは英語記事を書いた人でした。
# ロシア語読めないけど、元のロシア語の記事にtest.comって文字列はなく、example.comはありました。
試さないように (スコア:2, 興味深い)
鍵が掛かってなくてもドラクエもどきに家に入って箪笥を開けてはいけません。
#WEBサイト相手だと試すのがものすごく安易とはいえ、さぁ。
Re:試さないように (スコア:4, おもしろおかしい)
徹夜で探してくれるそうです。
そのうち upload されるかも。
Re:試さないように (スコア:1, 参考になる)
「勝手に箪笥を開けて中を調べているッッ!
「特に金目のものがなかったから怒ってるみたいだッッッ!!
「ああッ!やくそうのひとつでも入れておけばよかったッッッッッ!!!
Re:試さないように (スコア:1)
ツボにカマイタチでも入れとけ。
Re: (スコア:0)
うけけめけ
Re: (スコア:0)
鍵がかかってないなら良かったと思いますが。
Re: (スコア:0)
>電気通信回線を通じて、アクセス制御機能を持つ電子計算機にアクセスし、識別符号以外の情報や指令を入力し、
>アクセス制御機能を作動させて、本来制限されている機能を利用可能な状態にする行為
# 法律の穴にも突っ込んじゃだめですよ
Re:試さないように (スコア:4, 興味深い)
ただ、今回の場合は対象のファイル群がアクセス制御下にあったとは言えないため、(日本の不正アクセス禁止法で言う)不正アクセスに該当するとは言い難いと思います。
例の件では、
ので不正アクセスである、とされました。
Re:試さないように (スコア:1)
Re: (スコア:0)
それは違う。判決文にはそんなふうに書かれてない。
思い込みを広めるのはやめよう。
Re: (スコア:0)
Re: (スコア:0)
>鍵がかかってないなら良かったと思いますが。
扉の前に鍵が落ちてる場合は、鍵をかけているもんだと見なしてくれるもんなんでしょうか?
うちはパスワードかけてるし~とか思ってたら、
admin, guestがデフォルト設定のままになってることに気がついて慌てて修正しましたorz
Re: (スコア:0)
一箇所(ひとつのプロトコル)でも鍵がかかってればアウト [cnet.com]だったと思います。
Re:試さないように (スコア:1)
一つのプロトコルでアクセス制御がかかっているだけで即アウトというわけではないと思います。
リンク先のページで書かれているのは、アクセス制御機能の有無についてですよね。
アクセス制御機能の有無については、プロトコル毎に別々に考えるのではなく、計算機として持っているかを考えると。
しかし、不正アクセス禁止法で禁止されているのは、アクセス制御機能によって行われている制限を回避する事です。
実際、次のページ [cnet.com]では、
と書かれていますし、HTTPで公開されているコンテンツに関してはアクセス制限がかかっていないと考えていいと思います。
Office氏の件に関しては、#1644249 [srad.jp]でも書かれているように、HTTPで公開されていないファイルをCGIプログラムの脆弱性を利用してアクセスしたのが問題だったのでしょう。
Re: (スコア:0)
> さぁ。
促しているように見えるのは気のせいでしょうか
Re: (スコア:0)
まじっすか。
mozillaには、HTMLのlink要素にfaviconの記述が無ければ勝手に探しに行く設定があったり、昔、自作のクローラで.htaccessとかを見に行ってたコトがあるんだけど、大丈夫なのだろうか・・。
この辺も危ないかな? (スコア:2, 興味深い)
Thumbs.db Windowsのサムネイルキャッシュ
.DS_Store Macのリソースフォークの残骸
たしかこれらのファイルって、同じフォルダのファイル一覧がばっちり入ってるような
Re:この辺も危ないかな? (スコア:1, 参考になる)
今確認したけど、Thumbs.dbはWindows7で作られなくなってる様子。
desktop.iniも出来ないみたい。
再表示時にサムネイルが再生成されてる感じでもないので、きっとどっかで生成されてるんでしょう。
先生が狙ってる (スコア:2, 興味深い)
googleでとある技術について検索していて、
上位にどこかの企業のTracのwikiがヒットしたことがありました。
で、好奇心でリポジトリに対してデフォルトID/デフォルトパスワード叩いたら
ものの見事にログインできてしまって。
さすがにアレでしたので、
「外から丸見えですよ」ってメッセージ残して退散しました。
さすがに、次の日には塞がれてましたが。
// 色々とアレなのでACで
セキュリティーグループ (スコア:2)
こういういたずらをして恥じない集団を「セキュリティーグループ」と呼ぶことには違和感があります。
まあ、これを機にウェブサーバーの設定を再確認しましょうということで。
そ…それは単純にソースコードを盗まれる以上に痛い… (スコア:1)
最新のソースコードだけでなく、過去の間違いも全部盗まれるって事ですよね…
なんて場合が露呈することだ。当然「残っているソースコード中から同じパターンを探す」事をすれば、同じような間違いはまだ何個か残っているだろう。その中にはセキュリティホールになったり、裏技的な使い方ができたりするものも含まれているだろう。
というわけで、これはかなり手痛い場合がありえますね。
fjの教祖様
Re:そ…それは単純にソースコードを盗まれる以上に痛い… (スコア:3, 参考になる)
例えばGitなら.gitの中身に履歴全部詰まってますし、git clone http://www.example.com/.git とか打てばまるっとクローンできますけど。 (SubversionのhttpアクセスにはDAVが要るけど、Gitは要らない。)
Re:そ…それは単純にソースコードを盗まれる以上に痛い… (スコア:3, おもしろおかしい)
あぁ… orz
かなり根本的なところを間違えてしもた。
# ついでに、私が普段リポジトリをどういう名前のディレクトリの下に置いているのかもばれてしもた…。
fjの教祖様
Re:そ…それは単純にソースコードを盗まれる以上に痛い… (スコア:2)
過去の間違いも全部ということはなくて、baseファイルだけかと。
# Webサーバ上に.svnやCVSがあるということは、Webサーバ上で
# ファイル更新を行っているケースが結構あるということなのかなあ。
Re:そ…それは単純にソースコードを盗まれる以上に痛い… (スコア:1)
最新のマニュアルを公開するのに、exportではなく、checkoutしたのをupdateしています。
毎回全部取り出すよりは差分だけの方が環境にやさしいかなと思いまして。
.svnに関してはSubversionに移行した時に気が付いたので、サーバ管理者に連絡してアクセスできなくして貰った [osdn.jp]という事があります。
Re:そ…それは単純にソースコードを盗まれる以上に痛い… (スコア:2)
ネットワーク負荷を下げるためなら rsync [samba.org] もお勧めです。 rsync だと転送元にも転送先にも管理用ファイルを作らずに差分だけ転送できます。
Re:そ…それは単純にソースコードを盗まれる以上に痛い… (スコア:1)
含まれていないと思いますが?
まぁ、.svnなら修正前のオリジナルはあるでしょうけど。
Re:そ…それは単純にソースコードを盗まれる以上に痛い… (スコア:1)
とりあえず、このへんにぶら下げましょうか。
mod_python なんかだと、(多分、mod_perl や php でも同じ)ソースコードに Basic認証の username/password を書けたりしちゃう [python.jp] ので、ソースを読まれたら相当痛い事になります。
例えば CGI を作成するときに、Apache の設定 [apache.jp]で、ScriptAlias [apache.jp] を使うのか、Options ExecCGI [apache.jp] を使うのかを比べてみると、前者の方は原則スクリプト以外は置けないので、そこやサブディレクトリにあるソースを読む事はできないことなんじゃないかと思います。
スクリプトと同じディレクトリに画像を置きたいとか、Apache でよくある事例なんですが、セキュリティ的には、スクリプトと同じディレクトリには置けない方が安全というような考察も必要ってことです。
Re:そ…それは単純にソースコードを盗まれる以上に痛い… (スコア:1)
すみません、mod_python の例は、こちら [python.jp] の方がよかったかも。
あと、推敲してるつもりが乱文になってますが、笑って見逃してください。m(__)m
Re: (スコア:0)
Re: (スコア:0)
教祖様の場合は、経験に基づいた話が多くて
きっとそんな恥ずかしいパターンを火消ししまくったことがあるんだろうなー
......と邪推。
似たような例として… (スコア:1)
で、tarボールを忘れたままほったらかしにして怒られたことがある。
Re:似たような例として… (スコア:5, おもしろおかしい)
> tar ./www -f ../www.tar.gz
バックアップが取れていなくて怒られたのでは?
Re: (スコア:0)
普通は htdocs の上のディレクトリで
tar zcf www.tar.gz -C htdocs .
とするものじゃないの?
そもそも (スコア:0)
Re:そもそも (スコア:4, 興味深い)
ディレクトリごとそのままアップロードして.svnが乗っちゃうパターンじゃないでしょうか
ええ、今消しました・・・
Re: (スコア:0)
Re: (スコア:0)
WEBアプリの中には開発版等では取り除かず、そのまま固めて圧縮してリリースしてるものもあったり
# sourceforgeでも散見されるかも
安定版でさすがにそれはないと信じたい。
Re: (スコア:0)
$ vi index.html
$ svn commit -m "hogehoge"
$ ssh example.com
example:$ cd /var/www
example:$ svn update
とか
Re:そもそも (スコア:2, 参考になる)
Subversion のリポジトリと公開用 Web サーバが同じで ssh で入るのも面倒なので
post-commit フックを使って svn update がかかるようにしています。
即時公開されるのもどうよ、という場合に対してはテスト用に同じ仕掛けを
してあるブランチも用意しています。
手軽で便利ではありますよ。
もちろん、Apache の設定ファイルで .svn 以下は deny してあります。
ではさっそく対策を (-100: あくどい) (スコア:0)
それらの名前のファイルをサイトのルートフォルダに作り、全部とあるスクリプトへのsymリンクにします。
そのスクリプトはUAを判別し、OSに応じたささやかなマルウェアを送るように仕組み、
あたかも.svn-baseとかをダウンロードできたかのように見せてですね...
攻撃者が嬉々として開けたら、そこには...
「通報しました」との文字が!
# よいこはマネしないでください
Re:ではさっそく対策を (-100: あくどい) (スコア:2)
あなたが通報されます。
Re: (スコア:0)
ソビエトロシアでは、攻撃者があなたを通報する!