[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%64%66%36%35%62%65%38%63%30%62%63%33%66%32%64%62%34%32%66%32%31%32%66%34%62%32%30%30%65%31%35%33%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%34%32%36%66%30%33%63%34%64%36%34%61%66%37%64%63%37%31%36%65%32%66%37%35%32%34%63%32%64%35%39%62%22%3e
© 2006 – 2014 by Luvsic. Some rights reserved.