Movable Type Publishing Platform: 【重要】 第三者による不正アクセスを許す危険性の対策について
【重要】 第三者による不正アクセスを許す危険性の対策について
Movable Type(ムーバブル・タイプ)の脆弱性により、第三者による不正なアクセスが可能であることが確認されました。
ざーとまとめると、こういうことなのだそうです。
- Cookieをゲトした悪人が/mt/mt.cgiにアクセスできるとマズいかも
- Cookieをゲトした悪人が/mt/mt-xmlrpc.cgiにアクセスできると(略)
- Cookieをゲトした悪人が/mt/mt-atom.cgiに(略)
mt.cgiはいつも使ってるのでわかりますけど、後半2つのCGIは触ったことすらないので何に使うのか知りません。でもとにかく危険なんだそうです。へえ。それじゃ対策しましょうか。
■追記(05/14)
多くのブログを見た後、これは脆弱性ではないと考えるようになりました。詳細はこちらにまとめています。
mt.cgiへのパスはトラックバックPing先CGIパス(/mt/mt-tb.cgi)やコメント先CGIパス(/mt/mt-comments.cgi)などから簡単に推測することができるから(この場合だと/mt/mt.cgi)、mt.cfgを修正して格納先を別のところに変えましょう、ということなのだそうな。
6月上旬には対策済みのバージョンがリリースされるということなのですが、AdminCGIPathを設定してうんぬん~~っていうのはなんだか骨の折れる対応方法っぽいので(少なくともlib/、extlib/、mt.cfgをコピーしなきゃ動かないと思う)、さらっと対策してしまうことにします。完璧な対策からは程遠いですけど、それなりに有効なアプローチになるのではないかと。
まずmt-xmlrpc.cgiとmt-atom.cgiは使わないと思われるので、迷うことなく実行権限を剥奪。いつかきっと使う日が来るまで、さらばじゃ。おりゃ。
# ls -la mt-xmlrpc.cgi mt-atom.cgi
-rwxr--r-- 1 apache apache 738 Sep 22 2004 mt-atom.cgi*
-rwxr--r-- 1 apache apache 809 Sep 22 2004 mt-xmlrpc.cgi*
# chmod 644 mt-xmlrpc.cgi mt-atom.cgi
# ls -la mt-xmlrpc.cgi mt-atom.cgi
-rw-r--r-- 1 apache apache 738 Sep 22 2004 mt-atom.cgi
-rw-r--r-- 1 apache apache 809 Sep 22 2004 mt-xmlrpc.cgi
次にmt.cfgを開いてAdminCGIPathを追記して~ってのはやらずに、mt.cgiのファイル名を変更します。
# mv mt.cgi hogefuga.cgi
で、次からは/mt/mt.cgiの代わりに/mt/hogefuga.cgiにアクセスして管理すればいいんじゃないですかね?mt.cfgをいじってあれこれやるより、遥かに短時間で設定が済むような気がします。
まだ気になるようなら.htaccessでBASIC認証させたりもできますが、クイックポスト(Bookmarklet)が使えなくなるのであまりスキじゃありません。あとはSSL対応とかクライアント証明書でアクセス制限とか、好きなだけ強化すればいいような。
そうそう、ファイル名を変更したらクイックポスト(Bookmarklet)に登録されてるパスも変えないとエラーが出ます。忘れずに変えとくのがいいと思います、せんせー。
■追記(05/12)
これだけだと、管理画面左上の管理画面トップへのリンク先(MovableTypeのロゴ)がmt.cgiのままだ...。これは「tmpl/cms/header.tmpl」の20行目~22行目を以下のように変えれば問題なさそうです。
■before
<div id="topnav-img"><h1><a href="<TMPL_VAR NAME=MT_URL>"><img alt="Movable Type" src="<TMPL_VAR NAME=STATIC_URI>images/topnav-logo.gif" width="224" height="66" border="0" /></a></h1></div>
<TMPL_VAR NAME=MT_URL>
↓
■after
<div id="topnav-img"><h1><a href="<TMPL_VAR NAME=SCRIPT_URL>"><img alt="Movable Type" src="<TMPL_VAR NAME=STATIC_URI>images/topnav-logo.gif" width="224" height="66" border="0" /></a></h1></div>
<TMPL_VAR NAME=SCRIPT_URL>
その他、コメント通知メールやトラックバック通知メールのリンクも修正する必要あるかもしれないけど、あくまでも暫定対応しかするつもりはないのでこれで十分だと思います。
※↑の対応方法、正しくなかったみたいです。(05/14追記)
mt.cfgの333行目付近にある「AdminScript」にリネーム後のファイル名を書いとけば、わざわざテンプレートをいじらなくてもいい(MT_URLにリネーム後のファイル名が反映される)ことに気づきました。もうテンプレいじっちゃった人、ごめん。ドキュメントしっかり読んでない僕がわるうござんした。
こんな感じに修正すりゃいいです。
■before
# AdminScript mt.pl
↓
■after
AdminScript hogefuga.cgi
■追記(05/13)
下記のサイトで、セキュリティ対策に関する非常に丁寧な解説がありました。
MT hxxks - MT をインストールしたら真っ先に行うべきセキュリティ対策
検索結果のテンプレート(search_templates/default.tmpl)に記述された<$MTEntryEditLink$>にリンクがあるとのことですが、調べてみたらリネーム前のmt.cgiのままになってますし、ログインしてない人には表示されないみたいですので、とりあえず放置の方向で問題ないと思います。
※↑この認識もちょっとアレな感じです。(05/14追記)
上記修正のようにAdminScriptを設定したら、<$MTEntryEditLink$>はしっかりリネーム後のURLになっていました。ガーン。それじゃあ<$MTEntryEditLink$>はやっぱり消した方がええのんか?というと、結論としてはやっぱり放置で問題ないと思います。
そもそも<$MTEntryEditLink$>はログイン時にのみリンク表示されるものなんですから、Cookieを悪用してログインしようとしてる人にとっては検索画面でリンクが見えようが見えまいが、すでにリネーム後のmt.cgiのパスはわかっています。つまり「今さら隠しても遅いぜ」状態だと思いますので。
この記事を見た人は以下のエントリも見ています
はじめまして!MTのTBから飛んできました。
MTが薦める対策方法よりも手軽で効果的な気がして、ぜひこちらを活用させていただこうと思いました。
いい情報を教えていただきありがとうございました。
たびたびすみません。
トラックバックを打たせていただいたところエラーになってTBできませんでした。上記対策との影響かもしれないと思い、そちらでの参考になればと念のため報告させていただきますネ。
ちなみにエラー理由はfailed: HTTP error: 500 Can't connect うんぬんでした。
はじめまして。こんな記事でもお役に立てましたでしょうか?
shunさんの書き込みを見て「なぬ?そりゃあ大変だ!」と慌ててLivedoorブログを開設し、このサイトと正常にトラックバック送受信できるのか試してみました。結果は以下の通りです。
Livedoor→このサイトへのTB:OK
このサイト→LivedoorへのTB:OK
次に、shunさんのサイトへもトラックバック送信してみました。
このサイト→shunさんへのTB:NG(HTTP error: 500 Internal Server Error)
shunさん→このサイトへのTB:NG(HTTP error: 500 Can't connect)←アレ?
おお、このサイトからのトラックバックもダメみたいです。
このサイトが動いてるサーバでは複数のMTを動作させているんですが、さらにそれらのMT(Ver 2.661)とこのサイトとでトラックバックの送受信をしてみたところ、全て正常終了しました。
つことは、どうやらshunさんの方でだけ不具合が出ているみたいです。トラックバック関連のプラグインが悪さをしているのかもしれませんが、これ以上はなんともわかりませぬ。
力になれなくてごめんなさい。トホ。
ishiiさん、レス&当ブログまでお越し頂きましてありがとうございます~!
夜中なのにお手数おかけしてしまって、ごめんなさいでした=3
うちのコメントスパム対策やTBスパム対策が影響していたのかもしれないです。
でも・・・試しに今、トラックバック打たせて頂いたら、なんと無事TBできましたヽ(´ー`)ノ!
昨夜はなんだったんでしょう・・・大変お騒がせしてホントごめんなさいでした。
色々お手数おかけしました。いい情報教えていただきありがとうございました♪
初めて投稿させていただきました。
私もTBさせていただきましたが初めはエラーで帰ってきましたが今はうまくいきました。
いろいろ参考になります。
ありがとうございました。
初めまして。TBしたmdです。
とても参考になりました。
ありがとうございます。
TB・コメントしていただいた方々、ありがとうございました。僕が加賀屋で楽しくホッピーを飲んでいる間にも世の中は大きく動いていたようで、気がついたらなんか沈静化してますね。
技術的なことはほとんど書かないブログなのに、軽い気持ちで久々に書いてみたらものすごいTBやコメントを頂いてしまい、びっくりしてます。
いやー、ウェブって本当にすばらしいですね。(By 水野晴郎)