2026年7月19日
2026年7月19日
WordPressの管理者アカウントが乗っ取られた場合の対処法
はじめに
この記事では、ワードプレスサイトの管理者アカウントが乗っ取られた場合の初期対応と復旧手順について詳しく説明します。管理者権限を有するアカウントが不正アクセスを受けた場合、サイトの信頼性やセキュリティに深刻な影響を与える可能性があります。
症状・背景
このテーマが必要になる主な場面:
- アクセス制御リスト(ACL)またはIPベースのログインブロックを設けているにもかかわらず、不特定多数からのアクセスが観測される。
- 管理者アカウントでログインした際、通常とは異なるユーザー情報や設定画面が表示される。
- サイトの管理画面に意図しない変更があり、その変更は管理者によって行われていないことが確認できる。
- 不審なメールや通知が大量に届き、サイトを所有するアカウントから送信されたものであることが判明。
手順・設定方法
ステップ1: サーバーへの緊急アクセス取得
# SSHでサーバーにログインします。
ssh [ユーザー名]@[IPアドレス]
# ファイル一覧を確認して、wp-config.phpファイルの変更がないかチェックします。
ls -la /path/to/wordpress/wp-config.php
# 不審なアクセスログを調査します。
tail -f /var/log/apache2/access.log
ステップ2: 管理者アカウントのパスワードリセットと権限確認
# データベースへ接続し、管理者アカウント情報を確認します。
mysql -u [データベースユーザー名] -p
# wp_usersテーブルから管理者アカウントを検索します。
SELECT * FROM wp_users WHERE user_login = 'admin';
# パスワードをハッシュ化して変更します。
UPDATE wp_users SET user_pass = MD5('新しいパスワード') WHERE ID = [管理者ID];
ステップ3: 不審なユーザーの削除と権限の再設定
# 新たに追加されたユーザーを削除します。
DELETE FROM wp_users WHERE user_login IN ('不正ユーザー1', '不正ユーザー2');
# ロール情報を更新して、管理者アカウントのみが管理者権限を持つように設定します。
UPDATE wp_usermeta SET meta_value = '[管理者ID]' WHERE meta_key = 'wp_capabilities' AND meta_value LIKE '%administrator%';
ステップ4: サイトのセキュリティ強化と定期監視
# ファイアウォール設定を確認し、必要に応じてIPベースのアクセス制限を行います。
sudo ufw allow 22/tcp
sudo ufw deny from [不正アドレス]/32 to any
# サイトの更新とバックアップを定期的に行い、脆弱性スキャンを実施します。
wp core update --minor
wp db export /path/to/backup.sql.gz
注意事項
- 管理者パスワードは複雑で頻繁に変更すること。
- 不審なアクセスが観測された場合は、直ちにサーバーへの物理的なアクセスを制限し、原因究明を行うこと。
- 更新やバックアップの作成には適切なスケジューリングと保存先を設定すること。
- ファイアウォールルールは定期的に見直し、最適化を行うこと。
まとめ
1. 緊急アクセス: サーバーへの物理的なアクセス制限を行います。不審なアクティビティが発生した場合の初期対応策を講じます。
2. パスワード管理: 管理者アカウントのパスワードは定期的に変更し、複雑なものを使用します。ハッシュ化された形式でパスワードを更新します。
3. ユーザー制御: 不審なユーザーを削除し、管理者権限を持つユーザーを明確に確認します。必要なアクセス権限だけを付与します。
4. セキュリティ強化: IPベースのアクセス制限や定期的なバックアップを作成することで、サイトの安全性を高めます。
5. 監視と更新: 不審なアクティビティを常時監視し、適切なスケジューリングでサイトの更新とバックアップを行います。
関連記事: