ファイル変更監視
ファイル変更監視は、WordPress のファイルシステムを定期的にスキャンし、不正な変更・追加・削除を検知する機能です。SHA-256 ハッシュによる比較で、1バイトの変更も見逃しません。
なぜファイル変更監視が必要なのか
WordPress サイトへの攻撃が成功した場合、攻撃者は多くの場合、以下のような行動を取ります。
- バックドアの設置: 再侵入のためのPHPファイルを設置
- コアファイルの改ざん: wp-includes/ や wp-admin/ のファイルにマルウェアを埋め込み
- テーマ/プラグインの改ざん: 正規ファイルに悪意あるコードを追加
- 不審なファイルの追加: uploads/ ディレクトリにPHPファイルを設置
検知の仕組み
ベースラインスキャン
初回スキャン時に、対象ディレクトリ内の全ファイルの SHA-256 ハッシュを計算し、ベースラインとして保存します。
変更検知
以降のスキャンでは、ベースラインと現在のファイルを比較し、以下の変更を検知します。
| 検知タイプ | 説明 | 危険度の目安 |
|---|---|---|
| 変更 (Modified) | 既存ファイルの内容変更 | 🔴 高 |
| 追加 (Added) | 新規ファイルの出現 | 🟠 中〜高 |
| 削除 (Deleted) | ファイルの消失 | 🟡 中 |
不審パターン検知
ファイル内容のパターンマッチングにより、以下のような不審なコードを検知します。
eval(),base64_decode()の組み合わせ$_GET,$_POSTの直接実行- 難読化されたPHPコード
- マルウェアで悪用されやすい既知の不審コードパターン
スキャン対象
| ページタイプ | 対象範囲 | チェック内容 |
|---|---|---|
| WordPress コア | wp-admin/, wp-includes/ | ベースラインとの差分 |
| テーマファイル | wp-content/themes/ | ベースラインとの差分 |
| プラグインファイル | wp-content/plugins/ | ベースラインとの差分 |
| アップロード | wp-content/uploads/ | PHP実行可能ファイルの検知 |
注意: WordPress コアのスキャンは、初回スキャン時に作成したベースラインとの差分を検知します。WordPress.org 公式のハッシュとの照合は行いません。特定ファイルを手動で検証する場合は、同バージョンのファイルを wordpress.org からダウンロードしてローカルで比較してください。
設定方法
- SentinelSecurity → File Change Monitor を開きます
- 初回スキャン ボタンでベースラインを作成します
- スキャン対象ディレクトリを選択します
- 除外パターンを設定します(ログファイル、キャッシュなど)
除外設定
以下のファイルやディレクトリはスキャン対象から除外することを推奨します。
wp-content/cache/— キャッシュプラグインの一時ファイル*.log— ログファイルwp-content/uploads/*.jpg— メディアファイル(大量でスキャンが遅くなる場合)
gifpng
スキャン結果の確認
スキャン結果はリスト(テーブル)形式で表示されます。各スキャンの実行時刻・種別・変更/追加/削除のファイル数が一覧で確認できます。
| 項目 | 内容 |
|---|---|
| スキャン時刻 | スキャンの実行日時 |
| 種別 | 初回 / 手動 / 自動 |
| 変更 | 内容が変更されたファイル数 |
| 追加 | 新規追加されたファイル数 |
| 削除 | 削除されたファイル数 |
監視範囲の選択
どのディレクトリを監視対象にするかは、ツリー形式のチェックボックスで選択します。ディレクトリの展開/折りたたみが可能で、必要な範囲だけを効率的に指定できます。
変更が検知された場合の対応
1. 正当な変更の確認
WordPress の更新、プラグインの更新、テーマの編集など、自分で行った変更であれば問題ありません。ベースラインを更新して承認してください。
2. 不審な変更の調査
身に覚えのない変更が検知された場合は、以下の手順で調査します。
- 変更されたファイルの内容を確認: diff 表示で変更箇所を特定
- バックドアの疑いがある場合: eval/base64 等の不審なコードの有無
- WordPress コアの場合: 公式から同バージョンのファイルをダウンロードして比較
- 対処: 不審なコードの削除、またはクリーンなファイルで上書き
3. 緊急対応
明らかな不正改ざんが見つかった場合は、以下の手順で対応してください。
- サイトをメンテナンスモードにする
- すべてのパスワードを変更(WordPress、FTP、データベース)
- WordPress コアファイルを公式版で上書き
- クリーンなバックアップからの復元
- ファイル変更監視の再スキャンで復旧を確認
メール通知
ファイル変更が検知された場合、管理者にメールで通知されます。通知内容には以下が含まれます。
- 変更されたファイルの一覧
- 変更タイプ(変更/追加/削除)
- スキャン日時