WordPress の改ざんについて


またまた久しぶりの記事がこんなので本当に切ないです。っていうか泣きそう!

同じサーバー内に設置してある WordPress の挙動がおかしいです、という連絡を受け念のためこの「blog.anachro.cc」を見てみたらやられていました。

スクリーンショット 2013-06-29 13.57.21

 

こんなかんじで、「<?php 」の文頭から始まる箇所に不正コードを挿入されまくっていました。

実被害としては確認できているのは Yahoo の検索結果からリンクを飛ぶと不正なサイトにリダイレクトされるというもの。念のためウイルスチェックしましたが特に検出はされませんでしたが、なんだかとても怪しい…。

このブログも2007年からかなり牛歩ではありますが続けてきた思い入れのあるブログなので全部消すのも嫌だけどこのコードも気持ち悪い。今回やった復旧作業と対策を例のごとく備忘録としてまとめておきます。

 

【1】バックアップをとる

 

改ざんされてしまっている状態ではありますが、何はなくともバックアップは大事です。

間違えて削除してしまうのも嫌なので、WordPress の管理画面に入り「ツール」から「エクスポート」で WordPress の記事をまずバックアップしました。

次に、データベースのバックアップをとり、最後にFTP(SSH)でファイルのすべてをバックアップしました。「uploads」フォルダに写真が多くて時間かかった。借りているサーバーによっては長時間ダウンロードしていると負荷軽減からか切断されてしまうので小分けにしてダウンロードしましょう。

 

【2】WordPress を最新バージョンにしましょう

 

改ざんの修正には時間がかかるものです。修正しているそばから再度一気に書き換えられてしまってはたまったものではありません。

おそらく、改ざんの原因は WordPress の脆弱性にあるものと思われます。もしくは、使用しているテーマだったり。ともかくいろんな情報が錯綜してしますが、WordPress のバージョンアップがまずは先決。

 

【3】どのファイルが改ざんされているかリストアップする

 

今回の場合、卒倒するほどの「*.php」ファイルが改ざんされていました。「*.php」ファイルはすべて改ざんされてしまっていると思っていいでしょう。

しかし意外と見落としがあるもの。改ざんファイルをリストアップすると修正作業も目安がついてやりやすくなります。

私は今回、生まれて初めてシェルスクリプトなるものを書きました。

内容はサーバー上のファイル内で改ざんコードの文頭数文字に該当するファイルを一気に絶対パスでリストアップしてその内容をメールで送信するものです。

本当は定期的にcronで叩いて監視するように作ったんですが cron で叩いても動かなかったし途中で面倒臭くなったのでターミナルで直接実行する仕様にしました。こんなかんじでメールが来ます。

 

スクリーンショット 2013-06-29 14.09.24

 

 

驚きの PEAR ファイルがほぼ犯されておりました。あーあ。

 

【4】ファイル一括置換ができるソフトで「改ざんコード」を「置換」する

 

本当は、WordPress を全部一気に削除して再インストールがベストでしょう。

しかし再度設定するのが嫌だった私はもっと面倒臭い方法を取ることにいたしました。。

複数ファイルを一括できる置換ソフトを使い、挿入された改ざんコードを空白に置き換えていったのです。意外と時間がかかるんですが、改ざんコードは綺麗さっぱり消えていったのでなかなかです。

つかったフリーソフトは Windows の「TExchange」。(Macにはよさげなのがなかったので)

http://www.vector.co.jp/soft/winnt/util/se428352.html

☆ファイルによってはエラーコードになってしまう場合があるのでそこは手動でやったりしてください。そのためにも置換前の改ざんされている状態のファイルをバックアップするのもよいかもですね。心情的に嫌ですけど。

 

 

【5】(対策編)wp-admin と wp-login.php にアクセス制限をかける

 

解析ソフトをいれているとわかりますが、各国から WordPress の管理画面にたくさんのアクセスがあることがわかりました。

1人で個人管理しているのであれば自分だけがアクセスできればよいのですから、第三者に管理画面を自由にアクセスされるのは好ましくありません。「.htaccess」が使える環境であればアクセス制限しちゃいましょう。

 

【6】ログイン履歴のわかるプラグイン「Crazy bone」を入れる

 

どこからアクセスがきているのか不思議に思うかもしれません。Crazy bone を入れておけばある程度不正アクセスを把握することができます。

 

【7】サーバーがヘテムルの場合、「WAF」を設定する

 

改ざんを検知し、防いでくれるプログラムがヘテムルでリリースされていましたのでONにしてみました。

heteml_waf

早速、何かを検知してくれています。きっと何か攻撃を防いでくれてるんでしょう…。ちなみに攻撃されているのは以前使っていたテーマだったので脆弱性があるに違いないということで使用を中止しました。

コメントを残す

Allowed Tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>