ログ解析 LogWatch
LogWatchは、RedHat7.x以上やFedoraCoreの基本パッケージとしてインストールされるようになっています。
/etc/aliases ファイルにrootからのユーザー宛に届くように設定してあれば自動的に午前4:02に送信される設定になっています。
以下のような感じでメールにて送信されます。
内容見ると不正アクセスしようとしたものや偽装したメールや存在しないアドレスへ送ったりしてきたりと言う感じですね。
インターネットに繋げると不正アクセスしようとする悪人達が多いので監視する必要がありますね。
################### LogWatch X.X.X (01/01/03) ####################
Processing Initiated: Tue Jan 29 04:02:01 2008
Date Range Processed: yesterday
Detail Level of Output: 0
Logfiles for Host: xxxxxx.xxxxxxxx.com
################################################################
--------------------- ipop3d Begin -------------------------
**Unmatched Entries**
Discarding bogus X-uId header in message 5: 1 Time(s)
Discarding bogus X-uId header in message 3: 1 Time(s)
---------------------- ipop3d End -------------------------
--------------- Connections (secure-log) Begin ---------------
Connections:
Service pop3:
192.168.100.7: 1 Time(s)
202.97.20.2: 2 Time(s)
Service imap:
127.0.0.1: 29 Time(s)
--------------- Connections (secure-log) End -----------------
-------------------- sendmail Begin ------------------------
Unknown users:
026768@xxxxxx.xxxxxx.com: 1 Times(s)
564542451.12070075595134@xxxxxx.com: 2 Times(s)
j8k1dvnk010266@xxxxxx.xxxxxx.com: 1 Times(s)
qqtqmpxlo@xxxxxx.com: 5 Times(s)
xxxxxxxx@xxxxxx.com: 1 Times(s)
Unresolveable or non-existent domains:
courtneysbedroom.com@uscableco.com (does not exist): 1 Times(s)
imagiplay.com@unfauxgettable.net (does not exist): 1 Times(s)
windowslotto.com@kblans.com (does not exist): 1 Times(s)
Unresolved sender domains:
pink@enrichetta.info: 1 Times(s)
---------------------- sendmail End ------------------------
|
logwatchの設定オプション
| 設定ファイル |
実行オプション |
概要 |
| MailTo |
--mailto |
レポートのメール送信先です。サーバー上にMTAが動いていなければ送信できません。
指定は、OS上のユーザーかE-Mailを指定します。 |
| Save |
--save |
レポートをローカル上に保存させる場合に、そのファイル名(パス)を指定します。 |
| Range |
--range |
対象のログから抽出する時間の範囲を指定します。
「Today」なら今日の日付のログが、「Yesterday」なら昨日の日付のログが出力されます。
「ALL」ならログ全てが対象になります。
|
| Archives |
--archives |
ログがアーカイブされていた場合、それも対象に入れるか指定します。
多くのログファイルは、一定期間で退避されていることが多いでしょうからそのようなログファイルも対象に含める場合は設定します。
|
| Detail |
--detail |
レポートの出力レベルです。
「Low」「Med」「High」(又は0から10の数字)が指定でき、「High」が一番細かいレベルでレポートが作成されます。
|
- cron.dailyに登録されているLogwatchの実行プログラム
/etc/cron.daily/00-logwatch
cron.daily がいつ実行されるかは、
/etc/crontab の先頭には、以下のような環境変数やシェル変数を記述しておきます。cron はデフォルトでは、/etc/crontab の所有者(つまり、root )にメールを送信し、その実行結果を報告します。特定の宛先にメールを送信する場合は、MAILTO でアドレスを指定します。「MAILTO=""」のように空白を指定した場合は、誰にもメールを送信しなくなります。その他、環境変数 PATH を記述しておくことで、コマンドを絶対パスで記述する必要がなくなります。
#] vi /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 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
logwatchがインストールされているか確認するためには、
rpm -qa | grep logwatch を実行します。
インストールがしてなければFedoraCoreのCDやDVD等から実行してください。
#] vi /etc/log.d/conf/logwatch.conf ←logwatch5系以下の場合
通常デフォルトの設定で特に変更する必要もありませんのでデフォルトのままで運用上問題ないと思います。
LogDir = /var/log ←ログの記録先
MailTo = root ←メールの送信先(デフォルトはroot 任意に変更)
#Save = /tmp/logwatch ←#のコメントを取ると、メール通知でなくログに保存
#Archives = Yes ←#のコメントを取り、アーカイブされたログファイルも
Range = Yesterday ←All,Today,Yesterdayのどれかを指定
Detail = Low ←ログ解析のレベルを変更 Low,Med,Highもしくは、0〜10の範囲で
#] vi /usr/share/logwatch/default.conf/logwatch.conf ←logwatch-7.3系設定ファイル
ログファイルの保存場所、メール送信先、対象ログの抽出期間などを設定できます。特にデフォルトの設定で問題ないと思いますので変更する必要はありません。
LogDir = /var/log ← ログの保存されているディレクトリ
MailTo = root ← メール送信先
Print = No ← コンソール表示(YesにするとMailToの設定が無効になる)
Archives = Yes ← アーカイブされたログのチェック
Range = Yesterday ← 対象ログ(All, Today, Yesterday)
UseMkTemp = Yes ← 一時ファイルの作成
Detail = Low ← レポート詳細度(0〜10, 0:Low 5:Med 10:High)
Service = All ← チェックする対象サービス
Mailer = sendmail -t← メール送信コマンド
設定が完了したらスーパーサーバーを再起動します。
#] service xinetd restart
指定のアドレスへメール送信されます。
通常は、Cronで毎日4時2分に定期実行されます
ユーザー宛にメール送信されるか手動確認します。
#] /usr/sbin/logwatch
#] /usr/share/logwatch/scripts/logwatch.pl
|
上記を実行して画面に実行結果が表示されるだけでもしroot宛にメールが来なければ以下のように対処してみます。
/etc/logwatch/conf/logwatch.conf の logwatch.conf のファイルを以下のように追加して見ます。
#] vi /etc/logwatch/conf/logwatch.conf
print = 0 ←簡単に「print = 0」追加してプリントを出力しないようにしてみます
|
または/etc/cron.daily/00-logwatch または /etc/cron.daily/0logwatchに実行権がないとroot宛にメールが配送されませんので以下のように実行権を与えて上げればメールがroot宛に送られて来るようになります。
#] chmod +x /etc/cron.daily/00-logwatch ←logwatch-5.x系
#] chmod +x /etc/cron.daily/0logwatch ←logwatch-7.x系
|
または、以下のようにシンボリリンクを貼り直して見ます。
#] ln -s /usr/share/logwatch/scripts/logwatch.pl /etc/cron.daily/0logwatch
#] ln -s /usr/share/logwatch/scripts/logwatch.pl /usr/sbin/logwatch
|
もし、logwatchやtripwireなどは、不正侵入などを防ぐ手段として有効ですが、別の手段を講じている場合などは定期的に来るメールが煩わしいっと言う場合には、これらのメールは、cronで定期的に送信されるようになっている。配信を中止するには、その定義ファイルから実行権を外すか、ファイル自体を削除すれば配信されなくなります。
/etc/cron.daily/00-logwatch(/etc/log.d/scripts/logwatch.plのリンク)
および/etc/cron.daily/tripwire-checkという2つのファイルがありますのでこれらの実行権を以下のように外せばメールが来なくなります。
#] chmod -x /etc/cron.daily/00-logwatch ←logwatch-5.x系 #] chmod -x /etc/cron.daily/0logwatch ←logwatch-7.x系
#] chmod -x /etc/cron.daily/tripwire-check
|