なんとも恐ろしいニュースが入ってきました。
昨日辺りからロリポップを中心にWordPressがつぎつぎと改ざんされているようです。
実際うちのお客さんにも何件か被害を受けたサイトがありました。
まだ増える可能性がありますので、今の時点でわかったことをまとめてみました。
事の発端
昨日、フォーラムにこのような書き込みがありました。
※一部被害を受けたサイトへのURLや、犯行声明を出しているサイトのURLなどがありますが現状なにがおこるかわかりませんので踏まないようにして下さい。
このフォーラムの内容や、他のブログなどに出ている内容、実際に被害にあったページを修正しながら確認できた内容などをまとめてみるとだいたいこんな症状がでているようでした。
主な症状
これまでわかった内容をまとめると、
- サイトが真っ白になる
- ID、パスワードは書き換えられていない(文字化けしてるけどログインはできる)
- 怪しいユーザーを追加されたりもしていない
- ログインするとサイトタイトルが「Hacked by Krad Xin」となる
- サイトが文字化けする(文字コードがUTF-7に書き換えられる)
- バージョンは関係ないっぽい(最新版でも報告がありました)
- ID、パスワードをかなり強固なものにしていてもダメな例も合った
- ウィジェットが全部はがされて、謎のテキストウィジェットが増える
- 手動で修正してもしばらくするとまた書き換えられるという報告も
とりあえず表示できるように戻す
もしテーマの中で、
1 |
<meta charset="<?php bloginfo( 'charset' ); ?>" /> |
として文字コードを設定している場合はほぼ間違いなく文字コードが書き換わっています(=文字化けしています)
まずは手動でログインPHP(wp-login.php)にアクセスし、普通にログインします。管理画面も文字化けしている場合は、ブラウザのエンコード設定でUTF-8を指定すればとりあえずは解消しますので、設定しましょう。
その状態で「設定」→「表示設定」に入り、下の方にある
「ページとフィードの文字コード」
の中身が「UTF-7」になっているとおもうので「UTF-8」に直します。
また、サイトのタイトルやキャッチフレーズも書き換わっているのでもとに戻します。
ウィジェットが全て停止中に移動され、1つだけ以下の様なテキストウィジェットが追加されているので、削除します。
1 2 3 |
<script type="text/javascript">// <![CDATA[ document.documentElement.innerHTML = unescape(''); // ]]></script> |
また、同時に停止中のウィジェットをもとの位置に戻します。
ひとまずはこれで表示できるようになるはずです。
ただし、修正してもしばらくしたらまたもとに戻ってしまったという報告もありますので、まだ原因がはっきりするまでは安心できなそうですね…。
念のため万が一に備えておく
今大丈夫だとしてもまだまだこれから被害が増えていく可能性も十分考えられます。今のうちにとりあえず今すぐできる対策を行っていきましょう。
- サーバーのファイルを全てローカルにダウンロード・バックアップする
- MySQLのデータをローカルにダウンロード・バックアップする
(DBをバックアップするプラグインを使ってもいいし、phpMyAdminをつかっても良いと思います。) - ユーザー名とパスワードをわかりにくいものに書き換える
過去にもなんどか記事にしましたが、admin、Administratorはもちろんのこと、Authorの表示名やサイトのドメイン名など連想しやすいものはすべて避けたほうがいいです。 - 不正ログイン対策プラグインを導入しておく
これも以前記事を書きましたのでよかったら参考にして下さい。 - wp-config.phpのパーミッションを「400」に変更する。
ただし、今回はDB側が直接弄られている可能性が高いと言われていますので、ログイン周りの対策がどのくらい効力を発揮するかはわかりません。ですが、入れておいて損はないプラグインだと思いますのでこの機会に導入をおすすめします。
わからないことが多すぎる
現時点ではまだはっきりとした原因はわかっていないみたいですね。
現にうちもロリポップですが今のところ被害は受けていません。
プランのためなのか、サーバー番号の関係か、インストールしてるプラグインの関係なのか、たまたままだ手を付けられてないのか、こんな雑魚ブログ、乗っ取っても面白く無いと思われたのか……。
現在原因を調査中で、本日午前11時にロリポップ!側が現状説明を公式サイトで行うそうですので、とりあえずはそれ待ちですかね。
(追記)wp-config.phpを覗かれた?
どうやら、今回の問題は、wp-config.phpを第三者に読まれてしまったことで発生したようです。
wp-config.phpにはWordPressが動作するために必要な情報などが書かれていて、そのなかにはデータベースにアクセスするための情報も書かれています。
つまり、何らかの方法でこのファイルをダウンロードしたり、直接開くことが出来たとしたら、そこから簡単にデータベースの中を読まれてしまうということになります。
すると、WordPressでは投稿やその他の様々なデータをこのデータベースに保存していますので、例えばWordPressがデータベースのどの部分にどんな情報を保存しているのかがわかれば、管理画面から操作せずとも書き換えることが出来てしまいます ((このことを利用して、設定を間違えて保存してしまいログインできなくなったWordPressを救出するといった事もできたりします)) 。結果、今回のように勝手にウィジェットを増やされたり、サイトタイトルが書き換わったりしてしまったのでしょう。
よって、このwp-config.phpに外部からアクセスできなくしておくことで、盗み見られるのを回避することができるのですね。
またなにか進展があれば追記していきたいと思います。
コメントする