📋 目次

🎯 1. なぜ監視が重要か:検出の遅れが被害を拡大する

WordPressへの不正アクセスや改ざんは、発覚までに平均数週間〜数ヶ月かかるケースがあります。この間、攻撃者はサイトを踏み台にしてスパム送信・他サイトへの攻撃・個人情報の窃取を続けています。監視体制を整えることで被害を最小限に抑えられます。

監視の種類何を検出するか推奨ツール費用
アクセスログ監視不正ログイン試行・スキャン攻撃・異常なリクエストサーバーログ・Wordfenceライブトラフィック無料
ファイル変更監視PHPファイルの改ざん・マルウェア設置Wordfence・iThemes Security無料
死活監視サイトダウン・応答速度の異常UptimeRobot・BetterUptime無料〜有料
操作ログ管理画面の不審な操作・不正ユーザー作成WP Activity Log無料〜有料
Googleサーチコンソールマルウェア警告・手動ペナルティGoogle Search Console無料

📋 2. アクセスログの読み方と不正アクセスの検出

アクセスログにはサーバーへの全リクエストが記録されています。不正アクセスの兆候を読み取る方法を解説します。

アクセスログの基本フォーマット

# アクセスログの1行(Combined Log Format)
192.168.1.1 - - [21/Feb/2026:12:34:56 +0900] "POST /wp-login.php HTTP/1.1" 200 1234 "-" "Mozilla/5.0"
# ↑IPアドレス  ↑日時                        ↑メソッド ↑URL          ↑ステータス ↑バイト数 ↑UA

# 要注意のログパターン
# ① wp-login.phpへの大量POST(ブルートフォース攻撃)
grep "POST /wp-login.php" access_log | wc -l

# ② xmlrpc.phpへのPOSTリクエスト(API悪用)
grep "POST /xmlrpc.php" access_log

# ③ 存在しないファイルへのアクセス(スキャン攻撃)
grep '" 404 ' access_log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

# ④ 短時間に大量リクエスト送信元IP
grep "21/Feb/2026" access_log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20

不正アクセスの典型パターンと対応

🚨 ブルートフォース攻撃の検出

同一IPから/wp-login.phpへのPOSTが短時間に大量発生。対応:Wordfenceのブルートフォース保護を有効化、CloudflareでそのIPをブロック。→ ログインセキュリティ参照

🔍 脆弱性スキャンの検出

短時間に多数の異なるURLへの404エラーが集中。WPScan・Niktoなどのスキャンツールのユーザーエージェントが含まれる。対応:WAFで既知スキャナーのUAをブロック。

🔀 不審なリダイレクトの発見

ログに301302のレスポンスで外部サイトへの転送が記録されている。マルウェアが.htaccessを書き換えている可能性。対応:マルウェアスキャンを即実施。

💡 差別化情報:GoAccessでログを可視化する
SSHが使えるサーバーでは、GoAccess(無料のオープンソースツール)でアクセスログをリアルタイムにグラフィカルなHTMLレポートに変換できます。goaccess access_log -o report.html --log-format=COMBINEDで攻撃元のIP・地域・パターンを視覚的に把握できます。

📁 3. ファイル変更監視の設定

WordPressのPHPファイルが予期せず変更された場合、マルウェアが設置された可能性があります。ファイル変更を即座に検知する仕組みを設定しましょう。

Wordfenceでファイル変更監視を設定

1

Wordfenceのスキャン設定を開く

管理画面 → Wordfence → スキャン → 「スキャンオプションとスケジュール」をクリックします。

2

スキャンスケジュールを設定

自動スキャンを「毎日」に設定。無料版は自動スキャン頻度が制限されますが、毎日手動スキャンでも効果があります。

3

メールアラートを設定

Wordfence → 全般設定 → 「アラート」で「新しいIPが管理者としてログインした場合」「コアファイルが変更された場合」のアラートを有効にします。

Linuxコマンドでファイル変更を監視(SSH使用・上級)

# 過去24時間以内に変更されたPHPファイルを検出
find /path/to/wordpress -name "*.php" -newer /tmp/reference_file -type f

# 基準ファイルを作成(毎日Cronで実行)
touch /tmp/reference_file

# uploads内のPHPファイル(通常は存在しない)を監視
find /path/to/wordpress/wp-content/uploads -name "*.php" -type f

# ハッシュ値でファイル整合性を検証
find /path/to/wordpress/wp-admin -type f -name "*.php" | xargs md5sum > /tmp/wp_hashes.txt
# 後日比較:
md5sum -c /tmp/wp_hashes.txt 2>&1 | grep FAILED

⏱️ 4. 死活監視(Uptime監視)の設定

サイトがダウンした際に即座に通知を受け取ることで、攻撃やサーバー障害への対応を最速で行えます。

サービス無料プランの監視間隔通知方法特徴
UptimeRobot5分おき(50サイトまで)メール・Slack・SMS最もポピュラー・無料で十分
BetterUptime3分おき(10サイトまで)電話・Slack・メールSSL期限切れ監視も無料
Freshping1分おき(50サイトまで)メール・Slack複数拠点からの同時チェック
Google Search Consoleリアルタイム(ただし遅延あり)メールSEO問題も同時に通知

UptimeRobotの設定手順

1

UptimeRobot.comでアカウント作成

無料アカウントを作成後、「Add New Monitor」をクリックします。

2

監視の種類と対象URLを設定

Monitor Type: HTTP(s)、URL: https://yourdomain.com、Monitoring Interval: 5 minutesに設定します。

3

アラートの連絡先を設定

「Alert Contacts」でメールアドレスを追加。SlackワークスペースのWebhook URLを追加すると即座にSlackに通知が届きます。

✅ SSL証明書の期限切れ監視も設定する:BetterUptimeはSSL証明書の期限切れを事前に通知する機能があります(無料)。Let's Encryptの自動更新が失敗した場合の保険として有効です。

📝 5. WordPress操作ログの記録

誰がいつ何をしたかを記録する操作ログは、不正アクセスの調査や複数人運営サイトの管理に必須です。

WP Activity Logプラグインの設定

「WP Activity Log」(旧:WP Security Audit Log)は無料で以下の操作を記録できます。

💡 差別化情報:操作ログの改ざん防止
WP Activity Logの無料版ではログがWordPressデータベースに保存されます。攻撃者がデータベースにアクセスできる場合、ログを削除・改ざんできてしまいます。セキュリティインシデントの証拠保全が必要な場合は、ログを外部サービス(Papertrail・Loggly等)に転送する設定(WP Activity Log Premiumの機能)を検討してください。

🔔 6. Wordfenceアラートの最適設定

デフォルトのWordfenceは通知が多すぎて重要なアラートを見逃すことがあります。以下の設定に絞ることを推奨します。

アラート種類推奨設定理由
新しいIPからの管理者ログイン✅ 有効不正ログインを即座に検知
管理者以外のユーザーログイン△ サイトによる会員サイトは通知が多すぎる場合あり
IPがブロックされた❌ 無効推奨通知が多すぎて重要なアラートが埋もれる
スキャンで問題が検出された✅ 有効マルウェア・改ざんの検知に重要
WordPressコアが最新でない✅ 有効更新忘れを防ぐ
プラグインが無効化された✅ 有効不正操作の検知

🔎 7. Google公式ツールを活用した監視

1

Googleサーチコンソール「セキュリティの問題」を定期確認

毎週サーチコンソール → 「セキュリティの問題」を確認する習慣をつけましょう。マルウェア検出・ハッキング被害・不審なコンテンツが報告されます。メール通知も有効にしてください。

2

「インデックスカバレッジ」でSEOスパムを検出

急激にインデックスページ数が増加している場合、SEOスパムページが生成されている可能性があります。「URL検査」で不審なURLが存在しないか確認してください。

3

Google Analytics「リアルタイム」で不審なトラフィックを確認

通常とは異なる国・地域からの大量アクセスや、不審なランディングページへのアクセス急増はセキュリティインシデントの兆候の場合があります。

❓ よくある質問(FAQ)

WordPressのアクセスログはどこで確認できますか?
レンタルサーバーのコントロールパネル(エックスサーバーならサーバーパネル→アクセスログ)でダウンロードできます。また、Wordfenceプラグインの「ライブトラフィック」でリアルタイムにアクセスを確認できます。
ファイル変更監視とは何ですか?
サーバー上のWordPressファイルに変更が加えられた際に通知するセキュリティ機能です。マルウェアに感染するとPHPファイルが改ざんされることが多いため、変更を即座に検知できます。Wordfenceの無料版でも設定できます。
死活監視(Uptime監視)は必要ですか?
ビジネスサイトや収益サイトには必須です。UptimeRobot(無料)を使うと、サイトがダウンした際にメール・SMS・Slack等で即座に通知を受け取れます。無料プランでも5分おきの監視が可能です。
WordPressの操作ログはどうやって記録しますか?
WP Activity Logプラグイン(無料)を使うと、ユーザーのログイン・投稿の変更・プラグインの有効化・設定変更など全ての管理画面操作を記録できます。複数人で運営するサイトや企業サイトでは特に重要です。