WordPress を安全に使い続ける方法

以下は、2009年9月5日に書かれた WordPress.org 公式ブログの記事、「How to Keep WordPress Secure」を訳したものです。本文内のリンク先はすべて英語ページです。


ほころびは早めに直せば後の手間がずいぶん省けます。私は縫い物は下手ですが、ブロガーに対してもあてはまるアドバイスだと思います。今すぐにアップグレードの作業をちょっと行うことで、後から色々と修正する労力がかなり省けます。

現在、修正パッチをあてられていない古いバージョンの WordPress に対するワーム(ウィルス)が広がり始めています。このワームは、過去の多くのものと同様に、巧みにできています。ユーザー登録を行い、パーマリンクを使って評価されたコードを実行するセキュリティバグ(今年初旬に修正済み)により自身を管理者に設定します。さらに JavaScript を使って管理画面のユーザーページに自身のアカウントが表示されないようにしながら、まったく気づかれないよう静かに古い記事へ隠しスパムリンクやマルウェアを埋め込んでいきます。

この方法自体は新しいものですが、戦略は前からあるものです。このワームの失敗点は、「クリーンアップ」の段階です。自身をうまく隠すことができておらず、ブロガーはリンクが壊れていることに気づいてしまいます。これにより、詳しく調査を行うことになり、さらに拡大した被害に気づくことになります。古いワームはサイトに落書きをしたりといった子供っぽいことをやっていましたが、この新しいタイプはひっそりとしており、目に見えません。そこで、(今回のように)ワームがどこかで失敗した場合や、スパムやマルウェアの影響によりサイトが Google インデックスから外されたときにやっと気がつくことになります。

この話をしているのは皆さんを脅かすためではなく、このような事態は過去にも起こったことがあり、おそらく今後も起こるだろうというのを強調するためです。

ほころびは早めに直せば後での手間がずいぶん省けるのです。アップグレードは結構な手間の作業です。同時に、WordPress コミュニティは、ワンクリックアップグレードを通して出来るだけ簡単にアップグレードができるようにかなり努力してきました。一方、ハックされたブログを修正するのはかなり大変です。アップグレードは栄養ある食事を摂取するようなもので、ハッキングを修正するのは心臓切開手術のようなものです(労力のみでなくコストの面でも同様のことが言えます)。

最新バージョンの WordPress である2.8.4はこのワームの影響を受けません(この前のリリースも同様です)。もしアップグレードをしようと思っていてまだやっていない場合、今やるのはとても良いタイミングです。もし自分のブログをアップグレードの場合は、友達やいつも呼んでいるブログが協力を必要としているかどうかチェックしてみましょう。ほころびは早めに直すべきです。

ワームが出回り始めるといつも、誰もがセキュリティの専門家になりきって、まったくあてにならない話、ハンドルロック方式の解決法、もしくは本当の解決法の3種類のアドバイスのうちいずれかをふれ回るものです。まったくあてにならない話は明らかなので、すぐに発見できるでしょう。「WordPress のバージョンを隠せば大丈夫」?いや、ワーム制作者もそんなのはお見通しです。ワームのバージョン1.0では WordPress のバージョン数をチェックしていたかもしれませんが、バージョン2.0では単に権限をテストしているかもしれません。

2つ目の種類のアドバイスは、ハンドルロック方式の解決法です。これを説明するには、マーク・ピルグリムが(WordPress がまだ存在していなかった)7年前に書いた、スパムに関するすばらしいエッセイから引用させてもらいます。

ゲームセオリーの観点から見たこういったアプローチに関する非常に面白い点は、これらはすべてロジャック方式ではなくてハンドルロック方式の解決法であるということです。車の盗難を防ぐには、基本的に二つの方法があります。ハンドルロック(または「シールド」、盗難防止警報器など)方式、そして、ロジャック方式です。ハンドルロック方式はあなたの車を盗もうと決意している窃盗犯に対し、たいした防御を行うわけではありません。カギ穴にドリルで穴を開けるか、ハンドルを切りとってハンドルロックをスライドさせて外すのは簡単です。しかし、誰かの車を盗みたい窃盗犯に対しては、効果的な防御法となります。なぜなら、たいてい窃盗犯は急いでいるので、最も簡単なターゲットを狙うからです。ハンドルロック方式は、全員が装着していない場合にのみ有効です。もし全員が使っている場合はどの車を盗むのも同じくらい難しいため、どれを盗むかの判断は他の要因に基づくことになり、あなたの車も他の車と同じくらい脆弱ということになってしまいます。ハンドルロックは窃盗犯を阻止するのではなく、注意をそらすだけです。

ハンドルロック方式のブログセキュリティ策は簡単なもの(.htaccess ファイルなど)も非常に複雑なもの(二因子認証など)あり、実際に効果があるかもしれません。特に既知の弱点に対しては効果があります。強度が高く複雑なログインパスワードを使うなどのハンドルロック式セキュティは役に立つことがありますし、これをお勧めしない理由はとくにありません(この方式の他の解決法として、あまりポピュラーでないけれどより完璧で安全だと主張するソフトウェアにスイッチするという方法もあります。これは、BeOS のほうが Linux よりも安全な理由です…よね?)。

自動車業界では、車を修理工場にテレポートする方法をだれかが考え出したら、ハンドルロック方式はもう役立たなくなってしまうでしょう。ハンドルロックの製造業者にとって幸運なことに、まだ実際にそういうことは起こっていません。しかしオンラインやソフトウェアの世界は、同様のことが毎日のように起こっています。本当の解決法は一つしかありません。今日、そして今後あなたがブログを安全に続けられる約束できる方法はただひとつ、アップグレードを行うことです。

WordPress は、何百人もの人が毎日コードを読み、検査を行い、更新し続けているコミュニティです。また、私たちは皆さんのブログを安全に保つために、前のリリースから数週間という間隔であったとしてもアップデートのリリースを行っています。そうすることで我々が格好悪く見えることもあっても、更新を行うことで皆さんのブログを悪人の手から守れるからです。

私には透視能力はありませんし、将来スパマー、ハッカー、クラッカー、詐欺師がどんな計画を練ってブログに危害を加えるのかを予測することは出来ません。でもWordPress が存在する限り、私たちは全力を持ってこのソフトの安全性を確保していきたいと思っています。コアやプラグインのアップグレードは、すでにワンクリックで行えるようになっています。もし何かが壊れていたら、修正をリリースします。どうか、アップグレードを行ってください — それが、お互いを助けるための唯一の方法です。

WordPress を安全に使い続ける方法」への23件のフィードバック

  1. 細かい指摘ですみません。本文5段落目付近に誤字と思われる箇所がありましたので、ご確認ください。

    誤:
    もしアップグレードを使用と思っていてまだやっていない場合、今やるのはとても良いタイミングです。
    正:
    もしアップグレードをしようと思っていてまだやっていない場合、今やるのはとても良いタイミングです。

  2. Takeshi*さん、ご指摘ありがとうございます。
    修正しました(されてました)。

コメントは受け付けていません。