로그파일 관리

27
로로로로 로로 대대대대 대대대대대대대 “ 대대대대대대대” www.superuser.co.kr

Upload: yuli-avery

Post on 31-Dec-2015

56 views

Category:

Documents


0 download

DESCRIPTION

로그파일 관리. 대한민국 서버관리자그룹 “ 수퍼유저코리아 ” www.superuser.co.kr. 로그파일의 중요성. 시스템관리에 있어서 정기적으로 확인 및 점검해야 할 사항중에 가장 중요한 것이 있다 . 시스템에 이상이 있거나 보안의 위험을 감지 하기 위해서는 시스템에서 남겨지는 메시지를 확인해야 한다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 로그파일 관리

로그파일 관리

대한민국 서버관리자그룹“ 수퍼유저코리아”

www.superuser.co.kr

Page 2: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

로그파일의 중요성

시스템관리에 있어서 정기적으로 확인 및 점검해야 할 사항중에 가장 중요한 것이 있다 . 시스템에 이상이 있거나 보안의 위험을 감지하기 위해서는 시스템에서 남겨지는 메시지를 확인해야 한다 .

시스템에 이상이 생겼을 때 혹은 보안이 뚫려서 해킹을 당했을 때 이에 대한 1 차적인 확인을 로그파일들에서 하게된다 . 우리 인체에 비유하자면 사람의 몸에 이상이 생기기 전에 위험신호를 감지하기 위해 몸상태를 체크해 보내는 것과 비슷하다고 할 수 있다 .

서버상태의 정확한 판단을 위한 근거로 활용

모든 시스템에는 작업이 있고 난 후에는 반드시 로그가 남겨지며 , 관리자는 이를 정기적으로 점검을 해야한다 .

Page 3: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

리눅스의 기본로그들

콘솔로그 : /dev/console, 콘솔에 뿌려지는 로그

시스템로그 : /var/log/messages, syslogd, 리눅스커널로그 및 주된로그

보안로그 : /var/log/secure, inetd inetd 에 의한 로그

메일로그 : /var/log/maillog, sendmail, popper 메일로그 (sendmail 에 의한 로그 )

크론로그 : /var/log/cron crond crond 에 의한 로그

부팅로그 : /var/log/boot.log 시스템부팅시의 로그

FTP 로그 : /var/log/xferlog ftpd ftp 접속및 작업로그

웹로그 : /usr/local/apache/logs/access_log httpd 아파치 ( 웹서버 ) 로그

네임서버로그 :/var/log/named.log named 네임서버 (DNS) 로그

Page 4: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

시스템 로그설정파일

로그데몬 : syslogd로그 설정파일 : /etc/syslog.conf

Page 5: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

로그데몬및 실행스크립트 데몬 프로그램

/sbin/syslogd

실행스크립트/etc/rc.d/init.d/syslog

Page 6: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

로그데몬 실행및 종료 로그데몬 실행

/etc/rc.d/init.d/syslog start

로그데몬 종료/etc/rc.d/init.d/syslog stop

로그데몬 재시작 : /etc/rc.d/init.d/syslog restart

Page 7: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

마지막 접속로그 (lastlog)

Page 8: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

마지막 접속로그 (lastlog) 사용예

Page 9: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

로그파일관리의 의미 시스템에서 로그란 어떤의미를 가지고 있을까 ?

시스템관리에 있어서 무시못할 일이 로그파일분석과 관리일 것이다 .

시스템에 이상징후가 발생을 했을 때 , 시스템관리자가 가장먼저 확인해 보는 것이 로그파일이다 .

시스템이 해킹을 당했다고 느낄에 우린 로그파일에 의존하게된다 . 어디서 (IP Address) 누가 (ID) 어떻게 (port) 들어와서 어떤작업을

했는지를 확인하려할 때 우린 전적으로 로그파일에 의존하게 된다 .

로그파일을 잘 관리함으로 인해서 시스템관리자에게 마지막 희망을 주기도 한다 .

따라서 시스템관리자는 로그파일관리에 절대 소홀해서는 아니된다 .

Page 10: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

관리대상 로그파일 ? 그렇다면 관리해야할 로그파일이 얼마나 있을까 ? 기본적으로 운영체제 ( 시스템이라고 하자 ) 에서 남겨지는 기본적인 로그들

(syslogd 에 관한 로그들 ) 만도 여러개지만 웹서버 ( 주로 아파치 ) 를 운영하고 있다면 웹로그가 있을 것이고 메일서버 ( 주로 sendmail 과 pop) 를 운영한다면 메일로그파일이 존재할 것이다 .

또한 DNS, 즉 named 를 운영하고 있다면 named 에 관한 로그파일이 존재할 것이고 , ftp 서버를 운영하면서 파일서버로 운영을 한다면 ftp 로그파일도 존재할 것이며 , samba 서버를 운영한다면 이에 대한 로그도 존재할 것이다 .

로그파일에 대해서 일일이 열거하는 일 자체가 그리 중요한 것은 아니지만 , 자기가 운영하는 시스템에 어떤로그파일이 존재하며 어떤데몬 ( 또는 프로세스 ) 에 의해서 로그가 남겨지는가는 정확히 알고 있어야한다 .

아울러 로그파일시스템이 어떤 경로로 남겨지게 되는지에 대해서도 정확히 알고 있어야할 것이다 .

Page 11: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

로그파일 샘플

Page 12: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

로그파일 샘플

Page 13: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

로그파일 샘플

Page 14: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Syslogd 의 설치 , 제거 및 확인

Page 15: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Syslogd 의 설치 , 제거 및 확인

Page 16: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Syslogd 의 구조

정식이름 : Linux system logging utilities

/sbin/syslogd 로그데몬의 위치 및 데몬프로그램 /etc/syslog.conf 로그데몬의 설정파일 , 각종 로그파일

들의 설정 및 저장위치지정 /var/run/syslogd.pid syslogd 데몬의 PID 파일 /etc/rc.d/init.d/syslog start 로그데몬 실행방법 /etc/rc.d/init.d/syslog stop 로그데몬 종료방법 /etc/rc.d/init.d/syslog restart 로그데몬 재시작방법

Page 17: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

로그시스템의 흐름도

Page 18: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Logrotate 개론 거의 모든 운영체제에서는 로그파일의 종류와 그 크기를 어떻게 보관하고

관리할 것인가에 대한 것이 아주중요하게 다루어지고 있다 .

 logrotate 는 이에 대한 해답을 주는 유틸리티라고 할 수 있다 .

logrotate 는 시스템에 있는 모든 로그파일들을 관리할 수 있으며 이들 로그파일들을 자르고 (rotate), 보관하고 , 삭제하고 , 압축하고 , 메일로 보내주는 등의 작업을 할 수 있게 한다 .

logrotate 는 이런 cron 에 의해 주기적으로 이런작업을 훌륭히 수행해 낸다 .

Page 19: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Logrotate 의 구성

구분 위치및 실행방법 설명

데몬 ( 위치 ) /usr/sbin/logrotate 데몬의 위치 및 데몬프로그램

데몬 설정파일 /etc/logrotate.conf logrotate 설정파일

설정디렉토리 /etc/logrotate.d logrotate 에 적용할 각종로그파일들 보관 하는 디렉토리

상황파일 /var/lib/logrotate.status logrotate 한 작업내역을 보관한 파일

Cron( 일단위 ) /etc/cron.daily/logrotate logrotate 는 주기적으로 실행이되어야 하므로 cron 에 의해 일단위로 실행이 됨

Page 20: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Logrotate 의 설치및 제거

Page 21: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Logrotate.conf

Page 22: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Logrotate 의 설정옵션 -f, --force  

강제순환시킨다 . 이 옵션은 새로운 항목을 추가한 후에 로그파일을 순환시키거나 옛날 로그파일이 이미 삭제되어 새로운 로그파일이 생성되어 로그기록이 계속되고 있을 경우에 유용한 옵션이다 .

-s, --state <statefile> 기본 상황파일인  /var/lib/logrotate.status 파일대신에 지정한 state파일을 사용한다 .

--usage logrotate 의 기본 사용법을 간단히 보여준다 .

Page 23: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Logrotate 의 설정옵션 compress

순환되는 로그파일을 gzip 으로 압축하게된다 . nocompress 와는 반대 .

nocompress 순환되는 로그파일의 압축을 하지 않는다 . 반대는 compress

create mode owner group 순환되어 생성되는 로그파일의 파일퍼미션 (mode) 과 소유자 (owner), 그리고 그룹소유자 (group) 를 지정한 것이다 . ( 예 , create root 600 wheel)

daily 로그파일을 매일주기로 순환시킨다 .

Page 24: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Logrotate 의 설정옵션 weekly

로그파일을 매주주기로 순환시킨다 .

monthly 로그파일을 한달주기로순환시킨다 .

errors address logrotate 작업시에 에러가 발생한다면 지정된 메일주소로 메일을 보내게 된다 .

extension ext logrotate 실행후에 순환되어 생성되는 파일의 이름뒤에 확장자로 붙일 확장자명을 지정한다 .만약 compress 라는 옵션으로 gzip 으로 압축을 했다면 gz 라가 확장자 뒤에 붙게된다 . 예를 들면 compress 라는 옵션과 함께 "extension ext" 옵션이 주어졌다면 logrotate 실행후에 생성되는 파일은 messages.0.ext.gz 과 같은 모양새를 갖게되는 것이다

Page 25: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Logrotate 의 설정옵션 ifempty

로그파일이 비어있는 경우에도   rotate( 순환 ) 을 하게된다 . 기본값이다 .

notifempty ifempty 와는 반대로 로그파일이 비어있을 경우에는 순환을 하지 않는다 .

mail address logrotate 작업후에 이전로그파일을 지정된 메일주소로 메일을 보낸다 . ( 특정한 경우의 로그파일은 보내지 않을 수도 있다 . )

postrotate/endscript logrotate 작업 이후에 지정된 작업 ( 스크립트 ) 을 실행한다 .

Page 26: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

Logrotate 의 설정옵션 prerotate/endscript

logrotate 작업 이전에 지정된 작업 ( 스크립트 ) 을 실행한다 .

rotate count logrotate 의 실행결과 순환되는 파일들의 총 갯수라고 이해하자 .즉 , logrotate 의 결과 삭제되거나 지정된 주소로 메일로 보내지기전의 총 파일갯수라고 이해하면 된다 .그리고 rotate 0 로 설정하고 나면 이전파일은 순환과 함께 삭제되어 버린다 .

size size logrotate 의 결과 순환된 결과 파일사이즈가 지정한 크기를 넘지 않도록 한다 .지정하는 방법은 100k, 100M 등으로 용량단위를 붙여서 지정하면 된다 .

Page 27: 로그파일 관리

수퍼유저코리아 -www.superuser.co.kr-

맺 음 말

감사합니다 .