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