11-5. 不正アクセスの監視 '99/04〜 (1) セキュリティの確保 * 監視ツ−ル ISS SAFEsuite 市販品 セキュリティ・チェックの市販ソフトは実質これみたい。新しい攻撃方法が見つかっ た場合は、約2週間で対応するという。アンダ−グランドから表に出てくるのが、だ いたい2週間だそうだ。独自に情報収集しているとのこと。 RealSecure はリアルタ イムに攻撃検知をするソフト。 他、System Security Scanner と Internet Scanner Bundle という製品がある。Windows NT 用のお試し版がある。国内ではアイ・エス・ エス扱い、http://www.isskk.co.jp/。ISS は Internet Security Systems。 Tripwire 市販品とフリ−ソフト ディスク・ファイルの変化を調べるソフトである。変なプログラムを置いていかれて ないか、パ−ミションを変更されていないか等チェックする。 仕組みは MD5 などの 暗号化チェックサムを利用する。 監視したいファイルを fw.config に列挙しておく。 元ファイルは比較のために必要であり、改竄されないように厳重に管理すること。で きれば CD-ROM や MO なんかに書込み禁止で入れておく。CD-ROM の Linux のディス トリビュ−ションはその点いい。http://www.tripwire.co.jp/。 tcp_wrapper フリ−ソフト inetd のサ−ビスに対して、制限をかけてそのログをとる。外部用WWWホストでは inetd は稼働させない方が無難である。どうしても必要な場合に、この tcp_wrapper を仕掛ける。/etc/inetd.conf の記述で tcp_wrapper のデ−モン、tcpd を通して例 えば telnetd が効くようにする。 telnetd 自体はロッグイン時のログしか出さない が、tcpd により細かな操作のログが残るわけである。 ちなみに TurboLinux では最 初から tcp_wrapper が仕掛けられている。 xinetd フリ−ソフト tcp_wrapper と同じようなソフトである。 違うのは inetd 自体を xinetd に置き換 えて使用することである。昔からあるが、ほとんど使われないみたいである。名前が そもそも wrapper ソフトらしくないから、なじみが湧かないのかも知れない。 機能 としては inetd と同じだが、ログが詳しくとれるという。 Swatch フリ−ソフト 任意のログファイルをリアルタイムで監視する。文字列パタ−ンを指定して、それに マッチするのが見つかったらメ−ルなどで知らせるようにする。syslogの指定したロ グをメ−ルで管理者に通知できる。文字列パタ−ンをどのように選ぶのか、それが問 題である。難点は Perl ベ−スであること。WWWホストで Perl を使えるようにす るのは少なからず危険である。似たようなフリ−ソフトで Logsurfer というもある。 Nessus alpha2 フリ−ソフト 99年4月発表されたオ−プンソ−スのセキュリティ・スキャナである。SATAN より 現実的かも知れない。試して見る価値あり。 The Nessus Project という所が作成し ている。当初 Linux のみだったが Solaris, IRIX にも対応してきている。何か元は 10代の少年が作ったとか。http://www.nessus.org/。 IDA( Intrusion Detection Agent system ) 情報処理振興事業協会セキュリティセンタ−が開発している侵入検出ソフト。99年 の7月に公開するとあった。期待したい。Solaris 2.5.1 用。またここではセキュリ ティの評価基準も定めようとしている。管理者にとって無関係でない。要チェックで ある。http://www.ipa.go.jp/SECURITY/pub/iad/jp/index.html。'99/07/12に知った。 Snort フリ−ソフト 不正侵入検出ツ−ルのソフトとして人気が出てきているもよう。400以上の侵入方 法をル−ルベ−ス化して、マッチングするようになっている。このル−ルベ−スは日 々更新されているとのこと。UNIX, Linux, Windows に対応。「日経バイト」2001/03、 "ネットワ−ク管理を楽にする,ユ−ティリティ・ソフト活用術"、P.82〜83 に記事が あった。ソフト自体は 1999 年頃からあったようである。http://www.snort.org/。 WebAgain 市販品、http://www.lockstep.com/ の製品 ハッキングされたWebサイトを自動修復するソフト。 Tripwire はファイルの改竄 を検出するだけである。30分毎とか5分とか時間を設定してチェックし、元に戻す。 余分に増えたファイルもチェックし削除する。サ−バソフトとリモ−ト管理ソフトが ある。Windows 2000/XP/NT4.0。WWWブラウザで設定する。 安川情報システム(株) 扱い。NetWorld+Interop 2002 で見た。値段は不明。 PacketBlackHole 市販品、ネットエ−ジェント(株) http://www.netagent.co.jp/ 流れているパケットを全てキャプチャしてメ−ル、HTTPの内容を全部再現してしまう。 誰がどこにどんな内容のメ−ルを送ったかとか、2チャンネルに投稿した内容だとか。 ソ−トしたり、検索できる。侵入検知とその追跡もできる。pingやポ−トスキャンに も反応しない、ステルス装置。IPアドレスは付けるのかな?。 Cobalt みたいなキ ュ−ブ型は PBH-AQ1。NetWorld+Interop 2002 のブ−スで見た、価格は聞き忘れた。 eEye Iris 市販品、http://www.smisoft.com/ の製品 2002年12月雑誌に掲載されていたのを見た。PacketBlackHole と同じくパケッ トをキャプチャしてWeb画面の復元、メ−ルの復元を行う。eEye Iris はソフトそ のもので価格は 24.8 万円。SonicWALL を扱う(株)住友金属システムソリュ−ション ズが販売する。開発は米国eCompany, Inc.。 対応OSは Windows NT 4.0/2000 でブ ラウザは Internet Explorer。ログ保存用ディスクに 10 GB 以上を推奨。 * 他セキュリティ・メモ ・JPNIC の whois サ−ビスで JPNIC が攻撃されたことがある。どこにでもセキュリティ ホ−ルはあるものだ。 ・侵入者は /bin/login を置き換えて、特定な名前でロッグインした場合にログが残らな いようにもする。 ・Windows NT には telnet サ−ビスがない。NT のリモ−ト管理ツ−ル NetBus は、リモ −トでなんでもできてしまう。 ・core ファイルを見れば強制的にリブ−トしたり、 クラッシュした時の操作なんかが分 かる場合があるという。どういうように見るのか知らないのだが。 * Tripwire 2.4 日本語版について `21/12 国内でもWWWサ−バのコンテンツの改竄事件が、教科書問題や米国のアフガニスタン攻 撃などが影響してか頻繁に起こるようになった。それに今後ますます重要になる個人認証 の鍵となるデジタルIDを管理する会社のコンテンツ改竄。ル−トCAをやるという会社 が、これでは困る。絶対的な信用が必要なところではないか。日本ボルチモアは2001 年10月8日、2度もコンテンツを改竄されていた。調べたら日本ベリサインも2001 年8月6日やられていた。そんなこともあって、急に脚光を浴びてきたのが、WWWサ− バのコンテンツ改竄チェックソフト Tripwire である。2001年5月、幕張のインタ− ロップに行った際、結構宣伝していた。その後雑誌にも、再々登場している。そして8月 上旬から日本語版を発売開始している。フリ−扱いのアカデミック版もまだあるが、大学 関係でないと使うことはできない。ちゃんと学校ですと登録するWeb画面がある。 商用版はWWWアクセスのGUIで設定でき、監視するにもWWW画面で見易いみたいで ある。WWWコンテンツ用には Tripwire for Web Pages, Apache Edition というソフト がある。改竄があったら、管理者にメ−ルを直ちに送る。あるいはすぐさま一時閲覧不能 とか、ただ今調整中ですとホ−ムペ−ジに出すようにできる。価格は 23.4 万円。WWW サ−バは Apache 1.3.12 が対象である。Windows NT 4.0/2000, Solaris 2.6/7/8, Linux に対応する。汎用的なファイル改竄チェックのソフトは、Tripwire for Server 2.4 日本 語版がある。これは 18 万円である。さらにこれを複数、統合管理するTripwire Manager 2.4 日本語版もある、174 万円。セキュリティ監視のサ−ビスを請け負う会社向けだと思 う。Server も Manager も Windows NT 4.0/2000 と Solaris の対応版がある。ともかく 今後は、ホ−ムペ−ジ改竄の放置は企業の信用に関わる重大な問題と認識すべきである。 Tripwire 2.2.1 for Linux RedHat 5.1, 6.1 正式サポ−ト > http://www.tripwire.co.jp/ から無償ダウンロ−ド Tripwire 1.3.1 Academic Source Release 米国 Purdue 大学での研究成果 > http://www.tripwire.co.jp/ から無償ダウンロ−ド Tripwire 1.2 フリ−ソフトとして最後のバ−ジョン( IRIX 5.3 でコンパイルしてみた ) > ftp://ftp.spin.ad.jp/pub/Security/tripwire/tripwire-1.2.tar.Z * 参考文献など 「UNIX MAGAZINE」'96/07, P.93〜, "転ばぬ先のセキュリティ25, Tripwire", 山本和彦。 > 侵入の検知、Tripwire の設定、運用、インスト−ル。 「UNIX MAGAZINE」'99/03, P.13〜, "UNIX Communication Notes, ネットワ−ク管理(13), > 山口英"。ファイルの属性、検査、MD5、tripwire。 「Tripwire for Linux」 O'REILY Japan, `21/04, 2,000 円+税。ISBN4-87311-041-6。 > 2001年12月、Tripwire を再度調べていて見つけた。 「UNIX MAGAZINE」'98/01, P.93〜,"TCP wrapperを用いたセキュリティfrom UNIX REVIEW"。 > 侵入者に検知されない構成について。 http://www.jpcert.or.jp/secinfos.html > CERT の Tech Tips。RFC 2916 "Site Security Handbook"。 http://www.vogue.is.uec.ac.jp/%7Esetaka/IDS/ 電通大 `21/03 追加。 > "Information Security and Intrusion Detection", 情報セキュリティと不正侵入検知。 "Security and IDS tools", セキュリティおよび不正侵入検知ツ−ル。 「Software Design」`21/02, P.46〜54, "swatchを使ったログ設定と不正アクセスの検出"。 > syslog.conf の記述に詳しい。安定稼働で実績のある swatch-2.2 をインスト−ル。 「Software Design」`22/01, P.36〜47, "ポ−ト監視から始めるセキュリティ − Nessus"。 > P.48〜57,"侵入者は逃がさない フリ−の IDS ツ−ル活用術 Tripwire 〜間違い探し〜、 snort 〜システムのレ−ダ−施設〜。 「Software Design」`23/05, P.179〜223,"ネットワ−クセキュリティ最新自己防衛ガイド > ライン。P.188〜197, "悪者を探し出せ! 高機能 IDS Snort 活用のツボ"。P.198〜203, "潜んでいるヤツをチェックしろ! chkrootkit で安定稼働"。 追加:「UNIX MAGAZINE」`22/03, ネットワ−ク管理ツ−ル。 `22/05, 侵入チェックなど。 「Software Design」`22/01, ネットワ−ク行く年来る年総点検。`23/05, 最新自己防衛ガ イドライン。`24/09 もう Tripwire というより IPS 侵入防御アプライアンスだな。 (2) 改竄チェックの基本 * チェック・サムのプログラム ファイルの改竄チェックの基本であるチェック・サムについて少し調べておこう。INDYで も Apollo でも EWSには最初から sum というファイルのサマリ−を出すコマンドがあ る。しかしこの sum は脆弱で、 同じ値を出すように元ファイルを改竄することは比較的 容易らしい。Tripwire なんかでは強力でよく知られた md5 というのを使っている。 md5 は一方向ハッシュ関数という数学的なアルゴリズムを用いている。md5 に文字列を与える と、ハッシュ関数で計算した短い文字列(ハッシュ値)を吐き出す。元の文字列とハッシ ュ値は1対1対応する。少しでも元の文字列をいじると、二度と同じハッシュ値は出てこ ない。ただの sum はもっと簡単なアルゴリズム CRC を使っている。 それでは md5 のソ−スを ftp.stanford.edu から先ずとってこよう。 MD5.tar をダウン ロ−ドしてみた。$ tar xvf MD5.tar すると、カレントディレクトリに展開する。そこで /usr/local/source/md5 というディレクトリを作り、ここに展開することにする。makeは すぐ終わる。INDY IRIX 5.3 と Apollo で make やってみたが、どちらも特に問題なかっ た。make test もやってみよう。./md5 -x とやるとプログラムの中で md5 -sabc という ようにテストする。Makefile にはあらかじめテストしたハッシュ値があり、 それと比較 するようになっている。 $ ftp ftp.stanford.edu ftp> cd general/security-tools/md5 ftp> ls -rw------- 1 ... 570 Dec 19 1995 FILES -rw------- 1 ... 81920 Dec 19 1995 MD5.tar -rw------- 1 ... 34370 Dec 19 1995 MD5.tar.Z -rw------- 1 ... 284 Dec 19 1995 MD5.tar.asc -rw------- 1 ... 21406 Dec 19 1995 MD5.tar.gz $ /bin/make $ ld MD5.tar global.h md5.1.ps md5c.c mddriver.o Makefile md5 md5c.o rfc1321.txt README md5.1 md5.h mddriver.c md5.1.txt << マニュアル。 $ /bin/make test echo 'MD5 test suite:' > test.rfc echo 'MD5 ("") = d41d8cd98f00b204e9800998ecf8427e' >> test.rfc echo 'MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661' >> test.rfc echo 'MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72' >> test.rfc | ./md5 -x | diff - test.rfc > diffs 2>&1 << diff で差分をとり比較する。 *** MD5 Test Passed << テストOK。改竄なし。 rm -f diffs * md5 プログラムの使い方 $ md5 -sabc << -s で文字列を与える。 MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72 $ md5 file1 rfc1321.txt << ファイルは複数指定ができる。 MD5 (file1) = 0bee89b07a248e27c83fc3d5951213c1 MD5 (rfc1321.txt) = 754b9db19f79dbc4992f7166eb0f37ce file1 これ注意。file1 の中身は "abc" なのだが、 md5 -sabc と ----- 異なる値になっている。ファイルの記述だとラインフィ−ド |abc などが見えない文字として入るので違っているのだ。 * その他確認 下記はWWWサ−バの暗号化モジュ−ルの SSL に入っていた md5 コマンドである。上の md5 と同じになるか試して見た。同じでした。 次の sum は INDY のマシンに最初から入 っているチェックサム・コマンドである。ただし、Apollo の sum コマンドとでは出た値 は同じにならなかった。 % /usr/local/ssl/bin/md5 rfc1321.txt MD5(rfc1321.txt)= 754b9db19f79dbc4992f7166eb0f37ce % /usr/bin/sum rfc1321.txt 16974 69 rfc1321.txt どこかの雑誌で md5sum というコマンドの例を見た。ただの md5より使い勝手があるよう だ。同じなら OK と表示してくれるのがいい。 それに * が使えるのもいい。上記の md5 はファイル1つずつ指定しなければならない。インタ−ネットで検索してみた。群馬大学 の人がUNIXのコマンドを紹介しているサイトに説明があった。 GNU の textutils と いうパッケ−ジに含まれているそうな。http://www.cs.gunma-u.ac.jp/~5306050/unix。 % md5sum /etc/* /sbin/* > check_list % md5sum < check_list /etc/xxx: OK /etc/yyy: OK | (3) ログの仕組みについて -------------------------------------------------------------------------------- WWWホストのログを対象に Solaris 2.5.1 でのシステムログの仕組みを復習する。 -------------------------------------------------------------------------------- * Solaris のシステムログ 一般的にEWSではプログラムから直接吐き出すログと、syslogd にログを渡すものがあ ある。直接のログは /var/adm/wtmp, lastlog ファイルや httpd デ−モンのログがその 例である。syslogd を経由するのは sendmail や ftpd でオプション指定するとログが出 てくる。syslogd デ−モンを制御するファイルは /etc/syslog.conf である。またログを とって行くなら、cron も運転する必要がある。 ログはどんどん大きくなってしまうので、 ログを回転させていかなければならない。 Solaris 2.x のログは /var/adm/messages と /var/log/syslog が勝手に出ているはずである。messages の他にも、messages.0 から 3 のファイルが見えるはずである。これは SunOS 4.1.x でも同じだが。 /var/spool/cron/crontabs/root ------------------------------------ |0 2 * * 0,4 /etc/cron.d/logchecker |10 3 * * 0 /usr/lib/newsyslog << これでログを回す。元々の設定はこうなって | | いた。日曜の午前3時10分に実行するとい うこと。Solaris 2.6 も同じだった。 /usr/lib/newsyslog ------------------------------------ Solaris 2.5.1 の syslog.confファイルの記 |#! /bin/sh 述は、SunOS 4.1.x と基本的に変わってない。 |LOG=messages /usr/lib/newsyslogファイルの記述は全く同 |cd /var/adm じである。Solaris 2.6 でも全く同じだった。 |test -f $LOG.2 && mv $LOG.2 $LOG.3 |test -f $LOG.1 && mv $LOG.1 $LOG.2 |test -f $LOG.0 && mv $LOG.0 $LOG.1 |mv $LOG $LOG.0 |cp /dev/null $LOG |chmod 644 $LOG |# |LOGDIR=/var/log |LOG=syslog |if test -d $LOGDIR |then | cd $LOGDIR | if test -s $LOG | then | test -f $LOG.6 && mv $LOG.6 $LOG.7 | test -f $LOG.5 && mv $LOG.5 $LOG.6 | | | test -f $LOG.0 && mv $LOG.0 $LOG.1 | mv $LOG $LOG.0 | cp /dev/null $LOG | chmod 666 $LOG | sleep 40 | fi |fi |# |kill -HUP `cat /etc/syslog.pid` /etc/inetd.conf FTP アクセスの詳細なログを取る。 ------------------------------------------------------------------------- |#ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd |ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -ld | | [ Solaris 2.6 での後日の確認 ] `27/09 /usr/sbin/syslogd & とやったら /var/adm/messages にログが一杯できた、syslogdを起 動した時刻で数百行のログが出た、どうもこれまでこのホストに起きた事がどこかに記録 されていて、messagesファイルに書き出されたみたいである。でもその時の時刻が出てな いので、いつの出来事かは分からない。syslogd起動のログは /var/log/syslog の方には 何もでなかった。メ−ルのログは /var/log/syslog にできる、syslogd稼働状態でsyslog ファイルを消してみた場合、どうなるかいろいろやってみた。 1) # touch /var/log/syslog でファイルを作成したらメ−ルのログは記録された。 2) syslogd を再起動しても /var/log/syslog ファイルは生成されない。 3) syslogd を再起動または % kill -HUP syslog_id やると、ファイルがないと怒られた。 * ロッグインのログ ちょっと確認してみた。INDY IRIX 5.3 で確かめた時は下記のファイルで SYSLOG=ALL に しておけば、全てのロッグインを記録した。 FAIL とするとロッグインに失敗した場合の み記録した。どうも Solaris 2.x では違うみたいである。SYSLOG=YES 部はコメントにす るか、そのままかの指定しかできないようである。ALL も FAIL もない。ともかく login のログをとるには、/etc/default/login で SYSLOG=YES 指定にして、 /etc/syslog.conf の auth.notice 部を有効にすると /var/log/authlog ファイルに記録される。 ただし取 られるログは成功したロッグインだけである。 失敗したロッグインの記録をとるには、/var/adm/loginlog というファイルを作っておく。 するとロッグインが5回以上失敗した場合、このファイルにログが取られる。しかしこれ では困る。/etc/default/su の方は、syslogにログが行くようなこと書いてあるが出ない。 なんか変です。last というコマンドでもロッグインの記録は見れる。 /var/adm/lastlog を参照する。このファイルはバイナリになっている。 /var/adm/sulog は消してもまたで きる。/var/log/authlog は消すと勝手にはできない。 # touch authlog でファイルを作 成し、-rw ---- root sys とすること。loginlog ファイルも同じプロテクションにする。 /etc/default/login ---------------------- |CONSOLE=/dev/console << デフォルトはコメントになっていて、どこからでも誰 | | でもOK。コメントを外しコンソ−ルからしかロッグ | | インできないようにする。 |SYSLOG=YES << syslogd にログがいく。 /etc/default/su ---------------------- |SULOG=/var/adm/sulog << su ロッグインのログ。失敗した分は記録されない?。 |#CONSOLE=/dev/console << コンソ−ルからしか su できないようにする?。 | | |SYSLOG=YES << syslogd にログがいくはずだが、ログは出ないぞ?。 * syslog.conf の見方 /etc/syslog.conf ----------------------------------------------------------------------------- |*.err;kern.debug;auth.notice;user.none /dev/console |*.err;kern.debug;daemon,auth.notice;mail.crit;user.none /var/adm/messages |lpr.debug /var/adm/lpd-errs | |*.alert;kern.err;daemon.err;user.none operator |*.alert;user.none root |*.emerg;user.none * | |#auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost) |mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost) | ↑ |ifdef(`LOGHOST', , メ−ルサ−バのログ |user.err /dev/console |user.err /var/adm/messages |user.alert `root, operator' |user.emerg * |) 少し分かりにくい記述がある。ifdef(`LOGHOST', /var/log/syslog, @loghost)。 こりゃ 一体何だ。`LOGHOST' というのは /etc/hosts ファイルで、そのマシンのアドレスの別名 に loghost がある場合、LOGHOST が定義されていると見る。 定義されていればすぐ次の /var/log/syslog にログを書込む。loghost が他のマシンを示す場合は、そのマシンにロ グを転送する。 LOGHOST というのは # echo $LOGHOST とやれば出てくる環境変数のよう な気がするがそうではないらしい。 /etc/hosts --------------------------------- |127.0.0.1 localhost loghost * inetd のログを取る Solaris 2.6 では /usr/sbin/inetd -s -t の -t 指定でログを出すことができる。 これ は Solaris 2.5 でもできたと思うが。inetd は /etc/rc2.d/S72inetsvc で起動制御され る。ログは syslog 経由で残るようになっている。 /etc/syslog.conf の daemon.notice を有効にすること。デフォルトではコメントは外され有効になっている。 ログは TCP パ ケットが対象となる。 クライアントのIPアドレスと TCP ポ−ト番号に、サ−ビス名が 記録される。UDP はトレ−スされない。 /etc/syslog.conf -------------------------------------------------------------- |*.err;kern.notice;auth.notice /dev/console |*.err;kern.debug;daemon.notice;mail.crit /var/adm/messages | | * last コマンド last は /var/adm/wtmp からロッグイン、ロッグアウト情報を出す。特定ユ−ザの記録を 表示するには #last katou とする。関連ファイルは /etc/utmp, /var/adm/lastlog であ る。last で出て来るログは、最初の表示が一番新しいロッグインである。% last -10 と かすると、最初から10個分表示する。下記ではホスト indy2 で katou がロッグインし て作業中と分かる。そして一番最近、 ホスト node_apollo からアクセスがあり root ロ ッグインしていた、アクセスは telnet をした。過去に node_apollo から ftp もあった ことも分かる。マシンのリブ−トも記録されている。追記、Solaris 9 の場合も、who が /var/adm/utmpx を使い現在ログイン中のユ−ザを表示する。utmp ファイルは Solaris 9 にはない。last は /var/adm/wtmpx を使う。 ファイルを使ったかどうかはコマンドを叩 いて、# ls -lu とやればファイルに最後にアクセスした時刻が出るので確認できる。 indy2 # last root ttyq2 node_apollo Tue Mar 6 17:17 - 17:18 (00:00) katou ttyq1 :0.0 Tue Mar 6 16:14 still logged in nix ttyq4 indy1 Tue Mar 6 14:16 - 14:24 (00:07) root ftp1898 UNKNOWN@node_apollo Thu Mar 6 13:37 - 13:38 (00:01) | * Solaris 9 での wtmpx ファイル マシンがダウンした。ハ−ドディスクがおかしくなって立ち上がって来なかった。優秀な サポ−トのアドバイスにより fsck で修復した。 lost+found に壊れたファイルの残骸を 見て、実体があるファイルはほとんど壊れてなかったようである。ひょっとして壊れたフ ァイルは1つこれだったかも。/var/adm/wtmpx がなくなっていた、utmpx はあった。 # last /var/adm/wtmpx: ファイルもディレクトリもありません。 [ 別な同じOSのマシンでの様子 ] 正常な様子の参考 # ls -lu /var/adm -r--r--r-- 1 root other 17724 4月 20日 15:25 lastlog ログインの記 -rw-r--r-- 1 root bin 5580 4月 20日 15:23 utmpx 録が残るファ -rw-r--r-- 1 adm adm 912144 4月 18日 09:51 wtmpx イルはこれら。 # ls -al /var/adm -r--r--r-- 1 root other 17724 4月 15日 10:55 lastlog -rw-r--r-- 1 root bin 5580 4月 13日 09:35 utmpx -rw-r--r-- 1 adm adm 912144 4月 15日 10:55 wtmpx [ ディスクが壊れたマシンで修復 ] 打ったコマンドを手短にまとめてみただけ。 # cd /var/adm; touch wtmpx; ls -al -rw-r--r-- 1 root other 0 4月 20日 14:49 wtmpx # chown adm wtmpx; chgrp adm wtmpx # last wtmp の始まり Wed Apr 20 14:51 node_abcd というホスト名の Apollo から telnet をかけてみた。 # last root pts/2 node_abcd Wed Apr 20 14:52 - 14:53 (00:00) # who root console 4月 14日 16:09 root pts/1 4月 14日 16:11 (node_abcd) * その他メモ lastcomm は /var/adm/acct 記録を元に、実行されたコマンドを時刻順に詳しく報告する。 auditd デ−モンは誰が何をしているか見ることができる。Solaris は /usr/sbin にある。 システムの性能に関するログは /var/spool/cron/crontabs/sys で /usr/lib/sa/sa1,sa2 を稼働させる。sa1 は sadc を、sa2 は sar コマンドを呼び出す。特に必要なし。 (4) 監視プログラムを設定する -------------------------------------------------------------------------------- WWWホストのセキュリティ監視のため Solaris 2.6 を対象とする。とりあえず Swatch を使ってみるが、有効性の程はやってみないと分からない。更にはファイルの改竄チェッ クのため、Solaris 2.x の ASET をWWWホストに仕掛けたい。 -------------------------------------------------------------------------------- * Swatch による監視 syslog のパケットを WWW ホストから Mail ホストへ転送し、そこで Swatch を用いてロ グの監視をする。WWW ホストでは通常何も作業をしない。もくもくとWWWサ−バとメ− ルサ−バが動いているだけである。WWWサ−バのログは syslog にはでない。メ−ルサ −バ、sendmail のログはここでは監視の対象にしないものとする。 となるとこれ以外の ログはふだん何もないはずである。もしログが出たとすれば、何かおかしなことが起こっ たとみなしてよい。マシンがパニックになったような場合にもログは出るだろう。Swatch をインスト−ルして、次にどうする?。雑誌、本などで実際設定している例は見たことが ない。日本語訳もないようだし。どうも Swatch は syslog のログを見るようになってい る。結局は syslog の動作をちゃんと理解する必要がある。そしてどのようなメッセ−ジ がクリティカルなのか、調べておく必要がある。 Solaris 2.6 syslogd ------- inetd、portmap 非稼働 (ASET) | WWW | sendmail 8.9.1 稼働 ------- in.named 4.9.7 稼働 | -------*-------*----- | SunOS 4.1.4 FireWall-1 で syslog の Solaris 2.6------- ------- 192.168.1.1 パケット 514/UDP を WWW FireWall-1 | Gate| | Mail| syslogd から Mail に通すこと。 ------- ------- swatch | | -------*----------*---------- [ WWW ホストの設定 ] /etc/syslog.conf -------------------------------- |#mail.debug /var/log/syslog << SPAMメ−ルをチェックする時だけログを |*.info @192.168.1.1 とる。通常はMailホストでログをとっておく。 [ Mail ホストの設定 ] /etc/hosts -------------------------------- |127.0.0.1 localhost |192.168.1.1 mail # loghost << loghost の定義はなしにする。なくてもいい。 /etc/syslog.conf ----------------------------------------------------- |*.err;kern.debug;auth.notice;user.none /dev/console |mail.debug /var/log/syslog |*.info /var/adm/messages << このファイルを swatch で監視する。 swatch デ−モンは /etc/rc.local で起動させる。.swatchrc の設定はともかく何でもマ ッチにして、何かログが出たら全部、管理者にメ−ルを送るようにする。問題は Mail ホ ストからのログも対象にしてしまうので、できればそこだけフィルタ−を設定したい。 # /usr/local/etc/swatch -t /var/adm/messages /.swatchrc ---------------------------------------------- |/.*/ echo,mail=root@nix.co.jj 01:00 0:16 * Swatch を試してみる << 付録でインスト−ルしたのでのテスト >> % who am i katou ttyq2 5月 21日 14時50分 % cp /usr/local/source/swatch-2.2/config_files/swatchrc.personal ~/.swatchrc ~/.swatchrc << ユ−ザ katou のホ−ムディレクトリ。 -------------------------------------------------------------------- |# Personal Swatch configuration file | |# Alert me of bad login attempts and find out who is on that system |/INVALID|REPEATED|INCOMPLETE/ echo=inverse,bell=3 | |# Important program errors |/LOGIN/ echo=inverse,bell=3 |/passwd/ echo=bold,bell=3 |/ruserok/ echo=bold,bell=3 | |# Ignore this stuff |/sendmail/,/nntp/,/xntp|ntpd/,/faxspooler/ ignore | |# Report unusual tftp info |/tftpd.*(ncd|kfps|normal exit)/ ignore |/tftpd/ echo,bell=3 | |# Kernel problems |/(panic|halt|SunOS Release)/ echo=bold,bell |/file system full/ echo=bold,bell=3 |/vmunix.*(at|on)/ ignore |/vmunix/ echo,bell | |/fingerd.*(root|[Tt]ip|guest)/ echo,bell=3 |/atkins/ echo=inverse,bell=3 | 注.| は or の意味。 |/su:/ 大文字、小文字は区別する。 echo=bold |/.*/ echo,mail=katou@nix.co.jj ↑ ↑ ここは何でもマッチの意味。 mail の部分を追加した。 /etc/syslog.conf << もしこのファイルをいじったら root ------------------------------------------ ロッグインして syslogd をリブ−ト |# Formats: selectoraction すること。 % kill -HUP syslogd_id。 |# selectorfilteraction | |*.debug;kern.none /var/adm/SYSLOG swatch は起動するとデフォルトで % swatch -c ~/.swatchrc -t /var/log/syslog とい う引き数をとる。IRIX 5.3 のログは /var/adm/SYSLOG にデフォルトではなっている。-t オプションはログファイルを tail で見て、ログの追加を監視することになる。以下のよ うに katou ユ−ザで swatch を稼働させる。 別な画面で su で root ロッグインすると、 画面にその旨メッセ−ジが出て、katou@nix.co.jj あてにもメ−ルがくる。.swatchrc で ただ mail と書くとswatch を起動したユ−ザあてにメ−ルがいく。 メ−ルの宛先を指定 するには mail=katou@nix.co.jj というように記述する。 % /usr/local/etc/swatch -t /var/adm/SYSLOG May 28 15:27:39 6F:indy1 syslogd: restart May 28 15:27:50 5E:indy1 su[26435]: succeeded: ttyq0 changing from katou to root 他の画面で su ロッグインしたらすぐ上記のように画面に出てきた。表示されたメッセ− ジは % tail /var/adm/SYSLOG で出るのと同じである。これらは1回だけ画面にメッセ− ジが出る。しかしメ−ルは4通ぐらい来る。マシンのトラブルによっては、同じログを幾 つも出すのがある。"panic" とか "file system full" である。こうした同じログは無視 するようにできる。以下は1分以内の同じログを無視する設定である。01:00 の 01 が分、 次が秒である。その右の 0:16 はタイムスタンプがどうのと英文にはあったが、よく分か らない。 ~/.swatchrc ----------------------------------------------- |/.*/ echo,mail=katou@nix.co.jj 01:00 0:16 * Solaris 2.6 の ASET はどうか Sun Solaris 2.x にある自動セキュリティ拡張ツ−ルである。2.51 でも 2.6 でもはデフ ォルトでは入ってなかった。しかし別に有料のオプション・ソフトではないので、OSの メディアからインスト−ルすればよい。このソフトは、ファイルの変更や改竄のチェック、 ファイル追加などをチェックする。似たようなのでフリ−ソフトには COPS、Tripwire が あるが、せっかく Solaris 専用にコマンドがあるのだから使いたいものである。 しかし 実際のところ ASET はあまり使われていないようである。業者の人に聞いても知らないと いう人が多かった。勉強不足だぞ!。 とりあえずインスト−ルしたら /usr/aset/aset -l low とやってみよう。 オプションを 付けなければ -l low と解釈されるが。ともかくロウ・モ−ドで実行する。このモ−ドで は問題点を報告するだけである。モ−ドは低、中、高とあり、高レベルで実行すると問題 点を報告するだけでなく、変更もしてしまうので注意したい。それに高レベルではファイ アウォ−ルの機能もあり、パケットを転送できないようにもできるらしい。機能が分かっ てきたら cron で定期的に実行すればいい。-n でメ−ルで結果の報告もできる。 syslog での転送はどうかな。まだ小生もよく分かっていないので、すいません。 参考: Solaris のシステム管理(第2巻)、11システムセキュリティ管理の概要。 [ 実行結果 ] # cd /usr/aset; ls -F archives/ aset.restore* masters/ tasks/ util/ aset* asetenv* reports/ tmp/ # ./aset -l low << ものの数秒で終わった。 ======= ASET Execution Log ======= ASET running at security level low Machine = www; Current time = 0801_15:17 aset: Using /usr/aset as working directory Executing task list ... firewall env sysconf usrgrp tune cklist eeprom All tasks executed. Some background tasks may still be running. Run /usr/aset/util/taskstat to check their status: /usr/aset/util/taskstat [aset_dir] where aset_dir is ASET's operating directory,currently=/usr/aset. When the tasks complete, the reports can be found in: /usr/aset/reports/latest/*.rpt # cd reports; ls -al drwxr-xr-x 2 root other .. 0801_15:17 lrwxrwxrwx 1 root other .. latest -> /usr/aset/reports/0801_15:17 # cd report; ls << これらは検査結果です。以下 env と usrgrp.rpt を見てみる。 cklist.rpt env.rpt firewall.rpt taskstatus usrgrp.rpt eeprom.rpt execution.log sysconf.rpt tune.rpt # cat env.rpt ワ−ニングが出てるぞ!。 *** Begin Enviroment Check *** ↓ Warning! umask set to umask 022 in /etc/profile - not recommended. *** End Enviroment Check *** # cat usrgrp.rpt *** Begin User And Group Checking *** Checking /etc/passwd ... Checking /etc/shadow ... ... end user check. Checking /etc/group ... ... end group check. *** End User And Group Checking *** (5) 侵入防御装置を設置する ( DefensePro の設置 ) `25/04 * DefensePro の購入と設置 2003年12月リリ−スのアプライアンス、DefensePro AS2 5G16FE セキュア・シナプ スモデル。498万円。マルチギガビット対応 ISP、Application SwitchΠ 10/100 x 16 ports + 1000BASE-SX x 5 ports。10/100 Mbps 8セグメントと 1000SXを2セグメント分。 100 Mbpsポ−トのみ使うとして、ポ−ト1個は管理用にしないといけないので、チェック できるセグメントは7個になる。 本体の498万円はキャンペ−ンで半額だった。セキュリティ・アップデ−トサ−ビスが 1年間35万円、初年度から必要。設定費用は40〜50万円てとこ。本体の次年度から の保守 498,000円。以上税は含まず。エンハンスド・シナプスモデルは698万円。オプ ションで Bypass Devices がある、A5ぐらいの大きさの外付け装置。本体が故障した際 にパケットを通すだけの迂回用のネットワ−ク装置である。 付属品は赤いクロスケ−ブルが2本と Configware Insite 等ソフトが入っている CD-ROM である。DefenseProはケ−ブルはクロス/ストレ−トを自動認識する。紙のマニュアルは ない。CD-ROM に英文のが入っているのみである。 コマンドラインでの設定マニュアルと GUI画面での設定マニュアルが入っている。Configware Insite 自体のマニュアル、説 明書はない。Configware Insite は、ラドウェアの無料説明会に一度は出てみるのがいい。 ログをとるマシンがいるので、そのコンピュ−タのMACアドレスを教えてくれとのこと。 2台教えてくれといわれた。ログだけでなく、シグネチャファイルもダウンロ−ドしてく るのに必要である。コンピュ−タにダウンロ−ドしてから DefensePro に送るようになっ ている。マシンは Windows がほとんど。Configware Insite は Java ベ−スなのでLinux でも JRE 環境さえあれば動くはずだが、Linux ではあまり使われてはいないという。 DefensePro のポ−トの1つを管理用ポ−トにする。 そしてこれにIPアドレスを付けな ければならない。ここからログが SNMP でトラップで出る。tcpdump でパケットを見たら "192.168.1.20.2048 > 192.168.1.21.162: Trap(9) .1.3.6.1.4.1.89.35 [|snmp]"という ようなのが出ていた。トラップだからパケットがチェックで引っかかった時にログは出る。 192.168.1.20 は DefensePro 本体、192.168.1.21 は SNMP を受けるコンピュ−タである。 とりあえず業者さんに設定してもらった。WAN、DMZ、内部ネット1つ、それに我々 管理者だけの小さなセグメントを監視するようにした。5つのセキュリティモジュ−ルを どのようにチェックさせるのか、それが一番の問題でありまた設定のノウハウである。特 にその説明もなかった。ともかくやってくれたことを基準として、見ていくしかない。せ めて1枚でも2枚でも、手書きでいいいから何がしか資料を用意して欲しかった。 最初に設置した時、自分たちがいる管理者用のセグメントだけ先ずチェックしてみた。全 っくログは出て来なかった。それでWAN側をチェックするよう FireWall-1 が稼働する Ultra 10 につなげていたネットワ−ク・ケ−ブルを抜いて、 さっと DefensePro を間に かました。すぐにログがぞろぞろでてきた。Ultra 10 は特に問題は起きなかった。 瞬間 的?にケ−ブルをつなぎかえる程度なら問題なしということみたい。 * DefensePro の稼働と運用 先ずはWAN側と内部ネット数か所ぐらいでチェックはせずログだけ、半月か1ヶ月ぐら い取って、どんなチェックをさせるか決める材料にする。安全対策は生物である。一度設 定したら終わりではない。結局この手の装置、ソフトは有効に働かせるには機能を理解し、 細かな設定は自前でやっていくしかない。ラドウェアの有償セミナ−にも出てみるか。 約1500個のシグネチャ全部をチェックさせるのはだめ。そこそこ必要なチェックをさ せるようにして、だいたい3セグメント。多くても5セグメントぐらいまでらしい。しば らく稼働していると、社内の方々からアクセスできなくなったとか、何か反応がおかしい とかと言ったことがでてくる。そういうのはル−ルから外すか通過させるだけにする。 シグネチャファイルは週に一度、月曜日に出ることになっている。Weekly Updatesと言う。 Emergency Filersというのもある。これは急なアタックが出現した場合に対処する緊急配 布である。Configware Insite の [General]->[Schedular] で毎日朝5時位に取りにいく ようにした。これら新しいのが出ていれば HTTP で取ってくる。 C:\Program Files\Configware Insite\userFiles\AttckFiles\AttckFiles\ にシグネチャ ファイルがダウンロ−ドされ溜まる。ここから DefensePro 本体に行くのである。シグネ チャファイルの日付を見ると月曜日の他にも、ポロポロとある。ファイルのサイズはだい たい 90 KB 前後だった。0004.0015.00_0003B21AE00.bin といったファイル名である。 DefenseProの設定は、装置内臓のWWWサ−バへブラウザでアクセスしてもできる。どう やら Configware Insiteでできることはほぼできるようだが、直感的ではない。アタック のレ−ダも出ないし、ル−ルの設定/表示も見にくい。telnet でも設定できる、ping や trace-route コマンドも使える。#system config immediate で全設定が出てくる。 --------------- B : : WAN | -------- □ | | LinkProof | -------- --------------- A | ----------------- ↓ | ------------ DefensePro ◆=====| | Windows 2000 ------------------------- | ====|DefensePro| 管理用パソコン | □ □― □― | | ‖ | | Configware Insite | □ □ | □ | | □--◆---- ------------ □ ----------|-|--|-|--- |.1 .20|‖ ‖ |.21 | | | | ---------------------‖-‖---------------- ----------- ---|-|---- A | ‖ ‖ 192.168.1.0 | | | ---------- ‖ ‖ □ | | -------| Layer3 |----◆-‖--------- | | | | Switch |-------◆--------- ------------------ ----- B ---------- << ポ−トのペアの図 >> << 設置のイメ−ジ >> * Connect & Protect Table での操作 [ 先ずは画面を出すには ] パソコンのモニタで、Configware Insite の画面に DefensePro のアイコンのような絵が でている。これをマウスで右ボタンでクリックすると、下記のメニュ−が出てくる。ここ で {Security} を選ぶと {Connect & Protect Table} 画面が出てくる。 ------------------------ 1 2 3 4 9 12 |Connect | ---------------------------------------------------- |SetUp | | □□□□ □□□□ | |Access Control & BWM | | [ G1 ] [ ] .. [ G5 ] | |Security | | □□□□ □□□□ | |Reboot | ---------------------------------------------------- |Delete | 5 6 7 8 13 16 |Configuration File | |Zoom | 筐体前面の様子。ポ−ト番号とパケットを通すペアは上下 |Session Table | とすることにした。すでに定義したポ−トのペアを見るに |Management Application| は {Connect & Protect Table} の [Port Group Table]を |Site Alerts | クリックする。ここでペアの表示の他、定義と削除もでき |Macro | る。 |Local Position | ------------------------ [ 5つのセキュリティモジュ−ル ] Intrusion Prevention : 侵入防御。1パケット/1セッション単位の攻撃からの防御。 DoS/DDoS : 既知の UDP, TCP それに ICMP の大量パケットからの防御。 SYN Flood Protection : SYN Cookie メカニズムによる SYN アタックからの防御。 Anomalies : 既知および未知のアノ−マリ攻撃からの防御。 Anti Scanning : ネットワ−クおよびポ−トのスキャニング防御。 画面の {Intrusion} のところ、 "Default Filter Groups" と古い攻撃のア−カイブスは 普通は含めなくてもいい。特定のユ−ザ用に作ったアンサインも含めなくていい。ここで メ−ルのウィルスチェックをする。ちなみ InterScan VirusWallのダミ−のメ−ル・ウィ ルスは検知しなかった。基本的にシグネチャによるパタ−ンマッチングである。 画面の {DoS/DDoS} のところクリックすると、●Application Security Profiles が有効 になっている。もう一つ ○DoS Shield Profiles があるが、 選択できないようになって いる、Enhanced SynAppsモデルが対応する。ここはWANポ−トだけでチェックすればい いのでないか。 画面の {SYN Floods} はクリックしても"SYN Protection cannot work since the device has no DoS Shiled License." と出て、ここは設定できない。Enhanced SynAppsモデルが これをサポ−トする、Enhanced は今回買った Secure SynAppsモデルより200万円高い。 これも、もしチェックさせるならWANポ−トだけでいいのでないか。 画面の {Anomalies }。アノ−マリとは変則とか異常とか言う意味。 パケットのプロトコ ル、トラフィックが通常のものとは異なっているかどうか、それをリアルタイムで分析し 検出する。http_anomalies, protocol anomalies, Stateful Inspection がある。アノ− マリという言葉は Symantec ManHunt のパンフレットで初めて見たような気がする。 画面の {Anti-Scanning} はポ−トスキャンが対象。fwtk のポ−トスキャンは検知しなか った。fwtk はフリ−ソフト時代の FireWall Tool Kit のこと。 Apollo でコンパイルし て飼っていました。{Anti-Scanning} のル−ルは "scanning-tools" に20ぐらいのチェ ック項目がある。これ全部、WANとDMZそれに内部ネットの一部で適用してみた。 [ セグメント毎チェックル−ルの設定 ] ---------------------------- VLANを設定するメニュ−もここにある。しか | Connect & Protect Table しここでVLANをあえて使う必要はないだろう。 |--------------------------- | [Add] [Delete] |------------------------------------------------------------------------------- | |Enable|Port/VLAN|Networks|Intrusions|DoS/DDoS|SYN F..|Anomalies|Anti-Scanning |-|------|---------|--------|----------|--------|-------|---------|------------- |1| 〆 | WANdesu | | WANyouI | WANyouD| | WANyouA | DMZyouS |2| 〆 | DMZdesu | | DMZyouI | | | DMZyouA | |3| | UTIdesu | | UTIyouI | | | | | | |[ ]| | | | | | | | Port Group [KATOU ▽] [Add Port Group] [Port Group Table] | -------------------------------------------------------------------------------- 監視するセグメントを追加するには。ル−ルの最後、即ち4番の{Port/VLAN}の[ ]ここ をクリックしておいて、[Add Port Group]をクリックする。出てきた画面でポ−トのペア を先ず定義する。例えば 10 と 14番ということで、F-10 と F-14 である。それからチェ ックしたい大項目を選び、個々のチェック項目を選んでいく。{Intrusions}で WANyouIと かいうのは、選んだチェック項目全体の識別名であり、先だって付ける。WANdesu のとこ ろにWANセグメントのネットワ−ク・ケ−ブルをつなぐのだが、他のセグメントにつな いでも問題はない。DefensePro のポ−トは透過的のため、 ポ−トにはIPアドレスは関 係ない。そのポ−トペアのところをパケットを通せば、かくかくしかじかのチェックをし ますよということに過ぎない。セグメントのル−ルを削除するには、番号のところをクリ ックし [Delete] で全体を消す、例えば{Anomalies} 部だけ削除したいというのはできな い。{Enable} の〆は、チェックのル−ルを有効にすること。 〆を外したら、パケットが 通らなくなる訳でなく、設定したル−ルをチェックしなくなるだけである。 * DefensePro 実際のル−ルの調整 おかしなパケットをチェックしてドロップするように設定した。ぼちぼち、社内のユ−ザ から外のホ−ムペ−ジにアクセスできないとか言ってきた。メ−ルのウィルスチェックの InterScan VirusWall のログもぐっと減った。InterScan に届く前に DefensePro が検知 して8割ぐらいストップさせている。ひょっとして、メ−ルでも誤検知をすると問題のな いメ−ルが届かないということもあるかも知れない。社内から外部へのWWWアクセスで も、ログで止められているパケットから、まともそうなのを調べてみる必要があるかも知 れない。まあその必要はないか。メ−ルは特に問題はないみたいだし、他の問題も以下の ように幾つかル−ルを調整したらその後、社内から何もクレ−ムを言って来ない。 社内の Samba によるファイル共有サ−バから PowerPoint や Wordのファイルを開こうと すると何か反応が鈍い。場合によってはそのまま開くことができず終わってしまうことも ある。ログには NETBIOS-nimda-RICHED20.DLL が Drop されていた、Destination Portは 139。Access のでかいファイルを、Samba サ−バに入れようとしたらできないというのも あった。ログには NETBIOS-139-NOP-Sled-Unicode。これら [Default] を[Forward] にし たらスカスカ通るようになった。別なところからの問題で HTTPS invalid client hello のログが。該当するシグネチャがない、未知のおかしな奴?。{Anomaly Flood Profiles} の {Stateful Inspection} をクリックし、{HTTPS} を外したら一応通るようになった。 あるサイトにロッグインができなくなった、ログには HTTP-MISC-Domino-names.nsf-acで パケットが Drop されていた。[Attack Configuration] で {Action Mode} を [Default] になっているのを [Forward] にしたらできるようなった。そしたら今度はその中でPDFフ ァイルがダウンロ−ドできない、HTTP-MISC-Lotus-EditDoc-attem ログで Drop されてい た。これも [Forward] にしたらできるようになった。HTTP-MISC-Lotus-EditDoc-attemの 説明には Recommended Network Settings: $EXTERNAL-NET any -> $HTTP_SERVERS_$HTTP_ PORTS と出ていた。気にはなるがこれで何か設定しないといけないということではない。 特許電子図書館で調べもんしていた人もおかしいと言ってきた。{公開テキスト検索で}で 調べたい項目、たとえば [ 申請人識別番号 ] や [ 公開日 ] を入れると検索し、結果を 一覧表示する。それから個々の内容を表示するのだが、大きく3つの画面があって右と上 の画面が出ないという。右画面はちゃんと表示すると図が出てくる。さてどんな内容の検 索でも同じような分割画面が出てくるのかは知らないが。ログの画面で CGI-scriptalias -access なんたらかんたら drop .... と出ていた。cgi -> cgi-scriptalias-accessをク リックし [EDIT] で画面を出し {Action Mode} が [Default ] を [Forward] にした。 ----------------------------------- | Name: CGI-scriptalias-access http://www.ipdl.ncipi.go.jp/homepg.ipdl | | Attack Description: | This alert indicates | an attempt to exploit a vulnerability in the | ScriptAlias directory in NCSA and Apache httpd. | An attacker could read CGI programs. | | Recommended Network Settings: | $EXTERNAL-NET->$HTTP_SERVERS * DefensePro が DoS か [General]->[Preference] 画面の {Management Preferences} の {Traps and SMTP} メニ ュ−にて、"SNMP Settings" のところ。DefenseProからメ−ルを送るメ−ルサ−バのIP アドレスと発信者のメ−ルアドレスを記載する。"□ SMTP status"をチェックすると、シ グネチャをダウンロ−ドした際にメ−ルを出す。"□ Send E-mails on Errors" をチェッ クすると、装置に何かトラブルが起きた際にメ−ルを出す。メ−ルの宛先は [General]-> [Device Permissions] に管理者の名前やメ−ルアドレス、 それにパスワ−ドを設定した のになる、Notification は warning。上記両者チェックを入れて稼働させてきた。 当初 訳がわからないので業者さんがそのように設定してくれたのだが。どうも新しいシグネチ ャを取ってきても、メ−ルは来なかった。調べたらメ−ルサ−バのマシンでうまくメ−ル を受け取れなかったというログが残っていた。 DefensePro から出たメ−ルのフォ−マットがおかしいのか。こんなログが出ていた。did not issue MAIL/EXPN/VRFY/ETRN during connection。 まあメ−ルが来なかったらと言っ て特に実害はない。シグネチャの AttckFiles ディレクトリ見ても、ちゃんと最新のを取 って来ているし。問題は起こった。ある日 /var/adm/messagesファイルが巨大化して、デ ィスクが一杯になってメ−ルサ−バが機能しなくなった。先のメ−ルのログが大量に出て いた。DefensePro から絶え間なくメ−ルサ−バにメ−ルを送っている。 そのメ−ルが全 部エラ−メ−ルでログが記録されていった訳である。あってはならないことである。多分 装置のファ−ムウェアとシグネチャのバ−ジョンの関係で、起こったのでないか。とりあ えず、先のチェックは外しメ−ルを出さないようにする。ファ−ムウェアを新しいのアッ プさせること。さてどうやってアップさせるのかな。これって保守でやってくれんの?。 ------------------------------------------------------------------------------------ [ 付録 ] DefensePro に Swatch のこと ● DefensePro のこと * その他もろもろ #system config immediate で出てくる管理用IPアドレス。 ログをどこに送るかの指定、 複数箇所設定できる manage snmp target-address create ... -a 192.168.1.21-162 -tl。 でもこの SMTP パケットを受けて内容を表示できるのは、Configware Insite(CI) だけだ。 CI は1台のコンピュ−タでしか動かない。複数ログを送ってもしょうがないと思うが。 パケットレポ−トの dp packet-report address set 192.168.1.21、相手先IPアドレス が 192.168.1.21 で、使用 UDP ポ−ト番号 2088、これは一体何。C:\Program Files\Con figware Insite\userFiles\StatisticReports\ に DefensePro 稼働の HTMLによるレポ− トがあったが、これと関係あるのかな。カラ−の円グラフで即、説明資料として使える。 疑似アタックをかける hping というフリ−ソフト。「Software Design」2005/06,P.76〜。 ここに Snort による IDS 誤検知を検出する例が出ている。これで DefensePro の働きを 確認できるぞ。http://www.atmarkit.co.jp/ の "DoS 攻撃の手口を知る"、日本ラドウェ ア(株)の人が書いた記事があった 2005/3/11。 Emergency Filers というのは何?。どこにある。ディレクトリの AttckFilesの中を見て も、それらしきファイルはない。どうも月曜に出すシグネチャファイルを待たずに、緊急 対応したシグネチャも含めて、随時出すということでないのか。個別のシグネチャのファ イルという訳ではなさそうである。 http://www.radware.com/securityzone の Attack Descriptions & Filter Downloads と いうの。ユ−ザ登録すれば Emergency Filers が出ましたとメ−ルで知らせてくれる。登 録には購入した DefensePro のMACアドレスとシリアル番号を入れる。しかし登録は必 要かな。毎日シグネチャファイルをダウンロ−ドする設定にしていればいいのでないか。 他キ−ワ−ド。Static Forwarding、双方向チェックと片方向チェック。 デフォルトは双 方向のチェック、めんどうだから双方向でいい。Attack Log。Attack Reports。Realtime Dashboard はレ−ダの真ん中程、危険な攻撃ということ。帯域制御もできる。BWM( Bandw idth Management )。世界地図が出るのは Configware Insite Professional 版?。 DefensePro にシグネチャファイル、アタックデ−タベ−スに Spyware グル−プが追加さ れた。http://www.radware.co.jp/techinfo/whitepaper/ にある発行日 2005.08.05 3ペ −ジのレポ−ト。2006.05.31 のは DoS 防御/帯域制御機能の性能評価。2004.10.18のは SynApps 帯域制御を利用した Winny 等のファイル交換ソフトのトラフィック制御。 * 設定状態のセ−ブ/ロ−ド WWWアクセスでのやり方。ブラウザから DefensePro 装置、http://192.168.1.20 にア クセスする。先ずは装置の設定状態をブラウザを起動しているコンピュ−タにセ−ブして みる。[File]->[Configuration]->[Receive from Device] をクリックすると、"Download Configuration File" という画面がでてくる。File Format [ BER ▽] または [ ASCII ] を選ぶ。[ BER ] では [Set] を押して出てきた画面で [保存]をクリックし、適当なディ レクトリに入れる。できたファイル名は ReceivefromDevicexxxxxxx、サイズは 30 KB 程 度というのだった。[ ASCII ] を選ぶとすぐにブラウザに設定状態が表示される、これは 見て設定内容が分かる表示になっている。 WWWアクセスでのやり方。コンピュ−タにセ−ブした設定ファイルを DefensePro に入 れるのは、ロ−ドするのは [File]->[Configuration]->[Send to Device] をクリックす ると "Upload Configuration File to Device" File In Ber Format [ ][参照] と いうのが出てくる。[参照]をクリックするとセ−ブしたファイルがあるコンピュ−タのデ ィレクトリが出てくるのでファイルを選ぶ。このWWWアクセスのやり方は、DefensePro をWWWアクセスを許すようにしてあれば、どこのコンピュ−タからでもセ−ブ/ロ−ド ができるということである。 Configware Insite からのやり方。 [Device]->[Configuration File] から上と同じくセ −ブ/ロ−ドできる。あるいは Configware Insite 画面中に表示された {DefensePro}の 絵をクリックして、出てくるメニュ−の "Configuration File" でもできる。両者とも下 のセ−ブ/ロ−ド画面が出てくる。 [Download] で DefensePro の状態をコンピュ−タに セ−ブする。 C:\Program Files\Configware Insite\userFiles\AttckFiles\AttckFiles\ に、下の例では Katou1 というファイル名でセ−ブされる。BER フォ−マットでセ−ブさ れる。[Edit] で BER <-> ASCII 変換ができる。 ------------------------------------------- Configware Insite にて | Configuration File |--------------------------------------------------- | Download \ Upload \ Edit \ Upgrade Configuration | ---------------------------------------- | Select Device [ DefensePro ▽] | File Name [ Katou1 ] [Browse] | | □ External TFTP Server IP Address [ ] |--------------------------------------------------- | [ 0% ] [OK] [Apply] [Cancel] ---------------------------------------------------- * DefensePro の種類 DefensePro 100 --- ASΙ 約200万円。支店ユ−ス。2005/04/01 発売。 DefensePro 200 --- ASΠ 約500万円。企業ユ−ス。2005/09/30 迄半額キャンペ−ン。 2005年4月か5月に製品の呼び名が変わったのか。 先日、購入したのは DefensePro ASΠ 5G16FE Secure SynApps モデル、約500万円で半額キャンペ−ンだった物。 これらには Basic SynApps と Secure SynApps が入っている。Enhanced SynApps を追加 することができる、約200万円。正しくは Enhanced SynApps を入れたモデルがある。 不正アクセスの検出によるネットワ−クの速度低下を防ぐために、ストリングマッチ・エ ンジンを追加できる、ASΠ 用は約200万円。ASΙには搭載できない。 ● Swatch のこと '99/05 * Swatch のインスト−ル Swatch は Perl で記述されているので、コンパイルは不要である。 インスト−ルするマ シンに perl5 が必要である。 たいがいこうしたセキュリティ関係のソフトは奈良先端大 の ftp.aist-nara.ac.jp にあるのだが、これはなかった。 大元のスタンフォ−ド大学か ら引っ張ってくることにした。取るのは swatch.tar、 これは swatch-2.2.tar にリンク されている。swatch-3.0b1.tar と言うのもある。これはベ−タ版である。 インスト−ルしてからどうするのだ。雑誌、本などで実際設定している例は見たことがな い。日本語訳もないし。困ったことだ。どうも Swatch は syslog のログを見るようにな っている。結局は syslog の動作をちゃんと理解する必要がある。そしてどのようなメッ セ−ジがクリティカルなのか、調べておく必要がある。 以下は INDY IRIX 5.3 にインス ト−ルして試したところである。 % ftp ftp.stanford.edu ftp> cd general/security-tools drwx------ 2 690 690 2048 Dec 19 1995 cops drwx------ 2 690 690 2048 Dec 19 1995 cpm drwx------ 2 690 690 2048 Jan 11 1996 crack << パスワ−ド解析ソフト。 drwx------ 2 690 690 2048 Jan 11 1996 cracklib drwx------ 2 690 690 2048 Dec 19 1995 md5 << チェック・サムソフト。 drwxr-xr-x 3 210 10 2048 Mar 5 17:44 swatch drwx------ 2 690 690 2048 Dec 19 1995 tcp_wrappers drwx------ 2 690 690 2048 Dec 19 1995 tripwire ftp> cd swatch -rw-r--r-- 1 210 10 163840 Jan 5 1996 swatch-2.2.tar -rw-r--r-- 1 210 10 63081 Jan 5 1996 swatch-2.2.tar.Z -rw-r--r-- 1 690 690 284 Jan 5 1996 swatch-2.2.tar.asc -rw-r--r-- 1 210 10 44862 Jan 5 1996 swatch-2.2.tar.gz ftp> get swatch.tar.Z << 1分ぐらい。128 Kbps 専用線だけど。 local: swatch.tar.Z remote: swatch.tar.Z 150 Opening BINARY mode data connection for swatch.tar.Z (63081 bytes). 63081 bytes received in 12.74 seconds (4.84 Kbytes/s) ftp> bye % cd /usr/local/source << swatch.tar.Z はここにダウンロ−ドしたとする。 % uncompress swatch.tar.Z % tar xvf swatch.tar % cd swatch-2.2 << swatch-2.2 というディレクトリができる。 下記の % sh install.sh で /usr/local に etc ディレクトリがないと怒られたので作成 しておく。あるいは他のディレクトリを指定してもよい。 % sh install.sh Enter the directory where swatch is to be installed (default '/usr/local/etc') OKの時は Return を押していく。 What user should own the installed swatch files? (default 'root') What group should own the installed swatch files? (default 'wheel') What should the permissions be for the installed swatch script? (default '755') What should the permissions be for the installed swatch libraries and man pages? (default '444') perl5 はここに入ってます。 Enter the name of the directory where the ↓ perl library files are located (default '/usr/local/lib/perl') /usr/local/lib/perl5 Enter the name of the directory where you wish to install the swatch library files (default '/usr/local/lib/perl5') What directory should the swatch man pages be installed (default '/usr/local/man') What should the extension be for the swatch program manual page? (default '8') What should the extension be for the swatch configuration file manual page? (default '5') Here is what I have... Perl library: /usr/local/lib/perl5 Swatch binary location: /usr/local/etc Swatch manual page location: /usr/local/man Swatch program manual page extention: 8 Swatch configuration file manual page extention: 5 Swatch data file permissions: 0444 Swatch program permissions: 0755 Swatch owner: root Swatch group: wheel Are these values okay (y or n)? y Are you ready for me to start the installation (y or n)? y Installing swatch...done. Installing sw_actions.pl...done. Installing sw_history.pl...done. Installing swatch.prog.man...done. Installing swatch.conf.man...done. ディレクトリ swatch-2.2 にインスト−ルされた状態。/usr/local/etc にも同じ swatch が入る。パ−ミッションは -rwxr-xr-x 1 root sys 13601 swatch となっていた。説明 書は PostScript ファイルの lisa93_paper.ps で、8ペ−ジある。 1993年に書かれ ている。"Automated System Monitoring and Notification With Swatch"。 % ls Changes install.pl sw_history.pl swatch.prog.man Contents install.sh swatch utils/ README lisa93_paper.ps swatch.conf.man config_files/ sw_actions.pl swatch.pl % ls config_files swatchrc.monitor syslog.conf-client syslog.conf-server swatchrc.personal syslog.conf-master % ls utils badloginfinger.pl call_pager.pl * INDY IRIX 5.3 での修正 swatch のオリジナルのプログラムは tail コマンドが /usr/ucb/tail に設定されている。 INDY IRIX 5.3 では tail は /usr/bin/tail にある。swatch と swatch.plを直接変更し ておくことにする。 % grep tail * << /usr/local/source/swatch-2.2 で調べたところ。 swatch:$TAIL = '/usr/ucb/tail -f'; swatch.pl:$TAIL = '/usr/ucb/tail -f'; % which tail << IRIX 5.3 で tail がどこにあるか調べたところ。 /usr/bin/tail * swatch の -p オプション 次は last コマンドの出力を swatch の検索ファイルにしている例である。 普通に last とやって表示されるメッセ−ジが、そのまま swatch でも出ていることに注意したい。 % /usr/local/etc/swatch -p /usr/bsd/last *** swatch-2.2 (pid:27072) started at 1999年 5月28日(金曜日) 16時05分19秒 JST katou ttyq0 :0.0 Fri May 28 15:31 still logged in root ttyq0 Fri May 28 15:30 - 15:31 (00:00) wtmp begins Mon May 24 10:25 % last katou ttyq0 :0.0 Fri May 28 15:31 still logged in root ttyq0 Fri May 28 15:30 - 15:31 (00:00) * swatch の -f オプションでの実験 % swatch -f test は test というファイルを見て .swatchrc にマッチングする文字列を ファイルの最初から最後までなめる。 -t はファイルの最後に追加された文字列を調べる が、-f は既存のログファイルを後から、まとめてチェックするのに役立つ。-t オプショ ンはリアルタイムにログをチェックするはずなのだが、以下のようなテストではちょっと 挙動がおかしかった。ちゃんとマッチング検査してないような、それで -f オプションで テストし直してみたりした。 ~/.swatchrc -------------------------------- |/su: .* failed/ echo << .* が何でもマッチの意味。 |/ikken:.*(ok|ng)/ echo=inverse << .* の前後にブランクはなくてもいい。 |/yasuko|haruo/ echo=bold test ------------------ |su: katou failed |ikken: compile ok |... yasuko ... % swatch -f test *** swatch-2.2 (pid:10454) started at 1999年 5月27日(木曜日) 12時02分31秒 JST su: katou failed ikken: compile ok << 背景が白、文字が黒で表示される。 yasuko << 黄色で表示される。 ---- .swatchrc のパタ−ン・マッチングの参考 ---- $ grep 'su: .* failed' test << OK。Apollo の grep でやってみました。 su: katou failed $ grep 'su:.*failed' test << OK。 su: katou failed $ grep 'su: * failted' test << ダメ。 参考:root ロッグインした後、ユ−ザ katou で swatch を起動する % echo '/usr/local/etc/swatch -t /var/adm/SYSLOG' | su katou