特集
2003/10/08 21:33 更新

UNIX USER2003年11月号「Pragmatic UNIX」より転載
シスログの運用 (5/8)


UNIX USER 2003年11月号より転載

●クライアントの/etc/syslog.conf
 クライアントの/etc/syslog.confではリスト11のような設定を行います。基本的に、重要なメッセージはすべてサーバーに送り、クライアント側ではカーネルやローカルマシンの管理に必要なメッセージを残す方針としました。

リスト11 クライアントのsyslog.conf

1: *.warning       @loghost
2: daemon,auth.info    @loghost
3:
4: kern.info       /var/log/kern.log
5: *.emerg     *

 この方針に従って、loghostへ送るのは、
・warningレベル以上のメッセージのすべて(1行目)
・daemon、authファシリティでinfoレベル以上のメッセージすべて(2行目)
としています。デーモンや認証プログラムの出すメッセージは少し冗長性を持たせて採取しています。

 カーネルの出すメッセージは、warning以上ならloghostに送りますが、ローカルでの管理がまったくできないのも危険なので、info以上をローカルのファイルに残すようにしました。ローカルに保存する情報のほうがloghostに保存するッセージより少し詳しくなります。

 後は5行目の指定で、パニックなどの緊急メッセージをローカルの全ユーザーへも通知するようにしています。

 クライアント側は以上です。出力先ファイルの設定はサーバー側で行いますので、送信メッセージをファシリティやレベルで別ファイルに分けるような指定は不要です。設定ファイルを変更したら、syslogdを再起動して設定を反映させておきましょう。

●サーバーの/etc/syslog.conf
 サーバーの/etc/syslog.confでは、受け取ったメッセージをファシリティごとに分けて保存できるよう、リスト12のようにしました。ここではSolarisの指定を参考に、コンソールへ出力するものを決めました。具体的には、notice以上をコンソールへ出力し、info以上はログファイルに残すようにしています。また、一般的なメッセージは大体/var/log/messagesファイルに採取し、メール、cron、認証に関してはすべてのメッセージをそれぞれのファイルに分けています。

リスト12 サーバーのsyslog.conf

1: *.err;kern,auth.notice       /dev/console
2: *.err;kern,auth.info     /var/log/console.log
3:
4: *.err;kern.info;daemon,auth.notice   /var/log/messages
5: mark.debug       /var/log/messages
6: mail.debug       /var/log/mail.log
7: cron.debug       /var/log/cron.log
8: auth,local2.debug    /var/log/auth.log
9:
10: *.emerg      *

 ちなみに、5行目のmark.debugファシリティは、タイムスタンプを定期的に書き込むための指定です。こうやってサーバー側のタイムスタンプを定期的に書き込むようにしておけば、クライアントマシンの時刻がずれていても、サーバー側である程度対処できます。サーバー側も、設定ファイルを変更したら忘れずにsyslogdを再起動しておきましょう。

●運用結果
 上記の設定による運用結果は、リスト13のようになりました。これは、Debianをシスログサーバーとして、各クライアントのシスログを集中管理したときの出力例です。サーバー側ではメッセージの文字列をそのまま受け取ることになるので、かなり煩雑な感じがするのは否めません。そのほかのOSをサーバーにしたときも同様の出力になりますが、Solarisの場合はホスト名称がFQDNになります。

リスト13 集中管理されたログの例

Jul 29 17:45:59 debian -- MARK --
Jul 29 17:50:37 debian syslogd 1.4.1#10: restart (remote reception).
Jul 29 17:51:35 debian sshd[479]: Accepted password for username from 192.168.1.100 port 1353 ssh2
Jul 29 17:51:35 debian PAM_unix[481]: (ssh) session opened for user username by (uid=500)
Jul 29 17:51:40 debian PAM_unix[483]: (su) session opened for user root by username(uid=500)
Jul 29 17:43:25 solaris sshd[10051]: [ID 800047 auth.info] Failed publickey for username from 192.168.1.100 port 1354 ssh2
Jul 29 17:43:27 solaris sshd[10051]: [ID 800047 auth.info] Accepted password for username from 192.168.1.100 port 1354 ssh2
Jul 29 17:45:56 freebsd sshd[20254]: Accepted password for username from 192.168.1.250 port 38724 ssh2
Jul 29 17:46:03 freebsd su: BAD SU username to root on /dev/ttyp7
Jul 29 17:53:01 debian PAM_unix[487]: (cron) session opened for user mail by (uid=0)
Jul 29 17:53:01 debian /USR/SBIN/CRON[488]: (mail) CMD (  if [ -x /usr/sbin/exim -a -f /etc/exim/exim.conf ]; then /usr/sbin/exim -q ; fi)
Jul 29 18:05:59 debian -- MARK --

 1行目と最下行がmarkファシリティによるタイムスタンプです。クライアントマシンの時刻設定がずれていても、この「MARK」の記述時間から実際にログの原因となった事象の発生時間を絞り込むことができます。

[UNIX USER特別企画]
シスログの運用
OS組み込みのシスログ設定
シスログの中央管理
設定上の注意点
COLUMN シスログメッセージの作成
今月のサマリ

関連リンク
▼UNIXUSER
▼定期購読のご案内
▼バックナンバー販売協力店
▼読者モニターレポート

UNIX USER11月号表紙
UNIX USER 11月号

第1特集:WebDAVファイル共有 最新事情
第2特集:まだいるワーム/ウイルスをあぶり出せ
第3特集:カスタムLinuxザウルスを作る
付録CD-ROM 2枚組み
・オリジナルUNIX(V5/V6/V7)のソースコード ・OpenZaurus 3.3.1 ・SL-C700用special kernel v11 ・GNOPPIX 0.5.5 ・最新Linuxカーネル ほか

前のページ | 1 2 3 4 5 6 7 8 | 次のページ

[山下 哲典,UNIX USER]

Copyright © ITmedia, Inc. All Rights Reserved.