Kozupon.com    
 
 ログをとろう!


「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で実際にログインを試みて失敗していることを意味している。このようなテキスト形式のログを見るときには、FAILERRORという文字列が大切なキーワードとなる。

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) Qpopperへのパスワードアタック

この野郎、パスワードアタックを試みてる。見て解るように色々なキーワードデータベースでアタックしている。この場合は、TCP_WrappersでPopprへアクセス制御を掛けるのが一番手っ取り早い。
Feb 17 13:41:01 hiro popper[20710]: tomcat at 60.8.11.54 (60.8.11.54): -ERR [AUTH] Password supplied for "tomcat" is incorrect.
Feb 17 13:41:02 hiro popper[20711]: (v4.0.9) Unable to get canonical name of client 60.8.11.54: Unknown host (1)
Feb 17 13:41:02 hiro popper[20711]: (v4.0.9) Servicing request from "60.8.11.54" at 60.8.11.54
Feb 17 13:41:12 hiro popper[20711]: webadmin at 60.8.11.54 (60.8.11.54): -ERR [AUTH] Password supplied for "webadmin" is incorrect.
Feb 17 13:41:12 hiro popper[20712]: (v4.0.9) Unable to get canonical name of client 60.8.11.54: Unknown host (1)
Feb 17 13:41:12 hiro popper[20712]: (v4.0.9) Servicing request from "60.8.11.54" at 60.8.11.54
Feb 17 13:41:22 hiro popper[20712]: spam at 60.8.11.54 (60.8.11.54): -ERR [AUTH] Password supplied for "spam" is incorrect.
Feb 17 13:41:23 hiro popper[20713]: (v4.0.9) Unable to get canonical name of client 60.8.11.54: Unknown host (1)
Feb 17 13:41:23 hiro popper[20713]: (v4.0.9) Servicing request from "60.8.11.54" at 60.8.11.54
Feb 17 13:41:33 hiro popper[20713]: virus at 60.8.11.54 (60.8.11.54): -ERR [AUTH] Password supplied for "virus" is incorrect.
Feb 17 13:41:33 hiro popper[20714]: (v4.0.9) Unable to get canonical name of client 60.8.11.54: Unknown host (1)
Feb 17 13:41:33 hiro popper[20714]: (v4.0.9) Servicing request from "60.8.11.54" at 60.8.11.54

8) その他の記録の見方

/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
#

F
mail.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コマンドで!

以上


 
 
 



Copyright 2010 Kozupon.com.