WordPressが改ざんされたときの対処|最初の1時間にやることと復旧の進め方
WordPressのサイトが改ざんされたら、最初にやることは3つです。サイトを止めて訪問者への被害を防ぐ。ログやファイルを消さずに残す。サーバー会社と保守会社に連絡する。直すのはその後。
慌てて不審なファイルを消したり、すぐに公開を再開したりすると、侵入経路が分からないまま同じ被害を繰り返すことがあります。この記事では、WordPress公式やJPCERT/CC、Googleの情報をもとに、気づいてから、復旧、公開の再開、検索結果の警告の解除までの順番をまとめました。被害を防ぐための日頃の対策は、WordPressセキュリティ対策の優先順位と手順で扱っています。
改ざんに気づいたら、最初の1時間でやること
最初の1時間は、直すことより「被害を広げない」「証拠を残す」ことに使います。
- サイトを止める(サーバーの管理画面でアクセスを制限するか、メンテナンス画面に切り替える)
- 気づいたときの画面を記録する(スクリーンショット、URL、日時)
- ログとファイルを、消したり上書きしたりせずに、今の状態のまま別の場所へ保存する
- 管理画面に入れるなら、管理者のパスワードを変える
- サーバー会社と、保守を頼んでいる会社に連絡する
- 社内で、誰が判断し、誰が外部とやり取りするかを決める
「1時間」は、私たちが考える目安です。連絡の返事を待つ時間まで含めると、もっとかかることもあります。
サイトを止めるのは、改ざんされたページを見た人のパソコンに被害が及ぶのを防ぐためです。JPCERT/CCは2013年の注意喚起で、改ざんされたサイトの多くに攻撃サイトへ誘導する仕組みが埋め込まれ、閲覧した人のパソコンがマルウェアに感染するおそれがあると注意を呼びかけています。
止めている間も、お問い合わせや予約の窓口は残したいところです。電話番号やフォームの代わりの連絡先を、別のページやSNSで案内する方法は、HPを一時停止するときに問い合わせを途切れさせない準備にまとめています。
改ざんの症状と、確かめる場所
改ざんかどうかは、見た目の異常だけで決めず、管理画面とサーバーの両方で確かめます。
| 症状 | 確かめる場所 |
|---|---|
| 別のサイトに飛ばされる | ページのHTMLに見覚えのないスクリプトがないか |
| 知らない広告や文字が出る | テーマのファイルと、投稿・固定ページの本文 |
| 管理画面に入れない | データベースの管理者ユーザーとメールアドレス |
| 知らない管理者がいる | ユーザー一覧と、作られた日時 |
| 検索結果に警告が出る | Search Consoleの「セキュリティの問題」 |
画面が真っ白になる、表示が崩れるといった症状は、プラグインの不具合やサーバーの設定変更でも起きます。改ざんと決めつけて作業を始めると、本当の原因を見落としかねません。
WordPress公式のFAQでは、共有サーバーを使っている場合、被害が自分のサイトだけでなく同じサーバーのほかのサイトに及んでいることもあるため、サーバー会社に確認するよう勧めています。
復旧の方法は、バックアップの有無で決まる
安全な時点のバックアップがあれば、そこに戻すのが早道です。無い場合や、いつ侵入されたか分からない場合は、作り直しを含めて考えます。
| 状況 | 復旧の進め方 |
|---|---|
| 改ざん前のバックアップがある | 今の状態を保存してから戻し、すぐに本体・テーマ・プラグインを更新する |
| いつ侵入されたか分からない | 複数の時点のバックアップを比べ、安全な時点を探す |
| バックアップが無い | 不審なファイルを取り除くか、まっさらな環境に作り直す |
難しいのは、「いつから改ざんされていたか」が分からない場合です。最新のバックアップにすでに不正なファイルが入っていると、戻しても同じ状態が続きます。
レジットのWordPress保守・運用代行では、毎月1回の保守に加えて、バックアップを新しいものから3ヶ月分保管しています。何時点分が残っているかや、改ざんのときにどこまで対応できるかは、契約の前にご確認ください。一般に、複数の時点のバックアップがあれば、改ざんに気づくのが遅れても、少し前の時点まで戻れる可能性が高まります。保守を頼んでいない場合は、サーバー会社の自動バックアップに、どの時点までのデータが残っているかを確かめてください。
公開を再開する前にやること
公開を再開するのは、侵入経路をふさぎ、すべてのパスワードを変えてからです。
- WordPressの管理画面、FTP、データベース、サーバー管理画面のパスワードをすべて変える
- データベースのパスワードを変えたら、wp-config.php の設定も同じ値に直す
- wp-config.php の認証キーを新しくし、ログイン中の人を強制的にログアウトさせる
- 使っていない管理者アカウントを消す
- WordPress本体、テーマ、プラグインを最新版にする
- 使っていないプラグインとテーマを削除する
- 管理画面を操作したパソコンのウイルスチェックをする
- スキャンで不審なファイルが残っていないか確かめ、.htaccess とテーマの主なファイルを見直す
- 改ざんされたページが残っていないか、主なページを見て回る
侵入経路が分からない、スキャンの結果を読めないという場合は、次の「任せた方がよい場面」にあたります。
パスワードは、改ざんに気づいた時点で一度変えていても、きれいな状態に戻したあとにもう一度変えます。WordPress公式のFAQも、サイトがきれいになったことを確かめてから、改めてパスワードを変えるよう勧めています。
パソコンを調べるのは、更新作業に使ったパソコンからパスワードが盗まれている場合があるためです。JPCERT/CCは同じ注意喚起で、FTPクライアントやブラウザに保存されたアカウント情報を盗み、サイトの改ざんに使うマルウェアがあると説明しています。
検索結果に警告が出たときの解除手順
Googleの検索結果やChromeなどのブラウザに警告が出た場合は、修正を終えてから、Search Consoleで審査を依頼します。Search Consoleにサイトを登録していない場合は、先に登録して所有権を確認しておく必要があります。
- Search Consoleの「セキュリティの問題」レポートで、指摘された問題とページを確かめる
- 指摘されたすべてのページで問題を直す
- レポートの「審査をリクエスト」から、問題の内容、修正した手順、その結果を書いて送る
- 審査の結果を、メールで待つ
Search Consoleのヘルプによると、ほとんどの審査は数日から数週間かかります。結果が届く前に、同じリクエストを送り直さないこと。警告が出ているあいだは、訪問者がページを開かずに離れることもあるので、電話やメールでの案内を続けてください。
自社で対応できる範囲と、任せた方がよい場面
サイトを止める、記録を残す、パスワードを変えるところまでは、自社でもできます。原因の特定と、不審なファイルの見極めは、経験のある人に任せた方が確実です。
任せた方がよいのは、次のような場面です。
- 改ざんされたファイルがどれか、見分けがつかない
- バックアップが無い、またはいつの時点が安全か分からない
- 一度直したのに、また同じ症状が出た
- お問い合わせフォームから個人情報が漏れた可能性がある
日頃の保守を自社で続けるか任せるかは、WordPressの保守は自分でできる?で判断の基準をまとめています。
個人情報が関わる場合は、復旧作業とは別に、社内の担当者と対応の進め方を相談してください。どこに相談する場合も、「いつ、何が起きたか」「バックアップがどこにあるか」の2つを先にまとめておくと、話が早く進みます。
よくある質問
WordPressの改ざんについて、よくいただく質問にお答えします。
不審なファイルを見つけたら、すぐに消していいですか?
すぐには消さず、まず別の場所に保存してください。どこから侵入されたかを調べる手がかりになります。消すのは、原因を確かめてからにします。
復旧にはどれくらい時間がかかりますか?
安全なバックアップがあれば戻す作業そのものは短く済みますが、侵入経路の確認やパスワードの変更まで含めると、日数を見込んでおいた方が安全です。検索結果の警告を外す審査には、さらに数日から数週間かかることがあります。
保守を頼んでいれば、改ざんは防げますか?
本体やプラグインの更新を続け、バックアップを残しておくことで、被害に遭う可能性と、遭ったときの影響を小さくできます。それでも被害がゼロになるとは言えません。保守にかかる費用の目安は、ホームページ制作後の保守費用で紹介しています。
まとめ
WordPressが改ざんされたら、止める、残す、連絡するの順に動き、安全な時点のバックアップから戻したうえで、すべてのパスワードを変えてから公開を再開します。
今のうちに確かめておきたいのは、バックアップがどこに、何か月分あるかです。サイトの作り直しを考えている場合は、コーポレートサイト制作の段階から保守の体制を決めておくと、いざというときに迷いません。分からない場合や、日頃の更新とバックアップを任せたい場合は、レジットへのお問い合わせから保守についてご相談ください。
用語集
この記事に出てくる言葉を、短くまとめました。
- 改ざん(かいざん):第三者がサイトのファイルや内容を、持ち主に無断で書き換えること。
- マルウェア(malware):パソコンやサーバーに害を与える目的で作られたプログラムをまとめて呼ぶ言葉のこと。
- FTP(File Transfer Protocol):サーバーにファイルを送ったり、取り出したりするための仕組みのこと。
- 共有サーバー(共用サーバー):1台のサーバーを複数の利用者で分け合って使う、レンタルサーバーのこと。
- Search Console(サーチコンソール):Googleが提供する、自分のサイトが検索でどう扱われているかを確かめる無料のツールのこと。
参考・出典
この記事で参照した資料です。