2026年8月12日
2026年8月12日
WordPressをハッキングされた場合の完全復旧手順
はじめに
WordPressサイトがハッキングされる可能性は常に存在します。そのような事態に備えて、ハッキング被害を受けた場合の迅速かつ効果的な復旧手順を用意しておくことが重要です。
症状・背景
この記事が必要になる主な場面:
- サイトが突然停止したり、予期しないメッセージが表示される
- ログイン画面に変更があったり、通常のパスワードでログインできない
- 他のユーザーからの報告により、サイトが攻撃されていることが判明した
- 管理者のアカウント情報が不審な活動とともに確認された
手順・設定方法
ステップ1: サイトのアクセス停止とデータバックアップ
まず、サイトへの不正アクセスを防ぐために、サイトの操作を一時的に制限します。その後、最新のバックアップからサイトを復元する準備を行います。
# WordPressデータベースのバックアップを作成
mysqldump -u [DB_USER] -p[DB_PASSWORD] [DATABASE_NAME] > wp_backup.sql
# WordPressファイルのバックアップを作成
tar czvf wp_files_backup.tar.gz /path/to/wordpress/
ステップ2: ハッキングされたファイルやデータベースの特定と削除
次に、攻撃者が追加または変更した可能性があるファイルやデータベースを特定し、それらを取り除きます。
# ファイルシステム内の不審なファイルを検出 (通常はwp-scanのようなツールを使用)
/wp-scan/cli.php --url=[SITE_URL] --scan
# 検出した不審なファイルを削除
rm -rf /path/to/untrusted_file.php
# 不審なデータベースエントリを特定し削除
mysql -u [DB_USER] -p[DB_PASSWORD] -e "DELETE FROM wp_options WHERE option_name LIKE 'untrusted_option';"
ステップ3: WordPressとプラグインの更新
攻撃者が利用した可能性のある脆弱性に対処するために、WordPressおよび関連するプラグインを最新バージョンに更新します。
# WordPressを最新版にアップデート
wp core update --force
# プラグインを最新版にアップデート
wp plugin update --all
# 不審なプラグインの削除
wp plugin deactivate untrusted-plugin && wp plugin delete untrusted-plugin
ステップ4: アクセスログとエラーログの分析・監視
最後に、アクセスログとエラーログを詳細に確認し、攻撃者による他の不審なアクティビティがないかチェックします。定期的にこの手順を繰り返すことで、再発防止につながります。
# アクセスログから不審なアクセスを検出
grep 'untrusted_agent' /path/to/access.log
# エラーログから問題の兆候を探します。
tail -n 100 /var/log/apache2/error.log | grep 'PHP Warning'
注意事項
- バックアップファイルの保存は信頼できるサーバー外(S3バケットやNASなど)で行うことが重要です。
- 多くの場合、wp-config.phpファイルを含むwp-contentディレクトリは共有のフォルダにバックアップされることを確認してください。
- 常に最新のセキュリティパッチとプラグインを使用すること。古いソフトウェアは脆弱性を増やす可能性があります。
- 暗号化キーの変更やSSL証明書の更新も考慮に入れてください。
まとめ
1. 緊急対応: ハッキング被害を受けた直後は、サイトへのアクセスを一時的に停止し、バックアップを取ります。
2. 特定と除去: 攻撃者が追加または変更した可能性があるファイルやデータベースエントリを見つけ出し、削除します。
3. 更新: WordPressおよびプラグインの最新バージョンに更新することで、脆弱性を補完します。
4. 監視: アクセスログとエラーログを定期的にチェックし、再発防止につなげます。
関連記事: