LANDISK HACKING DIARY
Since2005/8/17
TOPへ戻る
     INDEX
   
1. logwatch のインストール
2. 参考文献




 
     logwatch のインストール
 
ログを綺麗に整形して1日1回メールで送信してくれる頼もしい logwatch (ある意味うっとうしいともいえるが)をインストールします。

landisk:~# apt-get source logwatch
landisk:~# cd logwatch-6.1.2/
landisk:~# dpkg-buildpackage -rfakeroot
landisk:~# cd ../ ; dpkg -i logwatch*.deb

管理者にメールを送信するために、システムにMTAがインストールされている必要があるが、ここでは、exim4 ではなく、デフォルトでインストールされていた極めてシンプルなMTAである ssmtp を利用します。送信オンリーのMTAなので、スプールなどもありません。ここでは、LAN内にある他のサーバーで稼動している postfix をメールサーバーとして指定することにします。既に、LANDISK内にMTAをインストールしている場合は、mailhub の値を自分自身に指定してください。

landisk:~# vi /etc/ssmtp/ssmtp.conf
mailhub=172.16.50.2  ←メールサーバーのIPアドレスを指定する
hostname=landisk.kororo.jp

試しに、mail コマンドでメールを送ってみます。指定したメールアドレスにメールが届いていれば成功です。失敗した方は…メールサーバの設定を見直してください。

landisk:~# mail kororo@kororo.jp
Subject: TEST
This is test DESUYO.
.
Cc:

logwatch コマンドを実行してみる。--mailto で送信したいアドレスを記述する。メールが届いていれば成功である。LANDISKがsyslog サーバーとして機能している場合は、localhost とは関係のないログも出力されているかもしれない。その場合は、以下で説明する logwatch.conf で HostLimit をかければ良い。

landisk:~# logwatch --mailto kororo@kororo.jp

■logwatch.conf の編集

設定ファイルを編集する。メール送信での出力以外にも、ファイル出力したり、コンソール出力したりすることもできる。大抵の場合は、デフォルト設定で問題ないだろう。

landisk:~# vi /etc/logwatch/conf/logwatch.conf
LogDir = /var/log //ログ格納先
MailTo = kororo@kororo.jp
Detail = Med // ログの詳細レベル。1~10の整数での指定も可(Low0 High10)
Archives = Yes // アーカイブ(.gzなど)も参照するかどうか。ログがローテートされる瞬間を考慮にいれる。
HostLimit = Yes //転送されてきたログを対象に含めるか指定する。「Yes」で含めない、「No」で含める。
Range = yesterday //昨日のログファイルをチェックする

■個別の設定

サービスごとに個別設定をしたい場合には、/etc/logwatch/conf/services/ 以下にあるconf ファイルを編集する。システムにインストールされていないサービスも予めデフォルトで用意されている。sshd2.conf で例を見てみる。LogFile は相対パスでも絶対パスでも記述が可能であるが、相対パスで記述した場合は、logwatch.conf で指定した、「LogDir」の値が参照される。OnlyService というのは、sshd2 のサービスが全て出力対象となる。LANDISKが syslog サーバーとして稼動している場合、sshd2 のログは /var/log/messages か/var/log/syslog に出力されるが、それは当該ホストへのSSHDによるログイン以外のログも記録されることになる。

landisk:~# vi /etc/logwatch/conf/services/sshd2.conf
Title = "Sshd2"
LogFile = messages
*OnlyService = sshd2
*RemoveHeaders

ログファイルごとに個別設定を行いたい場合は、/etc/logwatch/conf/logfiles/ 以下のファイルを編集する。特に編集する箇所も多くないだろうが、満足のいく結果を得るためにはこれらの設定ファイルも編集しておく必要があるだろう。

■cron で自動実行

cronで定期的に1日1回メールを送信するようにする。だが、logwatch をインストールすると、/etc/cron.daily/00logwatch もインストールされるのであえて登録する必要はない。

■ログの試し出力

設定ファイルを編集した後、logwatch コマンドを実行すれば指定した宛先にログが送信されるが、オプションなしで実行した場合、全てのサービスのログを出力するので無駄に時間がかかってしまい効率が悪い(特にLANDISK上で実行すると…)。なので、logwatch コマンド実行時に、--service オプションをつけて実行すると指定したサービスのログだけ送信するようにできる。あるいは、--logfile オプションを指定して、指定のログファイルのみチェックすることもできる。

landisk:~# logwatch --service sshd

一次的にログレベルをHigh にしたい場合、且つファイルに出力したい場合は以下のようにする。

landisk:~# logwatch --detail 10 --save /root/logwatch.txt --service kernel

ログ結果を標準出力したい場合は、--print をつけます。

landisk:~# logwatch --detail 10 --print --service kernel



 
     参考文献
 
⇒@IT:アクセスログの改ざんと検出方法 - Page2
⇒@IT:サーバのログ監視ツールを使いこなそう(3-3)





TOPへ戻る
 
Copyright © KORO All Rights Reserved.