Linuxのログの見方と監視

03/06/14

Linuxのログの見方を記しておきます。
まず、各ログがどこにあるのかというと

/var/log/cron     cronの動作記録
/var/log/dmesg    ブート時のメッセージの記録
/var/log/lastlog    ユーザが一番最後にログインした記録
/var/log/maillog    sendmailの動作記録
/var/log/messages  様々なプログラムの動作記録
/var/log/secure    ユーザ認証関連の記録
/var/log/wtmp    ログインの履歴
/var/log/xferlog    FTPサーバの動作記録
/var/log/xntpd    NTPサーバの動作記録
/var/run/utmp    ログイン記録

この他にも、

/var/log/httpd/access_log サーバへの要求を全て記録
/var/log/httpd/error_log エラーのあったリクエストを記録

があります。基本的には、

日時 ホスト名 プロセス名[PID(プロセス番号)]: メッセージ」というフォーマットで記録されます。

重要なのは、messagessecureでしょう。

ポートスキャン

secureに記録される。以下のような短時間で頻繁に記録された場合は、ポートスキャンらしいです。
Jun 4 17:44:1 hogeServer popper[25555]: connect from xxx.xxx.xxx.xxx
Jun 4 17:44:2 hogeServer in.rlogind[25556]: connect from xxx.xxx.xxx.xxx
Jun 4 17:44:2 hogeServer in.ftpd[25557]: connect from xxx.xxx.xxx.xxx
Jun 4 17:44:2 hogeServer in.fingerd[25558]: connect from xxx.xxx.xxx.xxx
Jun 4 17:44:2 hogeServer in.telnetd[25559]: connect from xxx.xxx.xxx.xxx
Jun 4 17:44:2 hogeServer in.rshd[25560]: connect from xxx.xxx.xxx.xxx

不正なログイン?

messagessecureに「fail」といった単語があった場合は、認証やログインに失敗した可能性があります。

不正な中継?

maillogに「reject」という単語があった場合は、メールサーバが不正に中継されている可能性があります。

Jun 9 12:20:08 studio-246 postfix/smtpd[30879]: connect from unknown[220.116.161.94]

Jun 9 12:20:08 studio-246 postfix/smtpd[30879]: E94061402F6: client=unknown[220.116.161.94]

Jun 9 12:20:09 studio-246 postfix/smtpd[30879]: reject: RCPT from unknown[220.116.161.94]: 554 <china9988@21cn.com>: Recipient address rejected: Relay access denied; from=<china9988@21cn.com> to=<china9988@21cn.com>

webminのログは?

webminのログは、secureにも、 記録されるようです。
もし、ログインするとき(root)にパスワードを間違えた場合は、

Jun 15 04:11:38 studio-246 webmin[1767]: Invalid login as root from 192.168.1.30
192.168.1.30からrootとしての無効なログイン

というログが残ります。ログインに成功すると

Jun 15 04:14:04 studio-246 webmin[1768]: Successful login as root from 192.168.1.30

というログが残ります。

ログの監視 -swatch-

ログの監視には、「swatch」を使います。

インストール

swatch」には、以下のperlモジュールが必要です。(ファイル名は2003年06月23日現在)
http://search.cpan.org/ よりDownLoadしてください。

Date-Calc-5.3.tar.gz ----- Data::Calc
File-Tail-0.98.tar.gz ---- File::Tail
TimeDate-1.16.tar.gz ----- Time::Date
Time-HiRes-1.48.tar.gz --- Time::HiRes

手に入れたら各モジュールをインストールします。

# tar zxfv Date-Calc-5.3.tar.gz
# cd Date-Calc-5.3
# perl Makefile.PL

......


Looks good
Writing Makefile for Data::Calc

# make
# make test

......


t/10open............ok
t/20tail............ok
All tests successful.

......

# make install

同じように残りのモジュールについてもインストールします。

次に「swatch」を手に入れてきます。(2003年06月現在、「swatch-3.0.5」)
ftp://ftp.stanford.edu/general/security-tools/swatch/archive/

インストールは先ほどのモジュールと同じ作業になります。

アーカイブを展開カレントディレクトリの移動perl Makefile.PLmakemake testmake install

インストールが終わったら、「/etc」に「swatchrc」というディレクトリを作成し、 「/etc/swatchrc」に以下のような名前の設定ファイルを作ります。
.swatchrc_message」「.watchrc_secure」「.watchrc_maillog

設定の書式は、watchfor以下の「/」と「/」で囲まれたパターンがログに書き込まれたら○○をする。といった感じです。ここで記述するパターンにはPerlの正規表現も使えるそうです。例えば、「aaaa|bbbb」などのように「|」で区切ってaaaaかbbbbにマッチしたらというパターンもできるし、「[Aa]bcde」のように記述してAbcdeとabcdeの両方にマッチさせるパターンもOKです。また、1文字を表す「.」を「a.c」のように記述してaで始まり何か1文字が入りcで終わる3文字の文字列にマッチさせるパターンがあります。「/aaa/,/bbb/」のように区切ることで、複数のパターンを指定することもできます。パターンの最後に「/abcde/i」のように「i」を付ければ、パターンの大文字小文字を区別しなくなります。
例えば、

watchfor /authentication failure/
bell 3
mail=hogehoge@aa.hoge.com,subject=From_secure

※「authentication failure」の文字がログに書き込まれたら、アラームを3回鳴らして、「hogehoge@aa.hoge.com」宛に、そのログの行が記されたメールを出します。このときのタイトルは「From_secure」となります。

.swatchrc_message」に載せる項目をあげると

#SUのパスワード間違い
watchfor /authentication failure/

watchfor /reject/

watchfor /Rejected/

watchfor /nessus@/

watchfor /unreachab/

watchfor /not allowed/

watchfor /unknown/

watchfor /debug/

watchfor /peer died/

watchfor /not connected/

watchfor /Connection reset/

watchfor /Can't|Cannot/

watchfor /NULL/

watchfor /Bad|bad/

watchfor /denied/

watchfor /FAILED|failed|failure|illegal/

watchfor /Broken pipe/

watchfor /EXT2-fs warning/

watchfor /deny/

watchfor /INVALID|REPEATED|INCOMPLETE/

watchfor /(panic|halt)/

こんなもんでいいでしょう。また、これは「message」監視用です。

.swatchrc_secure」に載せる項目をあげると

watchfor /Failed password/

watchfor /Invalid/

swatchの起動は以下の書式で行います。

swatch -c 設定ファイル -t 監視するログファイル &

※ 「&」はデーモンとして動作させる

例えば、

swatch -c /etc/swatchrc/.swatchrc_secure -t /var/log/secure &

また、複数のログファイルを異なる内容で監視したい場合は、swatchを複数起動します。

システムの起動時にswatchを自動起動させたい場合は、「/etc/rc.local」に以下の行を追記します。

swatch -c /etc/swatchrc/.swatchrc_secure -t /var/log/secure &
#「&」をつけないと起動時そこでとまるので必ずつけること

注意

必ず、Linuxを起動、再起動させたときは、プロセスの確認で、swatchがちゃんと起動しているか調べること。

<Pre Next>

■目次

■最近観た映画2

「13ゴースト」を見た。
あまり知らない映画だったんだけれど、ネットで結構評価しているので、おもしろいのかな。って思って。
あんまり有名な映画じゃないと思うんだけれど、結構お金がかかっていて、ストーリーもまぁまぁ。でも、メイキングの方がおもしろかったような気がする。(笑)
あと、有名人がでていないって言うのは少し痛いかな。

■最近観た映画3

「毒々モンスター」を見た。
最悪の映画だった・・・。
あんな映画を公開してしまうのだから、相変わらず信用できない国アメリカ。
あれ、結構差別問題とかで持ち上がりそうだけれど・・・。
くだらなすぎて誰も相手にしないのかな?


■ここがサブタイトル

panella