「logを取る」これは鯖管理の基本中の基本である。起動中のモジュールの体調とか動き具合とかは全てlogが教えてくれる。さらに忘れてはならないのは、不正アクセス情報を取得するのはもちろんlogである。したがって、このlogの見方が解らなくては鯖を管理する事は不可能であり、管理者という資質を疑う。と言うことから、ここではlogの見方を全面的に伝授する。
目次
1項 限りなく不審アクセスを受けた生ログの実例
2項 Bindの生ログ
3項 自サイトの安全性チェック方法
4項 デフォルトのsyslog.confでは不十分!
5項 logrotateの活用
1.限りなく不審なアクセスを受けた生ログの実例
1) 完璧にポートスキャンをくらっている
以下、/var/log/messagesの内容
Jun 24 17:54:31 server1
popper[24940]: connect from xxx.xxx.xxx.xxx
Jun 24 17:54:32 server1 in.rlogind[24942]: connect from xxx.xxx.xxx.xxx
Jun 24 17:54:32 server1 in.ftpd[24943]: connect from xxx.xxx.xxx.xxx
Jun 24 17:54:32 server1 in.fingerd[24944]: connect from xxx.xxx.xxx.xxx
Jun 24 17:54:32 server1 in.telnetd[24946]: connect from xxx.xxx.xxx.xxx
Jun 24 17:54:32 server1 in.rshd[24945]: connect from xxx.xxx.xxx.xxx
こんなのが、来たら100%ポートスキャンくらってます!そんでもって、nmapでオプションなしのポートスキャンを食らうと、
Jan 22 22:26:34 server2
sshd[87060]: Did not receive ident string from xxx.xxx.xxx.xxx
こんな感じにlogに残ります。実は、俺のログにもたびたび現れます(爆爆)!非常にむかつきます(激怒)!!!
2) sshリモートシェルのログ
Feb 5 21:16:21 server sshd[2183]:
Failed password for hoge from xxx.xxx.xxx.xxx port 33124 ssh
secureログにこんなのが残っていた場合は、sshで実際にログインを試みて失敗していることを意味している。このようなテキスト形式のログを見るときには、FAILやERRORという文字列が大切なキーワードとなる。
Dec 15 10:41:55 server sshd[9683]:
refused connect from xxx.xxx.xxx.xxx
これは、一種のsshへの不正アクセス。だけど、Wrapper等のアクセス制御が効いてるためとりあえずはじかれてる状態。これが連続してる場合は、DoS攻撃の可能性あり。
3) telnet認証失敗
Jun 24 18:04:24 server01
in.telnetd[24988]: connect from xxx.xxx.xxx.xxx
Jun 24 18:04:29 server01 login: FAILED LOGIN 1 FROM xxx.xxx.xxx.xxx
FOR root,Authentication failure
こんなのが有ったら、telnet認証に失敗してます。不正侵入に失敗というわけですねえ。しかし、telnet
Portなんぞは外部に公開するべきではないですな。基本的に・・・!侵入してくださいと言わんばかりです(笑)。テキスト形式のログを見るときには、FAILやERRORという文字列を常に気にすること!
4) 第三者不正中継(メール)
/var/log/maillogファイルで、「reject」という文字列が目に付いたら、中継を試みられていることになります。こんな感じ。
Jun 24 18:23:40 server01 sendmail[25010]:
SAA25010: ruleset=check_rcpt, arg1=<foo@hogehoge.co.jp>, relay=ns.hogehoge.co.jp
[xxx.xxx.xxx.xxx], reject=553 <foo@hogehoge.co.jp>... Relay
operation rejected
これは、こやつOpenRelayで有るかチェックを試みているように思える(爆爆)。
Mar 22 21:25:36 main2 postfix/smtpd[8445]:
connect from unknown[220.127.99.170]
Mar 22 21:25:36 main2 postfix/smtpd[8445]: lost connection after
CONNECT from unknown[220.127.99.170]
Mar 22 21:25:36 main2 postfix/smtpd[8445]: disconnect from unknown[220.127.99.170]
Mar 22 21:25:46 main2 postfix/smtpd[8445]: connect from unknown[219.248.202.34]
Mar 22 21:26:01 main2 postfix/smtpd[8445]: lost connection after
CONNECT from unknown[219.248.202.34]
Mar 22 21:26:01 main2 postfix/smtpd[8445]: disconnect from unknown[219.248.202.34]
Mar 22 21:26:23 main2 postfix/smtpd[8445]: connect from unknown[211.231.42.107]
Mar 22 21:26:24 main2 postfix/smtpd[8445]: lost connection after
CONNECT from unknown[211. 231.42.107]
これも、不正中継を試みてる。懲りない奴らだね(-.-;)
Mar 20 09:19:36 main2 postfix/smtpd[3300]:
connect from NK219-91-84-182.adsl.dynamic.apol.com.tw[219.91.84.182]
Mar 20 09:19:37 main2 postfix/smtpd[3300]: 0B7B210F034: client=NK219-91-84-182.adsl.dynamic.apol.com.tw[219.91.84.182]
Mar 20 09:19:38 main2 postfix/smtpd[3300]: 0B7B210F034: reject:
RCPT from NK219-91-84-182.adsl.dynamic.apol.com.tw[219.91.84.182]:
554 <pp168@so-net.net.tw>: Relay access denied; from=<ggflo.helo@msa.hinet.net>
to=<pp168@so-net.net.tw> proto=SMTP helo=<203.141.144.180>
Mar 20 09:19:39 main2 postfix/smtpd[3300]: lost connection after
RCPT from NK219-91-84-182.adsl.dynamic.apol.com.tw[219.91.84.182]
Mar 20 09:19:39 main2 postfix/smtpd[3300]: disconnect from NK219-91-84-182.adsl.dynamic.apol.com.tw[219.91.84.182]
これは手が込んでいて、多分不正中継ではなのだが OpenProxy のアホなサーバを踏み台にSPAMってくる奴。
Mar 21 07:44:53 main2 postfix/smtpd[5336]:
connect from host50-230.pool217222.interbusiness.it[217.222.230.50]
Mar 21 07:45:20 main2 postfix/smtpd[5336]: E4D3010F034: client=host50-230.pool217222.interbusiness.it[217.222.230.50]
Mar 21 07:45:22 main2 postfix/smtpd[5336]: E4D3010F034: reject:
RCPT from host50-230.pool217222.interbusiness.it[217.222.230.50]:
554 Service unavailable; Client host [217.222.230.50] blocked
using opm.blitzed.org; Open proxy - see http://opm.blitzed.org/217.222.230.50;
from=<zvmsay@interbusiness.it> to=<xxxx@xxxx.com>
proto=ESMTP helo=<interbusiness.it>
Mar 21 07:45:24 main2 postfix/smtpd[5336]: lost connection after
RCPT from host50-230.pool217222.interbusiness.it[217.222.230.50]
Mar 21 07:45:24 main2 postfix/smtpd[5336]: disconnect from host50-230.pool217222.interbusiness.it[217.222.230.50]
5) FTPへの不正アクセス
/var/log/messagesの内容
Nov 24 03:38:16 michi inetd[2446]:
refused connection from pD950CDD8.dip.t-dialin.net, service in.proftpd
(tcp)
Nov 24 03:38:16 michi /kernel: Nov 24 03:38:16 michi inetd[2446]:
refused connection from pD950CDD8.dip.t-dialin.net, service in.proftpd
(tcp)
↑この野郎、しょっちゅう俺の鯖のFTPへ不正アクセスしてきやがる馬鹿野郎です!!!(爆爆)
アクセスしてもスーパーサーバのTCP_Wapperが効いてるので、”421 Service not available, remote
server has closed connection”で接続拒否されるのにひつこくアクセスしてきます。多分、定期的にアクセスするプログラムか何かを実行しているようです(爆爆)。馬鹿かよお前は!いい加減にしろ!
6) TCP_Wapperへの不正アクセス(IP偽造)
/var/log/messagesの内容
Nov 24 06:34:57 michi inetd[2672]:
warning: /etc/hosts.allow, line 14: can't verify hostname: getaddrinfo(crt-u-124.crt.net,
AF_INET) failed
Nov 24 06:34:57 michi /kernel: Nov 24 06:34:57 michi inetd[2672]:
warning: /etc/hosts.allow, line 14: can't verify hostname: getaddrinfo(crt-u-124.crt.net,
AF_INET) failed
↑この野郎なんか完全にIP偽造!通常、接続してきたときクライアントの逆引きと正引きを行なった後、/etc/hosts.allowの評価を行うが、逆引きと正引きを行った時点で、正引き情報と一致しないので拒否されている。このようなアクセスがあると、つまり逆引きに失敗するのでこの様な
warning が出る。
こんな場合はホスト名・ドメイン名を偽造した可能性があるので、/etc/hosts.allow
の先頭に、”ALL : PARANOID : RFC931 20 : deny”を追加して不正アクセスを排除しよう!しかし、
warningは消すことが出来ないので悪しからず。
Jun 10 16:36:44 michi /kernel:
Jun 10 16:36:43 michi inetd[83828]:warning: /etc/hosts.allow,
line 2: host name/name mismatch: 132.greyindo.com != greyindo.com
これは、132.greyindo.comのホストはgreyindo.comのAlias。つまり、CNAMEしたホスト。だけど、違う!と言ってる。本来同じIPアドレスだが132.greyindo.comは違うIPである。と言われている。ここの論理で
!= はNotを表しているので左辺と右辺はイコールではないと言っている。IPの偽造でホスト名が使われているように思える。これは、俺の想像に過ぎないが・・・!
7) その他の記録の見方
/var/log/messagesの内容
Feb 15 00:12:42 hoge kernel:
Packet log: input DENY eth0 PROTO=1 194.94.214.4:8 210.253.169.19:0
L=1500 S=0x00 I=351 F=0x4000 T=232
@ Feb 15 10:16:41 hoge PAM_pwdb[10651]: (sshd) session opened
for user micky by (uid=0)
A Feb 15 10:18:01 hoge PAM_pwdb[10697]: authentication failure;
micky(uid=1005) -> root for su service
B Feb 15 10:18:06 hoge PAM_pwdb[10700]: (su) session opened for
user root by micky(uid=1005)
Feb 15 10:18:23 hoge snmpd: Connection from xxx.xxx.xxx.51
Feb 15 10:42:02 hoge ftpd[10063]: FTP LOGIN FROM xxx.xxxx.ne.jp
[xxx.xxx.xxx.111], mity
Feb 15 10:42:46 hoge ftpd[10063]: FTP session closed
Feb 15 11:16:40 hoge sshd[10651]: Accepted password for micky
from xxx.xxx.xxx.222 port 861
C Feb 15 12:38:47 hoge PAM_pwdb[10801]: (su) session closed
for user root
D Feb 15 12:38:48 hoge PAM_pwdb[10823]: (sshd) session closed
for user mity
Feb 15 12:50:50 hoge PAM_pwdb[12020]: (login) session opened for
user mity by (uid=0)
他にもDNSが動いていれば、named
のログが残る、mail関係のログも存在する場合もある、特に PAM_ で始まるログに注意!!認証モジュールの PAM が設定されている環境であれば、ほとんどの認証情報が
/var/log/messages 内に残る。
@ Feb 15 10:16:41 hoge PAM_pwdb[10651]: (sshd) session opened
for user mity by (uid=0)
user mity により sshd へのセッションが開始されたことを意味する。
A Feb 15 10:18:01 hoge PAM_pwdb[10697]: authentication failure;
micky(uid=1005) -> root for su service
user mity が su コマンドにより root 特権を得ようとしたが、認証エラーが発生したことを意味する。
B Feb 15 10:18:06 hoge PAM_pwdb[10700]: (su) session opened for
user root by mity(uid=1005)
user mity が su コマンドにより、正常に root 特権を得たことを意味する。
C Feb 15 12:38:47 hoge PAM_pwdb[10801]: (su) session closed for
user root
user root が su コマンドによるセッションを終了したことを意味する。
D Feb 15 12:38:48 hoge PAM_pwdb[10823]: (sshd) session closed
for user mity
user mity が sshd へのセッションを終了したことを意味する。
■ ipchainsによりセッションを記録するよう設定している場合などには、以下のような記録が残ることがある。
Feb 15 00:12:42 hoge kernel: Packet log:
input DENY eth0 PROTO=1 194.94.214.4:8 xxx.xxx.xxx.19:0 L=1500
S=0x00 I=351 F=0x4000 T=232
■ これは ftp による接続を意味している。
Feb 15 10:42:02 hoge ftpd[10063]: FTP LOGIN
FROM xxx.xxxx.co.jp [xxx.xxx.xxx.218], mity
Feb 15 10:42:46 hoge ftpd[10063]: FTP session closed
■ ftp により認証エラーが発生した場合などには、以下のように非常に目立つように記録されています。
Feb 13 08:39:16 hoge ftpd[2442]: FTP LOGIN
FROM xxx.xxxx.net [xxx.xxx.xxx.69], blackboy
Feb 13 08:40:40 hoge PAM_pwdb[2468]: authentication failure; (uid=0)
-> badboy for ftp service
Feb 13 08:40:41 hoge xxx.xxx.net: connected: IDLE
2.BINDの生ログ
bindは、/var/log/messagesの内容でチェックする。以下は、小生のサーバの/var/log/messages。
Aug 4 11:18:31 michi named[27504]:
starting (/etc/named.conf). named 8.2.3-REL Thu Feb 1 21:57:52
JST 2001 ^Ipkg@build.jp.tlan:/work/RPM/BUILD/bind-8.2.3/src/bin/named
Aug 4 11:18:31 michi named[27504]: hint zone "" (IN) loaded (serial
0)
Aug 4 11:18:31 michi named[27504]: master zone "kozupon.com" (IN)
loaded (serial 2001063009)
Aug 4 11:18:31 michi named[27504]: master zone "0.0.127.in-addr.arpa"
(IN) loaded (serial 2001062305)
Aug 4 11:18:31 michi named[27504]: master zone "180.144.141.203.in-addr.arpa"
(IN) loaded (serial 2001062306)
Aug 4 11:18:31 michi named[27504]: listening on [127.0.0.1].53
(lo)
Aug 4 11:18:31 michi named[27504]: listening on [192.168.255.6].53
(eth0)
Aug 4 11:18:31 michi named[27504]: Forwarding source address is
[0.0.0.0].1065
Aug 4 11:18:31 michi named[27505]: group = named
Aug 4 11:18:31 michi named[27505]: user = named
Aug 4 11:18:31 michi named[27505]: Ready to answer queries.
上記は、正常に、BINDがロードされているログ。
Jul 8 20:53:32 192.168.255.1
IP#0: rx filtered UDP from 192.168.255.105/138 to 192.168.255.255/138
Jul 8 20:57:12 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.6/138
to 192.168.255.255/138
Jul 8 20:57:12 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.6/138
to 192.168.255.255/138
Jul 8 21:01:26 sub2 named[421]: Lame server on 'xxx.xxh.xxx.xxx.xxx.in-addr.arpa'
(in 'xxh.xxx.xxx.xxx.in-addr.arpa'?): [xxx.xxx.xxx.xxx].53 'dns1.hogehoge.co.jp' ← ※
Jul 8 21:02:50 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.105/137
to 192.168.255.255/137
Jul 8 21:02:52 192.168.255.1 last message repeated 2 times
Jul 8 21:06:26 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.105/138
to 192.168.255.255/138
Jul 8 21:09:15 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.6/138
to 192.168.255.255/138
Jul 8 21:09:15 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.6/138
to 192.168.255.255/138
Jul 8 21:17:36 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.105/138
to 192.168.255.255/138
Jul 8 21:17:50 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.105/137
to 192.168.255.255/137
Jul 8 21:17:52 192.168.255.1 last message repeated 2 times
Jul 8 21:21:22 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.6/138
to 192.168.255.255/138
Jul 8 21:21:22 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.6/138
to 192.168.255.255/138
Jul 8 21:29:36 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.105/138
to 192.168.255.255/138
Jul 8 21:32:50 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.105/137
to 192.168.255.255/137
Jul 8 21:32:52 192.168.255.1 last message repeated 2 times
Jul 8 21:33:22 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.6/138
to 192.168.255.255/138
Jul 8 21:33:22 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.6/138
to 192.168.255.255/138
Jul 8 21:41:39 192.168.255.1 IP#0: rx filtered UDP from 192.168.255.105/138
to 192.168.255.255/138
上記は、殆どルータへホストがアクセスした記録ですが、※印の、
Jul 8 21:01:26 sub2 named[421]: Lame server
on 'xxx.xxh.xxx.xxx.xxx.in-addr.arpa' (in 'xxh.xxx.xxx.xxx.in-addr.arpa'?):
[xxx.xxx.xxx.xxx].53 'dns1.hogehoge.co.jp'
は、bindの記録です。このLame serverはdns1.hogehoge.co.jpと言うサーバのDNSの設定が間違っていると言う印です。不正アクセスと間違えやすいので注意が必要です。
3.自サイトの安全性チェック方法
まず、俺のサーバのsyslog.confの内容。
# Log all kernel messages
to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
@*.info;mail.none;news.none;authpriv.none /var/log/messages
# The authpriv file has restricted access.
Aauthpriv.* /var/log/secure
# Log all the mail messages in one place.
Bmail.* /var/log/maillog
# Everybody gets emergency messages, plus log them on another
# machine.
C*.emerg *
# Save mail and news errors of level err and higher in a
# special file.
# uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
Dlocal7.* /var/log/boot.log
#
# Popper
#
#local0.notice /var/log/popperlog
#
# Router
#
Euser.* /var/log/router
#
# Mail
#
Fmail.info -/var/log/mail.info ←
※
Gmail.warn -/var/log/mail.warn ←
※
Hmail.err /var/log/mail.err
@は、メール、プライベート認証、cron以外の報告以上の全てを/var/log/messagesに記録する。
Aは、プライベート認証関連を/var/log/secureに記録する。
Bは、メール関連のログを/var/log/maillogに記録する。
Cは、重大な問題をログイン中の全員に知らせる。
Dは、ブートメッセージを/var/log/bootlogに記録する。
Eは、ルータの情報を/var/log/routerに記録する。
ルータのログをsyslogへ飛ばすには、syslog起動オプションに "-r"
を追加する。
SYSLOGD_OPTIONS="-r -m 0"
Fは、メールの情報を/var/log/mail.infoに記録する。
Gは、メールのワーニング情報を/var/log/mail.warnに記録する。
Hは、メールエラー情報を/var/log/mail.errに記録する。
※印のような"-"の記号が何を表しているかというと、"記録の際のファイルシステムバッファのフラッシュ動作を抑制する。"と言う意味。つまり、-を先頭に付けるとバッファリングを行うと言う事になる。これは、あまり重要ではなくサイクリックなlogでなければ、つまりサイクリックで有る必要がないlogならばHDDのアクセス軽減に繋がる。あと、logの弱点として、サイクリックなlog管理であるが故に、例えば場合によって、logファイルへ大量のデータを流し込む事が可能となる。そう言った悪戯や攻撃にも効果を発揮するかも知れない。
最低チェックが必要なlogファイルとしては、
/var/log/maillog mailサーバの動作記録
/var/log/messages 様々なプログラムの動作記録
/var/log/secure ユーザ認証関連の記録
4.デフォルトのsyslog.confでは不十分!
本来のセキュリティを考えるなら、3項のようなデフォルトのsyslog.confのようなログ設定では不十分であると私は思う。したがって、以下に私のセキュリティログ出力設定を紹介したい。
1) syslog
まず、/etc/syslog.confの設定に関するFacilityをPriorityだがこの意味を説明したい。
Facilityは意味の如く”設備”という意味だが各設備機能を指定する。以下にその種類を列記する。
|
Facility名
|
用 途
|
| user |
ユーザプロセス用 |
| kern |
カーネル用 |
| mail |
メールシステム用 |
| daemon |
システムデーモン用 |
| auth |
認証システム用 |
| authpriv |
リモートシステムセッション情報用 |
| lpr |
ラインプリンタスプーリングシステム用 |
| news |
USENET news用 |
| uucp |
UUCPシステム用 |
| cron |
cron/atシステム用 |
| local0〜7 |
ローカル用に予約 |
| mark |
タイムスタンプ用 |
| * |
markを除く全てのFacility |
以上が、Facilityの種類である。次にPriorityだが、これは言わずと知れた”優先順位”を意味する。
以下に、その種類を列記する。順位が高い方から記載されている。
|
Priority名
|
意 味
|
| emerg |
緊急事態発生メッセージ |
| alert |
アラートメッセージ |
| crit |
重大なエラーメッセージ |
| err |
通常のエラーメッセージ |
| warning |
ワーニングメッセージ |
| notice |
注意程度のメッセージ |
| info |
情報メッセージ |
| debug |
デバッグ用メッセージ |
| none |
メッセージの出力をキャンセルする |
| * |
noneを除く全てのPriority |
例えば、 May 13 06:53:33
sub2 sshd[9692]: refused connect from ::ffff:61.xxx.xxx.xxx (::ffff:61.xxx.xxx.xxx)
こういうSSH等への不正アクセスを検出する場合は、securityログをauth.infoレベルに設定しておくのがよい。
優先度の低いdebugを指定すると、それよりも優先度の高いinfoなどの出力要求があった場合にも出力されるみたいでつまり、*.*と*.debugは結果的に同じ意味になるようだ。それで、出力先は大きく分けて以下の3種類になる。
@ ファイルもしくはデバイス(/から始まる絶対パスを指定する)
A 他のホストのsyslogdにバイパス(@マークを先頭に付けてホスト名を指定する)
B ログイン中のユーザ(ユーザ名を指定、*は全てのユーザ)
不正アクセスを調べるために、時系列でアクセスの確認が出来るように/etc/syslog.confに、
*.debug /var/log/alldebug.log
を定義して、
# cp /dev/null /var/log/alldebug.log
# chown root.root /var/log/alldebug.log
# chmod go-w /var/log/alldebug.log
# kill -HUP <syslogdのプロセスID>
2) 不正アクセス検出の手がかり
ログの中に、以下のようなキーワードが出現したら注意すること!
|
サービス名
|
キーワード
|
不正アクセスの意味
|
| ftp |
Login incorrect |
パスワードアタック |
| ftp |
passwd |
パスワードファイルへの不正アクセス |
| telnet |
Authentication
failed |
パスワードアタック |
| telnet |
REPEATED LOGIN
FAILURES |
パスワードアタック |
| ssh |
refused
connect |
不正アクセス、連続しているとDos攻撃の疑い |
| SMTP |
reject |
メール不正中継 |
| SMTP |
rejected |
不正なコマンド実行 |
| SMTP |
allow,Sorry |
不正なコマンド実行 |
| SMTP |
Null connction |
ポートスキャン |
| pop3 |
-ERR POP EOF
received |
ポートスキャン |
| pop3 |
-ERR Password
supplied |
パスワードアタック |
| HTTP |
cgi-bin/phf |
CGIの不正使用 |
| HTTP |
cgi-bin/php |
CGIの不正使用 |
| HTTP |
cgi-bin/test-cgi |
CGIの不正使用 |
| HTTP |
password mismatch |
パスワードアタック |
5.logrotateの活用
ログは、放っておくといくらでも大きくなる。したがって、定期的にログをリセットする必要がある。
しかし、すぐにログを消してしまうと後で不正侵入が判明した場合の調査に利用できなかったりするので、少し昔のものでもとっておいた方が良いであろう。そういう場合に便利なのがこのlogrotateである。logrotateは、定期的にログをリセット、3回前のログまで保存する、圧縮してログを保存する、などログに関しての様々な機能を提供する。logrotateは、Linuxで標準にインストールされる。logrotateの設定ファイルは、/etc/logrotate.confにある。以下に示す。
# see "man logrotate" for
details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# send errors to root
errors root
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own lastlog or wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
# system-specific logs may be configured here
上記で、
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
これは、/var/log/wtmpというログファイルを月に1回実行し、1ヶ月前のログまで保存する。バックアップファイルの新規作成する場合のパーミッション"644"、所有者"root"、グループ"utmp"を指定している。新しく設定を追加する場合は、/etc/logrotate.d
以下に新しいファイルを作成し、そのファイルに設定を記述する。"rotate 1"は、何世代までログを保存するかと言うことを指定する。”1”は、1つ前のログまで保存する。さらに、logrotateした後にプログラムの再起動を行いたい場合は、postrotate行とendscript行の間に、次のように再起動に関するコマンドを記述する。この例では、syslogdを再起動している。logrotationの詳細は、
ここ を参照すること。
postrotate
/bin/killall -HUP sysylogd
endscript
尚、詳しい設定パラメータは、manコマンドで!
以上
|