Nucleus(JP)フォーラム Forum Index

Find on the forum:
OR  AND    » Advanced Search

未返信の記事を表示全てのフォーラムを既読にする

新しいトピックを投稿 トピックに返信
投稿者 メッセージ
yu
モデレーター
モデレーター


登録日: 2003.11.15
記事: 718
所在地: 神奈川

記事 日時: 2006.10.07 (土) 23:55   記事の件名: ログのチェックツール
引用付きで返信

こんなツールを作ってみました(まだ発展途上ですが)。
サーバ環境のセキュリティ対策用に。
ログをチェックしてみると、いろんなウェブアプリケーションが実際にセキュリティ・ホールを狙われてることを実感できるかもしれません・・。

1)XREAではApacheの生ログが最新5日分しか保存されないので、バックアップしておきたい
→XREA用生ログ バックアップツール(logbkup.php)で、日付つきファイル名でコピー。

2)怪しいアクセスをチェックできるようにしておきたい
→Apacheログチェックツール for Nucleus(logcheck.php)で、1)でコピーした日付つきファイル名に対して、自動簡易チェック。今のところノーマルURL用。

少し改造すればほかのサーバー環境でも利用できそうです。
Idea ログチェックツールはバックアップツールと組み合わせなくても利用できます(日付指定をはずしてチェックするだけ)。
.htaccessを流用する場合は、下4行はXREA独自の設定なので削除する必要があるかもしれません。
またセーフモード制限がかかっている場合は、うまく動かない可能性があります。
たとえばモジュール版PHPがセーフモードで動作して、CGI版がそういった制限なしで実行できるサーバーの場合、PHPをCGIで動かす設定に変更して使うようにしてください。

(下記はXREA用の記述)
Code:
LayoutIgnoreURI *.php
<Files *.php>
    AddHandler application/x-httpd-phpcgi .php
</Files>


動作チェックした環境:
PHP 4.4.4 and 5.1.4
register_globals Off
magic_quotes_gpc Off


■設置方法
添付ファイルを解凍してできたフォルダ"logtools"を、フォルダごとまるごとpublic_htmlの下のlogディレクトリにアップロードします。
logディレクトリは、XREAの管理画面でPHPMyAdminをインストールしていれば、ベーシック認証の設定つきで作られているはず。
PHPファイルはCGIで動作するように同梱の.htaccessで設定されてますが、実行ファイルのパーミッション設定はとくに必要ないです。

バックアップツール用にすること(必須):
・ホーム直下のlogディレクトリ(public_html内ではないことに注意)に生ログを保存するよう、XREAの管理画面で設定する(ボタンを押す)。
・並列してホーム直下にlogbackupディレクトリを作成する。パーミッションがlogディレクトリと同じ705であることを確認。
・ソースファイルを開いて、ドメイン設定などの項目を埋める。

ログチェックツール用にすること(任意):
・ソースファイルを開いて、下位ディレクトリもチェック可能にするかなどの設定項目を変更・確認。

※変更したファイルのアップロードをお忘れなく


■バックアップツールの注意事項
1つのサーバーアカウントで多くのドメイン(サブドメイン含む)を管理してる場合や、
アクセス数の多いサイトを抱えている場合は、
すべてのログを一度に処理しようとすると負荷が大きくなる可能性があります。

■バックアップツールの詳細
デフォルトでは、年のディレクトリの下にドメイン別のディレクトリが作られ、その中に"10-06.log"など日付が頭に付いた名前でログがコピーされていきます。
すでにバックアップファイルが存在する場合は、タイムスタンプのチェックも上書きもしません。
最初に5日分のログをバックアップし終わったあとは、保存日数を1日にして、設定「ログ内容から日付を判断する」をfalseにすると、処理が軽くなります。


■ログチェックツールの注意事項
ノーマルURL用です。
ログの自動チェックは便利ですが、万能ではないです。
今のバージョンでは、普通では存在するはずのない不審なファイルに対するアクセスは捕捉できません。

Idea 10/10版からはチェック項目が選択式になり、libs, plugins, media ディレクトリへのアクセスや、管理画面、メディアアップロード画面、アクションの履歴が見れるようになっています。
チェック項目のうち上の2つは、過去のNucleusのセキュリティ・ホールに関する項目です。(Ver3.23以降であればチェックする必要はありません)
サブディレクトリも読みにいく設定などで多くのログを一度に処理しようとすると、負荷が大きくなる可能性があります。

■ログチェックツールの詳細
指定されたディレクトリ内で、日付を頭につけたファイルをチェックしに行きます。(hogehoge/10-06.log など)
日付指定のチェックをはずすと、ディレクトリ内のすべてのログファイルを対象にチェックします。

ログをスキャンしてチェックリスト(checklist.txt)の項目(正規表現)をピックアップします。
その際ホワイトリスト(whitelist.txt)に該当するものは省いて表示します。
ホワイトリストは各自で調節する必要があるかもしれません。添付のものは特定のプラグイン用のURLパラメータ記述などが入っています。
「ログ表示を短縮」チェックをはずすと、該当行のログをすべて表示します。
Idea 10/10版から、短縮表示のままでも日時が確認できるようになりました。[/code]



logcheck_ss2.gif
 説明:
ログチェック画面 - フォーム(10/10追加)
 ファイルサイズ:  10.95 KB
 閲覧済み:  7604 回

logcheck_ss2.gif



logcheck_ss3.gif
 説明:
ログチェック画面(10/10更新)
 ファイルサイズ:  17.59 KB
 閲覧済み:  7860 回

logcheck_ss3.gif



log_bkup_ss.gif
 説明:
ログバックアップ画面
 ファイルサイズ:  11.73 KB
 閲覧済み:  7860 回

log_bkup_ss.gif



logtools_1010.zip
 説明:
10/10更新

ダウンロード
 ファイル名:  logtools_1010.zip
 ファイルサイズ:  15.24 KB
 ダウンロード:  196 回


_________________
Nucleusだとか
http://nucleus.datoka.jp/


最終編集者 yu [ 2006.10.10 (火) 19:25 ], 編集回数 1 回

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
yu
モデレーター
モデレーター


登録日: 2003.11.15
記事: 718
所在地: 神奈川

記事 日時: 2006.10.08 (日) 11:18   記事の件名:
引用付きで返信

怪しげなパラメータチェックは、kimitakeさんの globalfunctions (sp3) でも出来たんですね・・・orz
Nucleusの監視運用という目的ではそっちのほうが断然合理的。
http://kimitake.blogdns.net/item/344

TODO:
nucleus関連ディレクトリへの不審アクセスの自動チェック

_________________
Nucleusだとか
http://nucleus.datoka.jp/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
yu
モデレーター
モデレーター


登録日: 2003.11.15
記事: 718
所在地: 神奈川

記事 日時: 2006.10.10 (火) 19:32   記事の件名:
引用付きで返信

■ログチェックツール
日付指定がない場合に、ディレクトリ内のログファイルをすべてスキャンできるようにしました。
ログのチェック項目を強化しました。
チェック項目を選んで実行できるようになりました(上のスクリーンショット参照)。
同一行のログで複数マッチした場合の表示をきちんとまとめるようにしました。

ログチェックツールはXREA以外の環境でも動かせる可能性が高いので、生ログを閲覧できる環境の方は、よければチャレンジしてみてください。

_________________
Nucleusだとか
http://nucleus.datoka.jp/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
新しいトピックを投稿 トピックに返信
特定期間内の記事を表示:   

Page 1 of 1

All times are GMT + 9 Hours

移動先:  

新規投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
投票参加: 不可
ファイル添付不可
ダウンロード:

Powered by phpBB © 2001, 2002 phpBB Group