最近、いくつかのサイトのマルウェア感染からの復旧のお手伝いをしました。
完全に管理者は気づかないうちに、管理画面にログインもできなくなっていました。
最初はマルウェア感染とは思わず、下記のような現象になってから、これは何が原因だろうと悶々とすることが多いようです。
具体的にファイルを確認すると、通常ではありえないファイル名のPHPファイルが存在したり、既存ファイルに不審なプログラムの記述があったりと、その時点で感染が原因と判明することが多いです。
その時点で、データベースのコアな部分まで改ざんされることがなければ、多くの場合復元までこぎつましたので、その手順等を紹介したいと思います。
早速ですが、参考までに復元した際の手順を書き残してみます。
データベース情報保存
WordPressのファイルがインストールされたルートディレクトリにある「wp-config.php」の情報を確認します。このファイル自体をダウンロードして保存します。重要なのは赤枠で囲んだ情報です。
感染した際に、このファイルに不審な書き込みが追記されていることもあるので、WordPressのデフォルトファイルにwp-config-sample.phpがあるので、それと比較して、明らかに不審なプログラムの記述がある場合にはそれを削除する必要があります。
場合によっては、wp-config-sample.phpにダウンロードした赤枠の情報を転記してファイル名をwp-config.phpにリネームして使用するという判断もありです。
画像ファイルバックアップ
サーバー標準のファイルサーバーでダウンロードしてもいいですし、FTPツールを使ってもどちらでもOKです。下記のフォルダをダウンロードします。
wp-content/uploads/
ただし、このフォルダ内に感染ファイルがある可能性があるので、ここは面倒ですが、最下層フォルダまで丁寧に点検し、削除作業を行います。
WordPress最新ファイルのインストール
基本的には最新バージョンをアップロードします。この際、使用サーバーのPHPバージョンが最新でない場合には、セキュリティ対策上、古いままで復元してもリスクが消えないので、できる限りPHPも最新にして設定します。
不正ファイル全削除
基本的には、感染したサーバー領域を一旦カラにする覚悟で行います。既存ファイルに未練を残して結果的に感染ファイルも残っていたという苦い経験もありました。
テーマファイル、不正ファイルの駆除と最新アップデート
画像フォルダ同様、根気よく全フォルダとファイルをよく点検すべきなのがテーマファイルです。
とくにカスタマイズを入れていることも多いので、ダウンロード保存→点検・削除→再利用のケースが多かったです。
もちろん、カスタマイズを加えておらず最新版のテーマを入れ直して復元できるのであればそればベターです。
プラグイン再インストールとアップデート
データベースに、基本的に使用プラグインの情報が残っていますので、プラグイン画面を開くと、何を再インストールすべきかは分かります。PHPやデータベースのバージョンが最新になれば当然それに合わせたプラグインにすべきにですので、最新版をそれぞれ入れ直す形となります。
設定の復元
wp-config.phpで当初のデータベース情報にアクセスできれば設定情報が残されていますので、大抵の場合、元の状態に戻ります。
ただし、感染度合いによってはユーザー名まで改ざんが進んでいる場合があります。その場合にはエラーになりますので、データベース自体を触ってユーザー情報を修正する必要(難易度が上がります)があります。
バックアップ画像アップロード
サーバーのファイルサーバーやFTPを使って、総点検して削除も済んだ(除染した)ファイルやフォルダを所定箇所にアップします。
ユーザーログイン情報を変更
ハッキングのきっかけになっただあろうログイン情報漏えい対策をします。サイト名(ドメイン)と無縁な文字列を、ユーザー名やパスワードに使用するようにしましょう。さらに、下記で紹介するログインセキュリティのプラグインを導入することを強くおすすめします。
セキュリティプラグイン2つ導入
この2つのプラグインは感染対策だけでなく、無料ブログからWordPressに引っ越した際にも最初から導入したほうがいいと思います。
wordfence
SiteGuard WP Plugin
感染したサイトにまったく共通した傾向がありましたので、以下2点に注意してください。
1.ユーザー名は ドメイン名に類似したものや単純なものを使用しないこと
2.パスワードもユーザー名やドメイン名に類似するものや単純な数列や文字列にしないこと
コメント