<一覧>

ワードプレスの脆弱性を狙った不正アクセスの被害に遭いました

こんにちは、吉田孝之です。

私は、現在、ワードプレスで複数のサイト(ブログを含む)を運営しています。

そのうちの1つが、不正アクセスの被害に遭いました。今回は、被害に遭った内容と復旧方法について記事にまとめましたので、ご参考になさってください。

最初に、どんな被害かというと、自分が知らぬ間に、「共有サーバーにアップしているワードプレスのフォルダ内に、悪さをするファイルが外部から組み込まれてしまう」という被害です。

自分が知らないのによく気づいたね、と思われるかもしれません。

実は、レンタルサーバー会社から「あなたの使っているサーバー内に、悪さをしそうなファイルが入っています。あなたご自身で入れたのではなく、海外からの不正アクセスによって、入れられたようです」と連絡が入ったおかげで、気づいたのです。

最初に被害にあったのは、2012年1月です。

その後、6月、7月、8月、9月と立て続けに被害に遭いました。

原因がさっぱりわからなかったので、ネット検索で色々調べました。

その結果、次の2つの疑問に対する答えが見つかりました。

(1)悪さをするファイルを、どうやって、私のサーバー内に潜り込ませたのか?
(2)悪さをするファイルを取り除いたのに、なぜ、何度も不正アクセスの被害に遭うのか?

最初に(2)に対する答えから。

不正アクセスで悪さをするファイルを入れられてしまうと、そのファイルを取り除くだけでは不十分であり、ワードプレスそのものをクリーンインストールしなければならないようです。

というのも、悪さをするファイルが他のファイルの中身を書き換えてしまい、書き換えられたファイルも悪さをする危険性があるからです。

これまで被害に遭った時に対処した作業は、悪さをするファイルを取り除くだけだったんですが、それではダメだったわけです。

次に(1)に対する答えです。

今回の不正アクセスは、ワードプレスのテーマ(テンプレート)の中にある、サムネイル(見本の画像)を作りだすファイルtimthumb.php(あるいはthumb.php)の脆弱性を狙われました。

timthumb.phpを狙った不正アクセスについては、2011年8月3日に世界中で被害が確認されています。

このtimthumb.phpというファイルですが、使用するテーマ(テンプレート)によって、入っていたり入っていなかったりします(私の使用しているテーマでは使われています)。

「timthumb.php 脆弱性」というキーワードで検索してみると、色々な記事が見つかります。

私が参考にしたのは、下記の記事です。

→ timthumb.phpの脆弱性について

→ 脆弱性への対応顛末

今回の不正アクセスには本当にまいりました。

しかしながら、そのおかげ(?)で、ワードプレスのバックアップと復元については、ほぼマスターできました。

ワードプレスのバックアップは、サーバーにアップロードしたhtmlやphpのファイルの他に、データベースのバックアップもとらなければなりません。

データベースのバックアップというのが、普段お目にかからない作業でした。

私は、現在、Xserver社のレンタルサーバーを借りていますが、Xserverではデータベースを管理するのに「phpMyadmin」という管理パネルが使えます。ロリポップやさくらインターネットなどでも使えると思います。

この「phpMyadmin」パネルを使った、ワードプレスのデータベースのバックアップ方法は、こちらに詳しく書かれています。

「phpMyadmin」パネルが使えれば、バックアップは簡単に取れます。

問題は復元です。

私の場合、不正アクセスによって汚染されたワードプレス全体を一旦全て削除し、再度ワードプレスをクリーンインストールして、そこにバックアップしたデータベースを復元させなければなりませんでした。

以下、Xserverで実施した、私の対処方法を記しておきます。

*もっと良いやり方があるかもしれませんが、このやり方でうまくいきました。
*なお、下記のやり方は、データベースおよび画像ファイルは汚染されていないという前提です。

1)被害にあったサイトのデータベースのバックアップをとる。
2)被害にあったサイトのデータベースを一旦削除し、同一名で空っぽのデータベースを作る。
3)FFFTPで、被害にあったサイトの画像ファイルのバックアップをとる。

*wp-contentフォルダ→uploadフォルダ内に、2012という西暦年の名前のフォルダがあります。
*その中の月別フォルダ内に画像ファイルが格納されています。
4)FFFTPで、被害にあったサイトのhtmlやphpファイルを全部削除する(空っぽにする)。
5)再度、ワードプレスをインストールする。
6)データベースをひもづける(wp-config.phpの内部の記述の書き換え)。

*5)6)の作業について、自動インストールする場合は2)で作成したデータベースを使う。
7)もう一度、データベースを削除し、同一名で空っぽのデータベースを作る。
8)新しく作ったデータベースに、1)でバックアップをとったデータベースをインポートする。
9)ワードプレスに、テーマ(テンプレート)をインストールする。
10)各種プラグインをインストールする。
11)FFFTPで画像ファイルをwp-contentフォルダ→uploadフォルダ内にアップロードする。
12)ワードプレスのサイトを開いてみる(データベースの更新を要求されるかもしれませんが、更新すれば、サイトが復旧すると思います)。

各種プラグインの設定は、データベース側に保管されていて、ほとんど手間無しで、復活しました。

ただ、各種プラグインのphpファイルを書き換えている場合は、再度書き換えが必要です(FFFTPで削除してしまっているため)。

概ね、以上が復旧に向けての作業です。

不正アクセスにあってしまうと、どのファイルが汚染されているのかがわからないので、結局FFFTPで全部のファイルを削除しなければなりません。これが面倒ですね。



Comments are closed.