# -*-mode:text-*- # $Id: README-JP,v 1.12 2004/03/09 03:57:20 hironobu Exp hironobu $ # (C) 1999-2002 Hironobu SUZUKI # GNU General Public License Software. # # Clscan Official Mail Address: clscan@h2np.net * clscan --- セキュリティログを解析するツール ルータのログやTCPWRAPPERのログを解析するための汎用に作られた簡易ツール です。標準入力からログを与えます。出力にはテキストモード、HTMLモードを サポートしています。statform.plはclscanで作られたHTMLファイルから統計 情報を含んだHTMLファイルを作成するサブプログラムです。 [注意] clscanはついこのあいだまでlscanという名称でした。しかし 世の中に同じ名前で、しかも似たような目的のために使う商品ツール が存在していたので混同を避けるためにclscan (Common Log Scan Tool)という名称に変更しました。 * サポートしているログ ルータ類 MN128ファミリ CISCO1003 CISCO2500 YAMAHA RTファミリ NetVehicle NEC COMSTARZ IODATA NP-BBRファミリ NTT-ME BA8000Pro NTT-ME MN8300w (新規サポート) ツール類 TCPWRAPPER IP Filter iptables * オプション clscan [option] -config=コンフィルファイル -outputformat=フォーマット (html,text) ex) clscan -outputformat=html clscan -outputformat=text -logfile=入力ログファイル -htmlfile=出力HTMLファイル -textfile=出力TEXTファイル -sitename=任意のサイト名 perl $CLSCANHOME/bin/statform.pl [option] -help 使い方 * コンフィグファイルフォーマット $CLSCANHOME/etc/sample-class-conf と $CLSCANHOME/etc/paranoid.confが参 考になります。 ** Class クラスとは、検出したプロトコルに対しどのレベルで処理するかを 記述します。表記は次のリストになっています。 クラス(Alert,Warn,Ignore)[空白]サービス名[空白]プロトコル クラスはAlert(警告)、Warn(注意)、Ignore(無視)の3つのクラスがあります。 サービス名とははsmtpとかtelnetといったサービスの名前です。 プロトコルは、使うシステムによって表現が違います。MN128やCISCOなどは" ポート番号/プロトコル種別"といった表現形式です。 ex: (mn128.conf/cisco1003.conf etc.) Alert pop3 110/tcp 一方TCPWRAPPERはinetd.confで使われるようなプロトコルデーモンの表記となっ ています。 ex:(tcpwrapper.conf) Alert pop ipop3d [注意] 何をalertやwarningとし、何をignoreするのかは利用されるサイトの 環境による。外部からのアクセスをすべてを拒絶しているルータ(サ イト)であっても外部からアクセスが行われることがあるのに注意さ れたい。例えば、どこかにftpを行いファイルをダウンロードしよう とした時、ユーザの確認をするために113/tcp (in.identd)などが認 証のためにアクセスされる場合がある。また80/tcp(httpd)などは検 索サイトなどが事前の情報収集のためにアクセスを行っている場合が ある(あまり賢い検索方法とは思えないが...)。 そのため一般的には何が正当なアクセスであるか、何が不当なアクセ スであるかは一意に決めることはできない。サイトを管理する者がそ のセキュリティポリシと、少しのネットワーク技術の常識を弁えた上 で判断しなければならない。 クラスの標準サンプルファイルを用意しました。 $CLSCANHOME/etc/sample-class-conf * インストール方法 Step 1: tarで適当な場所にアーカイブを展開する (そこがパッケージのディストリビューション・ディレクトリになります) % tar xzvf clscan-01.tar.gz Step 2: 適当な場所へコピーします。 (そこがパッケージのホームディレクトリになります) % cp -r clscan_dist /usr/local/clscan Step 3: clscanのホームディレクトリに移動しconfig.shを実行します % cd /usr/local/clscan % sh config.sh Package directory is /usr/local/clscan Package bin is /usr/local/clscan/bin Package etc is /usr/local/clscan/etc Package lib is /usr/local/clscan/lib Package doc is /usr/local/clscan/doc Sure? [n/Y] Y <--よければ"Y"を入力します 2921 # 3048 done % * clscanの利用方法 まずセキュリティに関するログをsyslog経由で記録していることが前提条件で す。以下に利用例を上げます。 ** MN128のための利用方法 % clscan -config=$CLSCANHOME/etc/mn128.conf -outputformat=html \ < MN128のログ > foo.html ** CISCO1003のための利用方法 % clscan -config=$CLSCANHOME/etc/cisco1003.conf -outputformat=html \ < CISCO1003のログ > foo.html ** CISCO2500のための利用方法 % clscan -config=$CLSCANHOME/etc/cisco2500.conf -outputformat=html \ < CISCO2500のログ > foo.html ** YAMAHA RTのための利用方法 % clscan -config=$CLSCANHOME/etc/rt80i.conf -outputformat=html \ < YAMAHARTのログ > foo.html ** NetVehicleのための利用方法 % clscan -config=$CLSCANHOME/etc/NetVehicle.conf -outputformat=html \ < NetVehicleのログ > foo.html ** COMSTARZための利用方法 % clscan -config=$CLSCANHOME/etc/comstarz.conf -outputformat=html \ < Comstarzのログ > foo.html ** IODATA NP-BBRための利用方法 % clscan -config=$CLSCANHOME/etc/iodatanpbbr.conf -outputformat=html \ < NP-BBRのログ > foo.html ** NTT-ME BA8000Proための利用方法 % clscan -config=$CLSCANHOME/etc/ba8000.conf -outputformat=html \ < BA8000Proのログ > foo.html ** NTT-ME MN8300Wための利用方法 % clscan -config=$CLSCANHOME/etc/mn8300w.conf -outputformat=html \ < mn8300wのログ > foo.html ** TCPWRAPPERのための利用方法 % clscan -config=$CLSCANHOME/etc/tcpwrapper.conf -outputformat=html \ < tcpwrapperのログ > foo.html ** IP Filterのための利用方法 % clscan -config=$CLSCANHOME/etc/ipf.conf -outputformat=html \ < ipfのログ > foo.html [注意] ipf で吐き出す log は none-lookup 形式の option 指定のものです。 FQDN 形式はサポートしていません。 ** iptables のための利用法 (NEW) % clscan -config=$CLSCANHOME/etc/iptables.conf -outputformat=html \ < SYSLOG_OF_IPTABLES > foo.html ** statform.plの使い方 % perl statform.pl -clscanfile=$SAVEDIR/$FNAME.html \ -htmlfile=$SAVEDIR/$FNAME.stat.html -clscanfile=input_clscan_format_html -htmlfile=output_html_file ** デフォルトのコンフィグレーション 解析するルータ類、あるいはツール類が固定の場合は$CLSCANHOME/etcにある デフォルトのコンフィグレーションファイルclscan.confに記述するのが良い でしょう。たとえばTCP_WRAPPERをデフォルトとするならばtcpwrapper.conf をclscan.confにコピーします。 % cp tcpwrapper.conf clscan.conf % vi clscan.conf ---変更前--- # outputformat text <-- htmlへ変更 ---変更後--- # outputformat html --- % clscan < tcpwrapperのログ > foo.html * コンフィグレーションのTips コンフィグレーションファイルは1つ1つのサイトで違うはずです。デフォル トについて来るコンフィグレーションファイルは、あくまでも雛型だと考えて 下さい。私のサイトではこのような運用をしています。 % cp $foo/etc/tcpwrapper.conf ~/lib % vi mytcpwrapper.conf サイトに会わせた修正 % clscan -config=$CLSCANDIR/etc/mytcpwrapper.conf -logfile=/var/log/secure * 応用例 ** メールで通知 (HTMLサポートMUAへ送る)例 --- % clscan < ログ | uuencode ALERTTLIST.htm | mail -s 'LOG' your_address --- ** コマンド化した例 --- #! /bin/bash FNAME=`date +'mn128-%Y%b%d-%H%M%S'` $CMD=/usr/local/clscan/bin/clscan $CONF=/usr/local/clscan/etc/mn128.conf $LOG=/var/log/mn128 $CMD -config=$CONF -logfile=$LOG -outputformat=html -htmlfile=$FNAME.html --- * UPDATE INFO See ChangeLog * バグの送り先 clscan@h2np.net バグの現象とバグを再現するためのデータを用意して御連絡下さい。 * メーリングリスト 情報交換のためのメーリングリストを作成しました。参加する方法を知りたい 方はclscan-ml-ctl@mail.h2np.netにメール本体がguideと一言だけ書いたメー ルを送ってください。 ---- To: clscan-ml-ctl@mail.h2np.net Subject: (必要ありません) guide --- * SPECIAL THANKS TO: 本田 修啓 (Naohiro HONDA) 平野 尚志 (ひらの ひさし) NetVehicle Web Master 大和田 健一 (Kenichi OHWADA ) 新村 輝彦 (Teruhiko Shinmura) 梶野 晋 (S. Kajino) 茅中 良久 (Yoshihisa Kayanaka) 川辺 剛 (Tsuyoshi KAWABE) 杉浦 芳樹 (Yoshiki SUGIURA) Shinichirou Ohhara