サイト改竄(改ざん)チェッカーを作りました

自作のスニペット・プラグイン・モジュールなどがあればご紹介ください
フォーラムルール
本家フォーラムなどで既に公開されてるものは、当該トピックまたは制作者サイトなどへのリンクを張っていただくだけでも結構です。
新規部品用にトピックを立てる場合は、ここのトピックを参考に必要な情報を入力するようにしてください。
返信する
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

サイト改竄(改ざん)チェッカーを作りました

投稿記事 by yama »

画像
checker.zip
(18.42 KiB) ダウンロード数: 669 回
サイトの改竄(改ざん)をチェックするツールを作りました。MODX専用ではなく、独立アプリなので、他のCMSやCGIなどを利用している場合でも使えると思います。

●仕組み
サイト内のファイル構成を走査しスナップショットとして記録します。任意のタイミングでこれと照合し、改竄されてないかどうかチェックできます。タイムスタンプやパーミッションの違いはチェックしません。

●設置方法
解凍したファイルをフォルダごとサーバに転送してください。デフォルトではひとつ上の階層以下をチェック対象としてあるので、フォルダごとドキュメントルートに転送すると全体がチェック対象になるはずです。その他、設定はconfig.inc.phpで行ないます。

●使い方
設置ディレクトリにアクセスすると、パスワードを求められます。ここでパスワード「password」を入力するとログインできます。ロボット避け目的のパスワードなので適当ですが、気になる場合はconfig.inc.phpで変更してください。

全てのファイルをチェック対象とするとパフォーマンス上の問題があったり、システム側が正しい意図により自動的に書き換えるファイルもあると思いますので、いくつかのファイルはチェック対象から除外するようにしています。詳しくはconfig.inc.phpを参照してください。除外するファイル・ディレクトリの名前は正規表現で指定します。

●現状の問題点
cron処理を使って定期的に自動チェックできるようにも作ってありますが、あまりちゃんと作ってないのでここでは説明しません。config.inc.phpを見て分かる場合は、興味があれば試してみてください。cronを使う場合は認証しないのが不安なので(重要な情報が漏れたりサイトを破壊されたりすることはありませんが、F5攻撃をやられると弱い)、今後の課題としたいと思います。
cronでアクセスする場合のURLは index.php?a=cron になります。検査結果はメールで受信します。

現在のところ、新規に追加されたファイルの検出はできません。

●その他
CMS Made Simple内蔵のチェックサム照合エンジンを利用しています。(なのでライセンスはGPLです)
アバター
tomophy
メンバー
メンバー
記事: 58
登録日時: 2011年4月21日(木) 09:29

Re: サイト改竄(改ざん)チェッカーを作りました

投稿記事 by tomophy »

まさにサイト改ざんの被害にあったばかりだったので、サイト復旧後にこういうツールを入れたいと思っていたところです。ありがとうございます。
http://forum.modx.jp/viewtopic.php?f=32 ... 8878#p8878
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

Re: サイト改竄(改ざん)チェッカーを作りました

投稿記事 by nakahi »

yamaさん、とても有益なツールを作って頂きまして、有難うございました。

で、一つ質問なのですが、httpのサイトではログインでき、問題なく使用できますが、
httpsのサイトではログインできません。

何か別のことをしなくてはいけないのでしょうか。
それとも、自分の環境だけでしょうか?
くだらない質問で申し訳ございませんが、何かの折にでもご回答いただければ有難く存じます。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

サイト改竄(改ざん)チェッカーを作りました

投稿記事 by yama »

こちらのファイルで上書きして試してみていただけますでしょうか?
添付ファイル
snapshot.class.zip
(3.74 KiB) ダウンロード数: 662 回
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

サイト改竄(改ざん)チェッカーを作りました

投稿記事 by nakahi »

yamaさん、大変お世話になっております。

上書きしてやってみました。
問題なくログインできてチェックできました!
有難うございました!
返信する