以下斜め読んだ内容

pseudo translation of useful posts, book reviews, remarks,etc. twitter: feeddict

Feross Aboukhadijeh「CMS使ってる人気サイト調べたらDBのパスワード丸見えなサイトが0.77%あった」

feross.org 2011.11.17のエントリ
FerossはYouTube Instantのクリエータ、Stanfordの学生

1% of CMS-Powered Sites Expose Their Database Passwords » Feross.org

  • vimemacsとかが作る一時ファイルがサーバーに消えずに残る
    • これにいくつかの条件(よくある条件)が絡むとDBのパスワードが丸見えになってしまうという話
  • 割と放置されてる問題であることが「人気サイトの0.77%」という数字に出た
  • 一応サイトの管理者と役所に連絡しといた

などなど
ググるcmsのフォーラムとかでは定期的に警鐘されるトピック、らしい

以下斜め読んだ内容
  • メジャーなCMSで発生しうる話
  • sshログインしてvimとかで作業。設定ファイルの編集とかやってる人は注意
  • エディタでファイル編集中、エディタは自動的に一時ファイル作る
    • config.php.swp、config.php~、etc.
  • 通常は自動的に削除される一時ファイルが強制終了or切断したときに消えずに残る場合あり
  • たいていのサーバはインタプリタphp/perl/etc.)にファイルを渡すかどうかは拡張子みて判別
    • 「wp-config.php」ならapachephpに渡す
      • example.com/wp-config.phpにアクセスしても、ブランクページが表示されるだけ
    • 「wp-config.php.swp」だとphpに渡さずテキストファイルとして処理する
      • example.com/wp-config.php.swpにアクセスすれば、丸見えに
  • こんな具合で、パスワードとか重要な情報が丸見えになる

設定ファイルの例

有名CMSよく使われる設定ファイル名

「setting.php」を編集してるときの一時ファイル名のパターン

  • vim,Gedit
    • 「sedding.php~」
  • emacs
    • 「#setting.php#」
  • nano
    • 「setting.php.save」
    • vimのスワップファイル
    • 「config.php.swp」
    • 「config.php.swo」

上位21万サイトくらいざっと調べたら1%くらい丸見えでした

  • スクリプトでQuarantcastの上位21万6,931サイト調べた
  • 約21.6万サイトのうち230サイトが丸見えだった
  • 21.6万サイトのうち0.11%がパスワード丸見えサイト
  • 21.6万にはcmsとそうでないサイトが両方入ってる
  • 上位サイトのうち13.8%がCMSくらいだといわれてる
  • ざっくり計算すると、パスワード丸見えサイトはcms全体のうち0.77%になる

パスワード丸見えだからといってDBにアクセスできるとは限らない

  • これは調べてない
    • 見つけたファイルはゴミ箱いれたし。
    • 230サイトのうち何%がアクセスできてしまうか、は調べてない

連絡しました

  • 全部じゃないけど、有名どころ何サイトへ
    • お礼言われた。謝礼にライセンスあげますというところも
  • 役所(国土安全保障省US-CERT)にも脆弱性の報告した
    • 「ウチが動く案件じゃない」とトホホな返事だった

対策

今回は0.77%

  • 個人的には驚いた
  • リサーチ対象を広げると、比率はもっと増えるはず
    • /blog/、/wiki/、blog.example.comとかよくあるディレクトリやサブドメインをターゲットにリサーチしたら丸見え比率はどんどんアップするはず
  • スクリプトは悪用されるかもしれないから公開しない
    • セキュリティ専門家でソースの検証をしたい人はメールくれ