各サービスの利用状況を把握したい〜LogWatch編〜
Linuxをサーバとして利用していると,管理者は稼働しているサービスがどのように使われているかを把握する必要がある。しかし,システムログ(/var/log/messages)を1行ずつ見て確認するのは現実的ではないだろう。
Red Hat Linux 7.2では,インターネットサービスのデーモンをインストール指定すると,標準でログ監視ツールのLogWatchが組み込まれる。次のように指定すると,現在の環境でインストールされているかを確認可能だ。もちろん他のディストリビューションであっても,次に挙げるサイトからダウンロードすればインストールができる。
# rpm -qa|grep logwatch logwatch-2.1.1-3 |
Red Hat Linux 7.2に含まれているLogWatchは若干古いバージョンだ。これを機に,次のように指定してアップデートしてみるのもよいだろう。
LogWatch
http://www.logwatch.org/
# rpm -Uvh ftp://ftp.kaybee.org/pub//redhat/RPMS/noarch/logwatch-2.8-2.noarch.rpm ftp://ftp.kaybee.org/pub//redhat/RPMS/noarch/logwatch-2.8-2.noarch.rpm を取得しています Preparing... ########################################### [100%] 1:logwatch ########################################### [100%] |
監視された結果は,次のような内容のEメールとして届く。ここでの例は,192.168.0.2からのpopサービス使用が105秒,「Refused Connections:」の不正なsshコネクションが2件,アカウント名は合っているもののログインできなかったものが「**Unmatched Entries**」項目としてピックアップされている。
Subject: LogWatch for speed ........中略........ ---------- Connections (secure-log) Begin ---------- Connections: Service pop3: 192.168.0.2: 105 Time(s) Refused Connections: Service sshd: 194.141.2.17 (194.141.2.17): 1 Time(s) 207.33.111.34 (207.33.111.34): 1 Time(s) **Unmatched Entries** Apr 9 21:20:31 speed-rh sshd[19464]: Accepted rsa for ykida from 192.168.0.2 port 2793 ---------- Connections (secure-log) End ---------- |
なお,上記内容のメールが配信されるタイミングは,標準で/etc/cron.daily/に配置されるファイルで判断することができる。1,2で実行スクリプトが指定され,3でEメールを配信するタイミングが設定されている。
1. 実行されるスクリプト
/etc/log.d/scripts/logwatch.pl
2. cron.daily/にシンボリックリンクされている
/etc/cron.daily/00-logwatch
3. 配信されるタイミングや配信先は,crontabファイルで定義されている。ここではroot宛にメールされ,毎日0時20分に配信されることが分かる。
# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 0 * * * root run-parts /etc/cron.daily 04 0 * * 0 root run-parts /etc/cron.weekly 06 0 1 * * root run-parts /etc/cron.monthly |