WordPressサイトで見覚えのない管理者アカウントが作られていませんか?20年の実績を持つWeb制作会社が、不正アクセスの手口と完全防御策を実案件をもとに解説します。
こんな悩みはありませんか?
「WordPressの管理画面を確認したら、見覚えのない管理者アカウントが作られていた...」 「勝手にページが改ざんされている!」 「お客様から『サイトが表示されない』と連絡があった」
もしあなたがこのような状況に遭遇しているなら、この記事は必ず役に立ちます。
先日、当社Fivenine Designに緊急で相談いただいた中小企業の案件では、不正な管理者アカウント「admin123」が勝手に作られ、サイトが改ざんされていました。適切な対処により3時間で復旧し、その後の再発防止策により現在まで1年間無事故を継続しています。
不正ログインの典型的な手口と兆候
よくある侵入経路
実際の調査案件から判明した、主な侵入経路をご紹介します:
- 弱いパスワード攻撃:「admin」「password」「123456」など
- 古いプラグインの脆弱性:更新していないプラグインが狙われる
- WordPressコア自体の脆弱性:バージョンが古い場合
- FTPアカウントの漏洩:弱いFTPパスワードから侵入
見つけるべき不正アカウントの特徴
実際に発見した不正アカウント名の傾向:
admin123
service
support
backup
wp-admin
wordpress
これらのアカウントを見つけたら、即座に削除する必要があります。
実案件での対応事例:製造業A社のケース
発見時の状況
ある製造業のクライアント様から「サイトにアクセスできない」との連絡を受けました。調査すると:
- 不正アカウント「service」が管理者権限で作成済み
- 既存の投稿が全て下書き状態に変更
- 怪しいリンクを含むページが複数作成
- プラグインが勝手にインストールされている
実施した緊急対応手順
Step 1: 被害状況の確認
# データベースで不正ユーザーを確認
SELECT * FROM wp_users WHERE user_login NOT IN ('正規ユーザー名');
Step 2: 不正アカウントの削除
- WordPress管理画面から不正ユーザーを削除
- 既存ユーザーのパスワードを全て変更
Step 3: システムの完全清浄化
- WordPressコアファイルの再インストール
- 不正プラグインの削除
- テーマファイルの検査
結果: 3時間で完全復旧し、売上機会の損失を最小限に抑制できました。
完全防御システムの構築方法
20年の実績から導き出した、99%の攻撃を防げる防御システムをご紹介します。
基本防御:ログイン周りの強化
1. 強力なパスワードポリシーの実装
wp-config.phpに以下を追加:
// ログイン試行回数制限
define('LIMIT_LOGIN_ATTEMPTS', true);
// 管理画面への直接アクセス制限
define('DISALLOW_FILE_EDIT', true);
2. 二段階認証の導入
実際に効果の高い推奨プラグイン:
- Google Authenticator
- Wordfence Security
上級防御:システムレベルの対策
1. WAF(Web Application Firewall)の設置
当社では以下の設定を標準としています:
# .htaccessでの基本防御
<Files wp-config.php>
order allow,deny
deny from all
</Files>
# 不正なリクエストをブロック
RewriteEngine On
RewriteCond %{QUERY_STRING} \.\./ [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteRule .* - [F]
2. 定期監視システムの構築
// 新規ユーザー作成時の通知機能
function notify_new_user_registration($user_id) {
$user = get_userdata($user_id);
wp_mail(
'[email protected]',
'新規ユーザー登録通知',
"新しいユーザー '{$user->user_login}' が登録されました。"
);
}
add_action('user_register', 'notify_new_user_registration');
よくある失敗パターンと対策
失敗例1:「プラグインに頼りすぎ」
問題: セキュリティプラグインを入れただけで安心してしまう 対策: プラグインは補助的な役割。基本的なセキュリティ設定が最重要
失敗例2:「更新の先延ばし」
問題: 「動いているからいい」で更新を怠る 対策: 月1回の定期更新スケジュールを設定
実際のクライアント様では、定期更新により脆弱性攻撃を95%削減できています。
侵入されてしまった場合の復旧手順
緊急時チェックリスト
- サイトを一時的に閉鎖(maintenance modeの有効化)
- 全ユーザーアカウントの確認と不正アカウント削除
- データベースのバックアップ取得
- WordPressコアの再インストール
- プラグイン・テーマの再検査
- セキュリティ強化策の実装
データ復旧での注意点
-- 不正投稿の一括削除(慎重に実行)
DELETE FROM wp_posts
WHERE post_title LIKE '%怪しいキーワード%'
AND post_author NOT IN (正規ユーザーID);
重要: データベース操作前は必ずバックアップを取得してください。
まとめ:今すぐ実行すべき3つのアクション
今日中にやるべきこと
-
管理画面でユーザー一覧を確認
- 見覚えのないアカウントがないかチェック
- 不正アカウントがあれば即削除
-
全ユーザーのパスワード変更
- 8文字以上の英数字記号混合
- 辞書にある単語は使わない
-
WordPress・プラグインの更新
- 管理画面の「更新」から最新版に
- 更新前はバックアップを取得
継続的なセキュリティ対策
当社では、クライアント様に月次セキュリティレポートを提供し、脅威の早期発見と対策を実施しています。その結果、セキュリティインシデントを98%削減できています。
WordPressのセキュリティは一度設定したら終わりではありません。継続的な監視と定期的なメンテナンスが不可欠です。
「自社での対応に不安がある」「専門的なセキュリティ対策を相談したい」という場合は、お気軽にFivenine Designまでご相談ください。神奈川を拠点に20年以上の実績で、あなたのWordPressサイトを確実に守ります。