강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

logwatch의 시스템 로그분석 결과를 매일 관리자 메일로 보고받기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

logwatch의 시스템 로그분석 결과를 매일 관리자 메일로 보고받기

 

 

 

 

logwatch는 시스템 로그분석기 역할과 분석한 로그 결과를 관리자에게 보고해주는 역할(system log analyzer and reporter)을 합니다.

 

 

 

간단히 설명하자면 /var/log/디렉토리에 존재하는 시스템 로그파일들(messages, maillog, secure)을 분석하여 관리자(대부분 root)에게 메일을 보내주거나 보고를 하는 명령어입니다.

 

 

 

  logwatch라는 명령어는 대부분 cron에 의해서 자동 실행되고 /etc/log.d/logwatch.conf파일 내에 설정되어 있는 보고방식(주로 메일)에 따라서 관리자(주로 root)에게 보고합니다.

 

 

 

 

 

당연한 얘기겠지만 logwatch는 다음과 같이 logwatch라는 RPM패키지가 시스템에 설치되어 있어야 합니다.

 

 

 

 

 

[root@www services]# rpm -qa | grep logwatch

logwatch-7.3.6-31.fc10.noarch

[root@www services]#

[root@www services]# rpm -ql logwatch-7.3.6-31.fc10.noarch

/etc/cron.daily/0logwatch

/etc/logwatch

/etc/logwatch/conf

/etc/logwatch/conf/ignore.conf

/etc/logwatch/conf/logfiles

/etc/logwatch/conf/logwatch.conf

/etc/logwatch/conf/override.conf

/etc/logwatch/conf/services

/etc/logwatch/scripts

/etc/logwatch/scripts/services

/usr/sbin/logwatch

중략

/usr/share/logwatch

/usr/share/logwatch/default.conf

/usr/share/logwatch/dist.conf

/usr/share/logwatch/dist.conf/logfiles

/usr/share/logwatch/dist.conf/services

이하생략

 

 

 

 

명령어위치 : /usr/sbin/logwatch  

 

 

 

 

먼저, logwatch가 분석한 보고서를 관리자의 일반메일 주소로 받아보는 방법부터 알아보도록 하겠습니다.

 

 

 

 , 시스템의 기본설정을 그대로 사용하신 후에 다음과 같이 해보시기 바랍니다.

 

 

 

 

 

만약, 로그분석 결과를 root가 아닌 일반메일계정(대부분 관리자가 사용하는 일반계정)으로 받아보고자 하신다면 /etc/aliases파일의 아래 부분을 관리자의 일반 메일주소로 앨리어스(별칭)시켜 두시면 됩니다.

 

 

 

 그러면 root의 모든 메일들이 아래 설정한 관리자의 일반계정(bible)으로 들어오게 됩니다.

 

 

 

 

 

# Person who should get root's mail

root:           bible

 

 

 

 

따라서 logwatch로 분석한 로그의 결과가 bible이라는 계정의 메일로 오게 되는 것입니다.

 

 

 

  그리고 대부분 cron은 새벽 04:00에 실행이 되므로 내일 아침 bible의 계정으로 도착한 메일을 확인해 보시기 바랍니다.

 

 

 

 다음은 logwatch에 관한 cron설정의 일부분입니다.

 

 

 

 

 

[root@www cron.daily]# cat /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

[root@www cron.daily]#

[root@www cron.daily]# ls -l /etc/cron.daily/0logwatch

lrwxrwxrwx 1 root root 45 2008-12-0122:08 /etc/cron.daily/0logwatch -> ../..//usr/share/logwatch/scripts/logwatch.pl

[root@www cron.daily]#

 

 

 

 

위의 설정에서 우리는 /etc/cron.daily디렉토리의 모든 실행파일들은 매일 새벽 04 02분에 모두 자동실행된다는 것을 알 수 있습니다.

 

 

 

 따라서 /etc/cron.daily디렉토리에 존재하는 0logwatch실행파일도 매일 이 시작에 자동 실행된다는 사실을 알 수 있습니다.

 

 

 

 

 

이와 같이 리눅스 설치초기 환경에는 logwatch라는 로그분석 유틸리티가 cron에 등록되어 있기 때문에 별다른 설정을 하지 않아도 관리자 계정으로 그 결과가 들어오는 것입니다.

 

 

 

 , 그럼 이제 logwatch의 실행환경을 살펴보도록 하겠습니다.

 

 

 

 

 

먼저 logwatch의 주디렉토리는 다음과 같이 /etc/logwatch입니다.

 

 

 

 

 

[root@www ~]# ls -l /etc/logwatch/

합계 8

drwxr-xr-x 4 root root 4096 2008-12-0122:08 conf

drwxr-xr-x 3 root root 4096 2008-12-0122:08 scripts

[root@www ~]#

 

 

 

 

그리고 이 디렉토리에 존재하는 conf디렉토리는 logwatch의 모든 설정파일들이 들어 있는 곳이며 scripts디렉토리는 logwatch의 실행스크립트파일이 존재하는 곳입니다.

 

 

 

 그러면 설정파일이 위치하는 /etc/logwatch/conf디렉토리를 보겠습니다.

 

 

 

 

 

[root@www ~]# ls -l /etc/logwatch/conf

합계 20

-rw-r--r-- 1 root root   81 2008-10-2417:47 ignore.conf

drwxr-xr-x 2 root root 4096 2008-10-2417:47 logfiles

-rw-r--r-- 1 root root  103 2008-10-2417:47 logwatch.conf

-rw-r--r-- 1 root root   77 2008-10-2417:47 override.conf

drwxr-xr-x 2 root root 4096 2008-10-2417:47 services

[root@www ~]#

 

 

 

 

여기에 존재하는 각각의 로그파일들의 분석결과를 logwatch는 관리자에게 알려주게 됩니다.

 

 

 

 

 

위의 각각의 파일들은 여러분들께서 직접 확인해 보시기 바랍니다.

 

 

 

 그리고 다음은 logwatch가 분석한 로그분석결과를 메일로 받은 예를 보인 것입니다.

 

 

 

 

 

제목 : LogWatch for ns.superuser.co.kr

 

################## LogWatch 2.6 Begin #####################

 

 --------------------- Named Begin ------------------------

**Unmatched Entries**

 

   client 66.136.44.126#4978: update 'diroo.com/IN' denied: 1 Time(s)

   client 66.136.44.126#4988: update 'diroo.com/IN' denied: 1 Time(s)

   client 66.136.44.126#5000: update 'diroo.com/IN' denied: 1 Time(s)

 ---------------------- Named End -------------------------

 

 

 

 --------------------- proftpd-messages Begin ------------------------

**Unmatched Entries**

www (210.222.223.192[210.222.223.192]) - FTP session opened.

www (logserver[220.144.223.221]) - FTP session opened.

www (210.222.223.192[210.222.223.192]) - FTP session closed.

www (logserver[220.144.223.221]) - FTP session closed.

www (211.218.236.123[211.218.236.123]) - no such user 'anonymous'

www (211.111.193.138[211.111.193.138]) - no such user 'anonymous'

 ---------------------- proftpd-messages End -------------------------

 

 

 

 ---------------- Connections (secure-log) Begin -------------------

Connections:

   Service pop3:

      161.178.140.22: 17 Time(s)

      211.111.193.138: 6 Time(s)

 

**Unmatched Entries**

proftpd[20490]: www (210.222.223.192[210.222.223.192]) - USER bible: Login successful.

proftpd[20504]: www (logserver[220.144.223.221]) - USER bible: Login successful.

proftpd[15777]: www (218.232.58.83[218.232.58.83]) - USER anonymouse: no such user found from 218.232.58.83 [218.232.58.83] to 211.220.193.181:21

proftpd[31219]: www (211.111.193.138[211.111.193.138]) - USER anonymous: no such user found from 211.111.193.138 [211.111.193.138] to 211.220.193.181:21

proftpd[31821]: www (211.218.236.123[211.218.236.123]) - USER anonymous: no such user found from 211.218.236.123 [211.218.236.123] to 211.220.193.181:21

proftpd[31822]: www (211.218.236.123[211.218.236.123]) - USER anonymous: no such user found from 211.218.236.123 [211.218.236.123] to 211.220.193.181:21

proftpd[31828]: www (211.218.236.123[211.218.236.123]) - USER anonymous: no such user found from 211.218.236.123 [211.218.236.123] to 211.220.193.181:21

xinetd[6971]: FAIL: pop3 libwrap from=211.111.193.138

proftpd[7115]: www (211.111.193.138[211.111.193.138]) - USER anonymous: no such user found from 211.111.193.138 [211.111.193.138] to 211.220.193.181:21

 

 ----------------- Connections (secure-log) End --------------------

 

 

 --------------------- sendmail Begin ------------------------

2412285 bytes transferred

678 messages sent

 

Unknown users:

    pa@binggayun.net: 1 Times(s)

    aceace@binggayun.net: 27 Times(s)

 

**Unmatched Entries**

 

i2OF7NR11130: lost input channel from [61.72.135.185] to MTA after rcpt

i2OFGJR11583: ruleset=check_rcpt, arg1=<k199909@starfish.co.kr>, relay=[219.240.92.41], reject=550 5.7.1 <k199909@starfish.co.kr>... Relaying denied. IP name lookup failed [219.240.92.41]

i2OH3jR17863: ruleset=check_rcpt, arg1=<bible@knhc.co.kr>, relay=[61.254.67.81], reject=550 5.7.1 <bible@knhc.co.kr>... Relaying denied. IP name lookup failed [61.254.67.81]

i2OH3jR17863: lost input channel from [61.254.67.81] to MTA after rcpt

i2OH3kR17865: ruleset=check_rcpt, arg1=<bible@knhc.co.kr>, relay=[61.254.67.81], reject=550 5.7.1 <bible@knhc.co.kr>... Relaying denied. IP name lookup failed [61.254.67.81]

i2OH3kR17865: lost input channel from [61.254.67.81] to MTA after rcpt

i2OH3kR17867: ruleset=check_rcpt, arg1=<bible@knhc.co.kr>, relay=[61.254.67.81], reject=550 5.7.1 <bible@knhc.co.kr>... Relaying denied. IP name lookup failed [61.254.67.81]

i2OH3kR17867: lost input channel from [61.254.67.81] to MTA after rcpt

i2OH3lR17871: ruleset=check_rcpt, arg1=<bible@knhc.co.kr>, relay=[61.254.67.81], reject=550 5.7.1 <bible@knhc.co.kr>... Relaying denied. IP name lookup failed [61.254.67.81]

i2P0g1R09329: i2P0g7R09331: DSN: User unknown

i2P0gsR09465: i2P0gwR09467: DSN: User unknown

i2P0hmR09599: i2P0hmR09601: DSN: User unknown

i2P0iDR09669: ruleset=check_rcpt, arg1=coba@mk.co.kr, relay=[161.178.140.22], reject=550 5.2.1 coba@mk.co.kr... Mailbox disabled for this recipient

i2P0iRR09682: i2P0iSR09684: DSN: Service unavailable

i2P0kaR10324: i2P1B6S12673: DSN: Service unavailable

i2P0kXR10233: i2P1D5o12673: DSN: Service unavailable

i2P0kUR10116: i2P1D5p12673: DSN: Service unavailable

i2P1J4L13494: i2P1J7L13497: DSN: User unknown

i2P1JrL13589: ruleset=check_rcpt, arg1=<parksh20012000@yahoo.kr>, relay=[211.108.158.119], reject=450 4.7.1 <parksh20012000@yahoo.kr>... Relaying temporarily denied. Cannot resolve PTR record for 211.108.158.119

i2P1JrL13589: lost input channel from [211.108.158.119] to MTA after rcpt

NOQUEUE: [211.111.193.138] did not issue MAIL/EXPN/VRFY/ETRN during connection to MSA

NOQUEUE: [211.111.193.138] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

NOQUEUE: [211.61.67.153] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

 ---------------------- sendmail End -------------------------

 

 --------------------- SSHD Begin ------------------------

Users logging in through sshd:

      bible logged in from 161.178.140.22 using password: 2 Times(s)

      sskim logged in from 161.178.140.22 using password: 1 Times(s)

 

**Unmatched Entries**

refused connect from 211.111.193.138 (211.111.193.138)

refused connect from 211.111.193.138 (211.111.193.138)

refused connect from 211.111.193.138 (211.111.193.138)

 ---------------------- SSHD End -------------------------

 

 

 ###################### LogWatch End #########################

 

 

 

 

위의 예는 logwatch에 의해 분석된 로그파일의 결과를 실제 필자가 받은 예입니다.

 

 

 

 위의 결과를 보시면 Named에 관한 로그분석결과, proftpd에 관한 로그분석 결과, secure에 관한 로그분석 결과, sendmail에 관한 로그분석 결과, SSHD에 관한 로그분석결과 등을 보고하였음을 알 수 있습니다.

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,070 명
  • 현재 강좌수 :  35,986 개
  • 현재 접속자 :  347 명