マルウェアに感染したWordPressの復旧方法
WordPressがマルウェアに感染すると、index.phpと.htaccessのファイルなどを書き換えられてしまいます。
そのため、WordPressの全部のファイルを一旦削除して、再度インストールして復旧する流れになります。
この時に、サーバーのサービスでバックアップが作られている場合は、そのバックアップをリストア(復元)して、必要なWordPressのファイルを取り出して復旧します。
ConoHaのサーバーの場合は、一つのサーバーで複数のドメインを使ってウェブサイトの運用をしている場合でも、問題のドメインのみ復旧することができます。
リストアされたディレクトリの中から、問題のドメインのディレクトリのみをFTPソフトを使いっダウンロードできます。
そして、本来のディレクトリに、アップロードします。
この中で、WordPressのプラグインで作ったバックアップファイルがある場合は、アップロードを省略できます。
例えば
\wp-content\updraft\のディレクトリの下にバックアップファイル、そして
\wp-content\ai1wm-backupsのディレクトリの下にあるバックアップファイルは、後回しにして良いです。
もしサーバーでバックアップファイルを作られていない場合は、WordPressをインストールします。
そして、取り出した上記のディレクトリの中にあるバックアップファイルをアップロードして、それぞれのファイルを扱うプラグイン使って、復元してください。
index.phpが、この画像のようなコードに変わっているときは、マルウェアに感染しています。
パーミッションも、444に変わっていると思います。
セキュリティの高いパーミッション(権限)の設定
.htaccessは、604
wp-confing.phpは、600
が良いそうです。
https://ja.wordpress.org/support/article/changing-file-permissions/
Conoha Wingの場合は、.htaccessのパーミッションを変えるとサーバーの管理画面で.htaccessを修正する際などで影響が出るようです。
そのあたりを確認して、設定されると良いと思います。
wp-login.phpも改ざんされているかもしれません。
実は、WordPressで作ったウェブサイトが表示できるように復旧できたのですが、WordPressの更新、サイトヘルスの表示、プラグインの追加などで、403のパーミッションのエラーが出てしまうため、今回Wordfenceというプラグインのスキャン機能を使って確かめました。
そうしたらwp-login.phpのコードが改ざんされていることが、分かりました。
この他にも、WordPressのコアファイルが多数改ざんされていました。
今回憑依されなくなったと言われた日の前日のConoHaの自動バックアップからリストアしたもので、このような状況になったので、もしマルウェアに感染した場合は、いつファイルの改ざんがあったのか遡って調べる必要があります。
復元に使うプラグイン
WordPressの引っ越しなどでも、バックアップのプラグインを使うと思います。
All-in-One WP Migrationが有名ですが、問題があります。
バックアップファイルを作りエクスポートのために、自分のパソコンにダウンロードしたり、運用しているサーバーに保管したりするのは、無料です。
でも、サーバー上で復元する場合は、有料版でないとできないのです。
また、アップロードしてインポートする場合、無料版ではアップロードできるファイルのサイズに制限があります。
1GBを超えるような大きなファイルをアップロードしてインポートことは、無料版ではできないのです。
そのためAll-in-One WP Migrationを使うときは、最初から有料版を購入する必要があると思いました。
UpdraftPlus (無料版)が、いざという時に、使いやすいかなと思いました。
そして普段から使っているサーバー以外の場所例えばDropBoxなどに保存すると良いと思います。
Wordfenceは、おすすめ
私は、自分のWordPressのウェブサイトで、二段階認証のために、Wordfenceを使っています。
今回初めてWordfenceのスキャンを使って見ましたが、無料の状態でも、とても詳しく確認できました。
siteguardとWordfenceの二つのプラグインを使うと、安心かなと思いました。
こちらのページが役立ちます。
?author=1を非表示に出来るプラグインが、あります。
Edit Author Slugというプラグインを使うと、簡単に設定できます。
綺麗なWordPressで復旧しましょう
サーバーでWordPressを簡単にインストールできる場合は、そのサービスを使って綺麗なWordPressをインストールしてください。
そして、バックアップファイルを使って、復旧してください。
でも、感染していない日のバックアップファイルを使ってください。
復旧したらWordfenceで、スキャンして確かめると良いと思います。
上記の手順を行うことが難しい方は、私にご相談ください
ウェブサイトを設置すると同じ位か、それ以上の手間がかかるので、大変と思われる方は、私にご相談いただけましたら復旧作業を行います。
お気軽に、ご相談いただけましたら幸いです。