ドキュメント / Sentinel Security / 機能

ファイル変更監視

ファイル変更監視

ファイル変更監視は、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 からダウンロードしてローカルで比較してください。

設定方法

  1. SentinelSecurityFile Change Monitor を開きます
  2. 初回スキャン ボタンでベースラインを作成します
  3. スキャン対象ディレクトリを選択します
  4. 除外パターンを設定します(ログファイル、キャッシュなど)

除外設定

以下のファイルやディレクトリはスキャン対象から除外することを推奨します。

  • wp-content/cache/ — キャッシュプラグインの一時ファイル
  • *.log — ログファイル
  • wp-content/uploads/*.jpg
    png
    gif
    — メディアファイル(大量でスキャンが遅くなる場合)

スキャン結果の確認

スキャン結果はリスト(テーブル)形式で表示されます。各スキャンの実行時刻・種別・変更/追加/削除のファイル数が一覧で確認できます。

項目内容
スキャン時刻スキャンの実行日時
種別初回 / 手動 / 自動
変更内容が変更されたファイル数
追加新規追加されたファイル数
削除削除されたファイル数
変更があったスキャン行の「詳細」をクリックすると、対象ファイルの一覧と diff(差分)を確認できます。

監視範囲の選択

どのディレクトリを監視対象にするかは、ツリー形式のチェックボックスで選択します。ディレクトリの展開/折りたたみが可能で、必要な範囲だけを効率的に指定できます。

変更が検知された場合の対応

1. 正当な変更の確認

WordPress の更新、プラグインの更新、テーマの編集など、自分で行った変更であれば問題ありません。ベースラインを更新して承認してください。

2. 不審な変更の調査

身に覚えのない変更が検知された場合は、以下の手順で調査します。

  1. 変更されたファイルの内容を確認: diff 表示で変更箇所を特定
  2. バックドアの疑いがある場合: eval/base64 等の不審なコードの有無
  3. WordPress コアの場合: 公式から同バージョンのファイルをダウンロードして比較
  4. 対処: 不審なコードの削除、またはクリーンなファイルで上書き

3. 緊急対応

明らかな不正改ざんが見つかった場合は、以下の手順で対応してください。

  1. サイトをメンテナンスモードにする
  2. すべてのパスワードを変更(WordPress、FTP、データベース)
  3. WordPress コアファイルを公式版で上書き
  4. クリーンなバックアップからの復元
  5. ファイル変更監視の再スキャンで復旧を確認

メール通知

ファイル変更が検知された場合、管理者にメールで通知されます。通知内容には以下が含まれます。

  • 変更されたファイルの一覧
  • 変更タイプ(変更/追加/削除)
  • スキャン日時