WordPressがハッキングされた時の解決法(ロリポップ)

今日のITpro Newsのメルマガを見ると、ロリポップのホームページがハッキングされたとのこと。
私のクライアントにもロリポップを使っている方がいるので見てみると、WordPressがハッキングされていた(^_^;)

WordPressはブログの部分だけに使っていたので、本体は無事だったのだが、修復するのに手間取った。
どうもWordPressのファイル及び設定、データベース、テーマファイルが改ざんされているよう。

手順は次の通り

  1. とりあえずWordPressのファイル、データベースをローカルにバックアップ
  2. phpMyAdminでパスワードを強制的に書き換え
  3. FTPでWordPressのファイルを上書き
  4. ログイン出来るようになるので投稿をエクスポートしてローカルに保存
  5. 今までのWordPressのファイルを削除、新たにWordPressをインストール
  6. ローカルにあるテーマファイルをアップロード
  7. 投稿をインポート
  8. WordPress本体の設定やプラグインの設定を元の状態に戻す

1.とりあえずバックアップ

まずはチェックしようとWordPressにログインしようとしたがダメ。
FTPは使えるのでファイルを見ると、一見無事のようです。(ルートのindex.phpは改ざんされていました、index.phpだけを差し替えてもダメです)
とりあえず、WordPressのファイル群をダウンロードしてバックアップ。

次にロリポップにログインしてphpMyAdminからデータベースをチェックします。
データベース(投稿やユーザー情報)も一見無事のようですが…
とりあえず、データベースをバックアップします。

ロリポップにログインして左のメニューから「WEBツール」のデータベースをクリックします。
loli-database

データベースの画面に切り替わりますので「phpMyAdminを開く」をクリックします。
phpmyadmin

こちらがphpMyAdminのログイン画面です、必要事項を入力してログインします。
phpmyadmin1

phpMyAdminにログインしたら、使っているデータベースが左のメニューにあるのでクリックして、データベースの内容を表示させます。
phpmyadmin2

私はここで、データベースのバックアップを取りましたが、この作業はなくてもいいようです。
もし、データベースのバックアップを取りたいのであれば、上のメニューの「エクスポート」をクリックして、設定はデフォルトのままで「実行する」のボタンをクリックすればダウンロードできます。

2、強制的にパスワードを書き換える

まず、WordPressにログイン出来るようにします。

データベースの内容が表示されている画面の一番下に「データベース接頭辞+users」(ここではwp_users)がありますので、クリックするとユーザーの一覧が表示されます。
phpmyadmin3

ユーザーの一覧が表示されたら、パスワードを変更するユーザーの編集をクリックします。(今回のユーザーはadminです)
phpmyadmin4

ユーザー(admin)の編集画面です。ここでパスワードを強制的に変更します。
user_passのドロップダウンメニューでMD5を選択して、その右の入力枠に適当な文字列を入力します。
ここで入力した文字列が新しいパスワードになります。
最後に「実行する」をクリックすれば、入力した文字列がMD5で暗号化されて保存されます。

3,WordPressのファイルを上書きアップロード

次に、FTPでWordPressのファイルをアップロード(全て上書き)します。

これで、先ほど入力した新しいパスワードでログイン出来るようになっているはずです。
プラグインでデータベースのバックアップを取っていれば、ここでバックアップファイルからリストアすれば大丈夫だと思います。
しかし、このサイトはWP-DBManagerなどのデータベースバックアッププラグインを使っていなかったので、もう少し手間がかかりました。

4.投稿や固定ページなどをエクスポート

左のメニューの「ツール」からエクスポートをクリックします。
ラジオボタンが「全てのコンテンツ」になっているのを確認して「エクスポートファイルをダウンロード」をクリックして、ファイルをローカルに保存しておきます。

5.WordPressのファイルを削除、新たにWordPressをインストール

これまであった、WordPressのファイルとデータベースを削除します。
そして、新たにWordPressをインストールします。

【重要】
ここでWordPressをインストールする時にデータベースの接頭辞を「wp_」以外の独自の任意の文字列にして下さい。
また、ユーザー名に「admin」以外の任意の文字列にして下さい。
パスワードはインジケータで強力になるパスワードを使用して下さい。
こうすることでハッキングしにくくなります。

6.テーマファイルのアップロード

インストールが終わったら、wp-contentのthemesにハッキングされる前のテーマファイルをFTPでアップロードします。
ダッシュボードの左のメニューの外観のテーマから、アップロードしたテーマを有効化します。

7.投稿や固定ページをインポート

ここまでくると、先が見えました。
先ほど、エクスポートした投稿や固定ページの記事を今度はインポートします。

左のメニューの「ツール」から「インポート」をクリックします。
「WordPress」をクリックすると、「WordPress Importer」のプラグインをインストールするように求められますので、インストールして有効化します。
「参照」で、ダウンロードしたファイルを指定して「ファイルをアップロードしてインポート」のボタンをクリックします。
ドロップダウンメニューでインポートした記事を新しいユーザーに割り当てて「Submit」をクリックすれば記事のインポートができます。
ここで、wp-contentのuploadsもフォルダごとFTPでアップロードしておいて下さい。(1でダウンロード済み)

8.プラグインや設定を元の状態に戻す

ここまでくればもう少し。
1でダウンロードしたファイルにプラグインのファイルもあるはずですから、wp-contentsのpluginsにアップロードして有効化。
ダッシュボードの左のメニューの設定で、キャッチフレーズや投稿設定、表示設定、パーマリンクなどを元の状態にしてあげればOKです。

最後に

なんの為にハッキングをするのかわかりませんが、私の場合はこれで解決できました。
WordPressのパスワードを強制的に書き換えて、ログインできればどうにななります。
今回は投稿や固定ページのデータベースが無事だったのが幸いでした。
WP Security ScanなどのWordPressのセキュリティプラグインを導入して安全性を高める必要がありますね。

最初のコメントをしよう

必須