WordPressサイトがハッキングされた際の初期対応から復旧まで、20年の実績をもつWeb制作会社が実際の事例をもとに解説します。
こんな悩みありませんか?
「サイトが急に表示されなくなった」「管理画面にログインできない」「見知らぬファイルがサーバーにある」
このような症状が現れた時、WordPressサイトがハッキングされている可能性があります。慌てて対応を始める前に、まずは正しい手順を知ることが重要です。
弊社では20年以上のWeb制作実績の中で、数多くのハッキング被害に対応してきました。実際の事例をもとに、被害を最小限に抑える対処法をお伝えします。
緊急時の初期対応(最初の30分が勝負)
1. サイトを一時的に停止する
被害の拡大を防ぐため、まずはサイトを停止します。.htaccessファイルに以下のコードを追加することで、メンテナンス画面を表示できます。
# メンテナンスモード
RewriteEngine On
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteRule ^(.*)$ /maintenance.html [R=302,L]
事前にmaintenance.htmlを用意し、「メンテナンス中です」という内容を記載しておきましょう。
2. 管理者パスワードの変更
データベースから直接パスワードを変更します。phpMyAdminにアクセスし、wp_usersテーブルで以下のSQLを実行します。
UPDATE wp_users SET user_pass = MD5('新しいパスワード') WHERE user_login = '管理者ユーザー名';
注意点: この段階でWordPressの管理画面からパスワード変更を行うのは危険です。ハッカーが管理画面を監視している可能性があります。
被害状況の調査と証拠保全
サーバーログの確認
アクセスログやエラーログを確認し、不審なアクセスがないかチェックします。特に以下の点に注目してください:
- 短時間での大量アクセス
- 管理画面への不正ログイン試行
- 不明なファイルへのアクセス
実際のクライアント事例では、ログ確認により海外からの総当たり攻撃を発見し、IP制限を実装することで再発を防止できました。
改ざんファイルの特定
# 最近変更されたファイルを確認
find /path/to/wordpress -type f -name "*.php" -mtime -7 -exec ls -la {} \;
このコマンドで、過去7日間に変更されたPHPファイルを特定できます。
復旧作業の実践手順
1. クリーンなWordPressファイルで上書き
コアファイルを最新版で上書きします。ただし、以下のファイルは保護する必要があります:
wp-config.php.htaccess/wp-content/フォルダ内のファイル
2. プラグインの再インストール
すべてのプラグインを無効化し、公式リポジトリから再インストールします。この作業により、改ざんされたプラグインファイルを除去できます。
// wp-config.phpに追記してプラグインを無効化
define('DISALLOW_FILE_EDIT', true);
3. テーマの検証
使用中のテーマファイルを詳細に確認します。特に以下のファイルに不審なコードが追加されていないかチェックしてください:
functions.phpheader.phpfooter.php
あるクライアントの事例では、functions.phpに暗号化された悪意のあるコードが挿入されており、このコードが原因でSEOスパムが大量生成されていました。コードを削除した結果、検索順位が2週間で回復しました。
セキュリティ強化策の実装
1. セキュリティプラグインの導入
復旧後は必ずセキュリティプラグインを導入します。推奨は以下の通りです:
- Wordfence Security:マルウェアスキャンとファイアウォール機能
- iThemes Security:ログイン試行制限と管理画面の保護
2. 定期バックアップの設定
// wp-config.phpでデバッグログを有効化
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
よくある失敗談と注意点
失敗例1: 焦って不完全な復旧を行い、再度ハッキングされるケース → 根本原因を特定せずに表面的な修正のみ行うと、同じ脆弱性が残ります。
失敗例2: バックアップファイルも感染していた → 複数の時点のバックアップを保持し、感染前のクリーンな状態まで遡る必要があります。
今すぐ実践すべきアクション
- 現在の状況確認:サイトが正常に表示されているか、管理画面にアクセスできるかを確認
- 緊急連絡先の整理:ハッキング発生時にすぐ連絡できるWeb制作会社やサーバー会社の連絡先を準備
- 定期的なセキュリティチェック:月1回はプラグインの更新とセキュリティスキャンを実施
ハッキング被害は適切な対応により被害を最小限に抑えることができます。ただし、技術的な知識が必要な作業も多く、間違った対応により被害が拡大するリスクもあります。
横浜のFivenine Designでは、緊急時のWordPressセキュリティ対応から予防策の実装まで、20年以上の実績をもとに迅速に対応いたします。万が一の際は、まずはお気軽にご相談ください。