この記事では、不正アクセスされたWordPressサイトをエックスサーバーの自動バックアップから確実に復旧する方法について、くわしく解説していきます。
Webサイトが不正アクセスされると何がやっかいかというと、
- どのファイルが改ざんされているのかわからない
- どれがマルウェアファイル(バックドアなど)なのかわからない
- どうやって復旧すればいいのかわからない
という問題が発生して、
不正アクセス前のクリーンな状態への復旧が非常に難しくなる
ことです。
でも、エックスサーバーを使っている場合、不正アクセスが直近2週間以内に発生したのであれば、自動バックアップからクリーンな状態のWebサイトに復旧することができます。
- エックスサーバーを利用している
- 不正アクセスが直近2週間以内である
この条件に該当する場合、クリーンなWebサイトに復旧させることができますよ!
不正アクセスで復旧に悩んでいる人はぜひ参考にしてください。
また、以下のような不正アクセス以外での致命的なエラーでも参考になる復旧手順となっています。
- WordPressの画面が白くなり何もできない
- functions.phpなどの重要なファイルを削除してしまった
- データベース確立エラーが出てしまった
エックスサーバーの自動バックアップの特徴
エックスサーバーの自動バックアップの概要や、使いかたについては上記公式ページに詳しく書かれています。
ここでは、公式ページから自動バックアップの特徴をざっくりまとめてみました。
特徴 | 詳細 |
---|---|
無料で使える | 全プラン標準で無料提供 |
1日1回バックアップ専用サーバーにコピー | サーバー上のデータを1日1回バックアップ専用サーバーに自動コピー(深夜実行) |
契約したその日から自動でバックアップ開始 | 手続きや申請は不要 |
バックアップデータを一定期間保存 | 過去14日分保存 |
バックアップデータはサイトデータ、MySQLの2種類 | サイトデータ:サーバー領域データ(Web・メールデータ) MySQL:MySQLデータベース ※画像参照 |
自動バックアップの注意事項
自動バックアップの注意事項は以下の通りです。
バックアップデータの保存期間は14日間分
全プラン共通で、自動バックアップデータの保存期間は過去14日間となっています。
ただし、古いサーバーを継続利用している場合は、保存期間が7日間となるので注意してください。
上の画像は、新デザインのサーバーパネルにログインした時に、トップページに表示されるサーバー情報です。
画像のように「最新サーバー環境をご利用中です。」と表示されている場合は、バックアップデータの保存期間は14日間です。
「最新サーバー」と表示されない場合で、サーバーホスト名が画像に書かれているものに一致(古いサーバー)する場合は7日間となっていることがあるので、注意してください。
サブディレクトリ、サブドメインも同時復旧
今回は、不正アクセスされた特定のサイト(ドメイン)を復旧していきますが、そのドメインの中にサブディレクトリ、サブドメインがあった場合、どちらのサイトも一緒に復旧されるので、注意してください。
削除したメール/FTPアカウントは復旧できない
今回の復旧とは関係ないですが、メールアカウントやFTPアカウントを削除してしまうと自動バックアップでも復元することはできません。
アカウントの情報はバックアップデータの中に含まれるものではなく、エックスサーバーのシステムで管理されていると思われるからです。
バックアップした日以降に受信したメールは削除される
これは当たり前のことですが、復旧対象のバックアップ日以降に受信したメールは、復元によって削除されます。
削除されて困るようなメールがある場合は、自動バックアップではなく手動バックアップで現在の「サーバー領域データ(Web・メールデータ)」を保存してください。
自動バックアップからの復旧が完了した後に、手動バックアップで保存したメールデータのみをアップロードすることで受信メールの削除を回避できます。
バックアップデータの確実な保全は保証されていない
毎日1回専用サーバーへ自動バックアップされますが、
そのため、バックアップは自動バックアップだけにまかせるのではなく、自分自身で定期的にバックアップをとることも重要となります。
想定する不正アクセス環境
ここでは、不正アクセスをされたという想定で、不正アクセスでありがちな環境を作ってみました。
トップページの改ざん
不正アクセスでありがちなのがデータ改ざんで、トップページが全く異なるものに書き換えられたケースです。
記事などのコンテンツデータはMySQL(データベース)に保存されているので、MySQLの復旧が必須となります。
不正ファイルの設置・改ざん
簡単にサイトに侵入できる「バックドア」(裏口)を仕掛けたケースもよくあります。
バックドアのファイルをあらたに設置したり、index.phpやfunctions.phpなどWordPressのファイルを改ざんしてバックドアが使えるようにすることが多いです。
また、バックドアなどの特定のファイルのみアクセスできるように.htaccessを改ざんして制限かけることもあります。
不正アカウントの登録
バックドアではなく、ログインできる不正アカウントが登録されるケースもあります。
アカウント情報は、実際にはMySQL(データベース)に格納されているので、MySQLの復旧が必須となります。
復旧に向けた準備作業
復旧に向けて、以下の準備作業を行います。
これから、サーバーパネルにログインして準備作業を行いますが、2024/11/5に提供開始された新デザインのサーバーパネルを使って手順を解説します。
以下のサーバーパネルのURLにアクセスして、ログインします。
MySQLのデータベース名を確認
MySQLデータベースの復旧に必要となるデータベース名を確認します。
①~③の順にクリックし、復旧するWebサイトに紐づくMySQLのデータベース名を確認します。
復旧対象のバックアップ日を確認
クリーンな状態で自動バックアップされた日を確認します。
①~④の順にクリックし、不正アクセスされていないクリーンな状態の日がバックアップされていることを確認します。
エックスサーバーの自動バックアップから復旧する
では、いよいよ自動バックアップからWebサイトを復旧します。
また、クリーンな状態の完全復旧を目指しているので、以下の2つのバックアップデータを復旧していきます。
- サーバー領域データ(Web・メールデータ)
- MySQLデータベース
①サーバー領域データの復旧
1つ目は、サーバー領域データ(Web・メールデータ)を復旧します。
①~⑤の順にクリックして、復旧を開始します。
※②は復旧対象のバックアップ日を選択
※④は復旧するサイト(ドメイン)を選択
「注意事項を確認した上で実行する」をクリック。
これで復旧が開始されますが、サイトの規模によっては時間がかかることあるのでしばらく待ちます。
復元が完了したら!
「履歴」タブをクリックして、状況が「正常」となっていることを必ず確認しましょう!
②MySQLデータベースの復旧
2つ目は、MySQLデータベースを復旧します。
①~⑥の順にクリックして、復旧を開始します。
※⑤は「②サーバー領域データの復旧」で選択した日と同じ日を選択すること!
「注意事項を確認した上で実行する」をクリック。
これで復旧が開始されますが、サイトの規模によっては時間がかかることあるのでしばらく待ちます。
復元が完了したら!
「履歴」タブをクリックして、状況が「正常」となっていることを必ず確認しましょう!
復旧結果を確認する
今回想定した不正アクセスの環境が、復旧によってクリーンな状態に戻っているかを確認します。
サイトが問題なく表示されるか
サイトのトップページが、改ざんされていない本来のページで表示されることを確認します。
不正ファイルは除去されているか
バックドア用のマルウェアファイルが除去され、改ざんされたファイルも元に戻っているこを確認します。
不正アカウントは除去されているか
登録されていた不正なアカウントが除去(削除)されているか、WordPressのユーザー一覧で確認します。
WordPressのログインは問題ないか
WordPressにログインできるか、ログイン後にエラーなどが発生しないか確認します。
データベースとの不整合が発生した場合や、特定のプラグインに問題があるとWordPressの管理画面でエラーになることがあるので、記事の投稿画面やプラグインの一覧画面なども確認しましょう。
不正アクセスされると何が危険なのか
不正アクセスされた場合、ざっとあげただけでも次のような非常に危険な状態で公開されることがあります。
- トップページ改ざん(詐欺サイトなどに改ざん)
- 悪意のあるサイトへの転送
- 情報流出
- データ改ざん・紛失
- 攻撃の踏み台
どれも危険なんですが、最後の「攻撃の踏み台」にされてしまうと、不正アクセスされた被害者から攻撃に参加した加害者という立場に変わってしまいます。
企業の場合、信用/信頼の失墜という大きな損失被害の他に、攻撃された側からの賠償問題に発展する可能性もあるので、不正アクセスを検出したら早急な復旧が求められます。
不正アクセスされないための対策
不正アクセスされないための有効な対策は、以下の通りです
WordPressのログインアカウントを強固なものにする
逆に言うと、予測しづらいユーザー名、強度が高いパスワードにすることが、不正アクセスの一番の対策となるわけです。
さらに、ログインURLの変更、プラグインによる2段階認証の導入、ログイン試行回数の制限、CAPTCHAなどの画像認証なども、対策としては効果的でしょう。
セキュリティ強化プラグイン(XO Securityなど)を導入することで、以下の対策が実現できます。
- ログインURLの変更
- ログイン試行回数の制限
- 画像認証
- ログインユーザー名の隠蔽
以下の記事で、「XO Security」の導入方法を書いているので参考にしてください。
他にも、いくつかの不正アクセス対策も追加できるおすすめのプラグインです!
強度が高いパスワードについては、英数文字記号などが混在して桁数も多いパスワードにすると、突破される確率がぐんと下がります。
ネット上でも強度が高いパスワードを生成してくれるサイトはいくつもありますが、WordPressのユーザー設定画面でも強度が高いパスワードを簡単に生成できるので、こちらを利用してもいいかもしれせん。
プラグラムは常に最新状態を保つ
つまり、WordPress、プラグイン、テーマはバージョンアップがあった場合は、できるだけ早く最新版に更新することが重要です。
定期的にバックアップをとる
そのため、自動バックアップだけに頼ってしまうと、いざという時にバックアップからの復元ができないことも考えられます。
となると、やっぱり自分自身で定期的にバックアップをとることが重要となりますね。
バックアップ系のプラグインは沢山あるので、プラグインの定期バックアップを利用すれば、万が一エックスサーバーの自動バックアップから復旧できなくても、独自にとったバックアップから復元することが可能となります。
WordPressログインページへの制限
なので、海外からWordPressのログインページ(ダッシュボード)へのアクセスを拒否することで、不正アクセスの対策として効果が高くなります。
エックスサーバーでは、海外からのアクセスを拒否する機能が標準で提供されているので、積極的に有効化しましょう。
まとめ
不正アクセスの影響を受けて、サイトの中でどうなっているか見当もつかない場合は、その対策は復旧が非常に困難になるとか思います。
不正アクセスじゃなくて、WordPressそのものに致命的エラーが発生した場合も同様に復旧が難しいことがあります。
そんな時こそ、2週間分保存されている自動バックアップデータから復旧を試してみましょう。
問題が発生してから2週間以上経過するとクリーンな状態を復元することは難しくなりますが、日頃からサイトの安全性をチェックしてすぐに異常な状態を感知できるようにしておきましょう!
コメント