ファイル整合性監視
ファイル整合性監視は、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実行可能ファイルの検知 |
設定方法
- SentinelSecurity → ファイル整合性 を開きます
- 初回スキャン ボタンでベースラインを作成します
- スキャン対象ディレクトリを選択します
- 除外パターンを設定します(ログファイル、キャッシュなど)
除外設定
以下のファイルやディレクトリはスキャン対象から除外することを推奨します。
wp-content/cache/— キャッシュプラグインの一時ファイル*.log— ログファイルwp-content/uploads/*.jpg— メディアファイル(大量でスキャンが遅くなる場合)
gifpng
ディレクトリツリー表示
スキャン結果は、ファイルマネージャーのようなディレクトリツリー形式で表示されます。各ファイルに色分けされたアイコンが表示されるため、一目で問題箇所を特定できます。
- 🟢 変更なし
- 🔴 変更あり
- 🟠 新規追加
- ⚪ 削除済み
変更が検知された場合の対応
1. 正当な変更の確認
WordPress の更新、プラグインの更新、テーマの編集など、自分で行った変更であれば問題ありません。ベースラインを更新して承認してください。
2. 不審な変更の調査
身に覚えのない変更が検知された場合は、以下の手順で調査します。
- 変更されたファイルの内容を確認: diff 表示で変更箇所を特定
- バックドアの疑いがある場合: eval/base64 等の不審なコードの有無
- WordPress コアの場合: 公式から同バージョンのファイルをダウンロードして比較
- 対処: 不審なコードの削除、またはクリーンなファイルで上書き
3. 緊急対応
明らかな不正改ざんが見つかった場合は、以下の手順で対応してください。
- サイトをメンテナンスモードにする
- すべてのパスワードを変更(WordPress、FTP、データベース)
- WordPress コアファイルを公式版で上書き
- クリーンなバックアップからの復元
- ファイル整合性の再スキャンで復旧を確認
メール通知
ファイル変更が検知された場合、管理者にメールで通知されます。通知内容には以下が含まれます。
- 変更されたファイルの一覧
- 変更タイプ(変更/追加/削除)
- スキャン日時