[PHPツール] ファイルの改ざんチェッカー

クラッカーがサーバーの既存ファイルを改ざん(書き換え)し、それがサイト訪問者へウイルスを導いたり、迷惑メールを飛ばし続けたり…と、そういう事件が後を絶たないのが現状です。しかし、じゃあ後から「改ざんされたことをチェックできるか」というと、結構無理なんですね。

気づくには、サーバのファイル群へ事前に、「そのファイルは過去のものと同一のものか」とチェックできる仕込みをする必要がでてきます。

サイト改竄チェッカー

サイト改竄チェッカー

上記画像はトピック表示 - サイト改竄チェッカーを作りました - MODX JAPAN Forum 日本公式フォーラムから拝借しております。プログラムのエンジンは「CMS Made Simple内蔵のチェックサム照合エンジンを利用しています。」ということだそうで、ライセンスはGPLになるのかな?と思ったのですが、ツール内容に記述はありませんでしたのでよくわかりません。



このツールを本番サーバへのアップロード時に仕込んでおくと、のちにどのファイルが変更されたのかをチェックできます。利用手順としては下記のようになります。

  1. 本番サーバへファイル群と一緒に、このツールをアップロード
  2. ツールを起動させ、スナップショットを取る

チェック対象は「index.php から見てひとつ上の階層以下」ですので、それを考慮して配置します。これだけで下準備は完了で、のちに改ざんされていないかどうかチェックすることができます。

注意する点

ちゃんとパスワードを変更しておきましょう。あとはこのツールのインストール先(パス)が知られてしまうと、「assets/snapshot.txt」からファイル群の一覧とパスが漏れてしまいます。念には念を…という方はそれぞれを変更しておきましょう。

  • フォルダ名「check」を任意名へ変更
  • 「config.inc.php」の「$snapshot_txt」の値を変更
    例)「$snapshot_txt = 'assets/snapshotsnapshot.txt';」
  • 「config.inc.php」の「$excludes[]」の値を変更
    例)「$excludes[] = '^snapshotsnapshot\.txt';」
  • 「snapshot.txt」の名を変更してアップロード
    例)「snapshotsnapshot.txt」

実際のsnapshot.txtの中身例

画像:snapshot.txtの中身例
Skooler Records

No comments yet

%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%22%20%76%61%6c%75%65%3d%22%65%35%33%66%64%66%64%38%39%30%31%62%33%66%38%66%33%39%39%35%66%63%62%30%39%61%66%61%37%39%64%61%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%5f%68%61%73%68%22%20%76%61%6c%75%65%3d%22%65%62%38%39%34%36%64%65%34%31%64%33%31%30%63%34%38%31%61%39%38%65%36%35%36%66%61%63%63%36%34%34%22%3e
© 2006 – 2025 by Luvsic. Some rights reserved.