1. 시스템에서의 로그의 의미

– 시스템관리에 있어서 무엇보다 중요한 것이 로그파일분석과 관리임. 시스템에 이상징후가 발생을 했을 때, 시스템관리자가 가장 먼저 확인해 보는 것이 로그파일임. 시스템이 해킹을 당했다고 느낄 때 해킹흔적등을 확인하기 위해서 제일 먼저 서버관리자는 로그파일에 의존하게 됨.

– 어디서( IP Address ), 누가( ID ), 어떻게( port ) 들어와서 어떤작업을 했는지를 확인하려할 때 전적으로 로그파일에 의존하게 됨.

– 관리해야할 로그파일의 수와 로그파일이 어떤 경로로 남겨지는지에 대해서는 정확히 알고 있어야 함.

2. 로그파일의 종류

– 리눅스의 로그파일은 기본적인 로그파일만 하더라도 10 여개가 넘음. 보안툴( 예 tripwire, nmap ) 등을 설치하고 나면 이들에 관한 로그파일들이 새로 생기게 됨.

– 로그이름 : 로그파일명 : 관련데몬 : 설명
콘솔로그 : /dev/console : kernel : 콘솔에 뿌려지는 로그
시스템로그 : /var/log/messages : syslogd : 리눅스커널로그 및 주된로그
TCPD로그 : /var/log/secure : xinetd : inetd 에 의한 로그
메일로그 : /var/log/maillog : sendmail, popper : 메일로그( sendmail 에 의한 로그)
크론로그 : /var/log/cron : crond : crond 에 의한 로그
부팅로그 : /var/log/boot.log : boot : 시스템부팅시의 로그
FTP로그 : /var/log/xferlog : ftpd : ftp 로그
웹로그 : /usr/local/apache/logs/access_log : httpd : 아파치( 웹서버 ) 로그
네임서버로그 : /var/log/named.log : named : 네임서버( DNS ) 로그

– 기본적인 로그들은 syslogd 에 의해서 제어가 되며, syslogd 의 설정파일인 /etc/syslog.conf 파일을 수정함으로써 이 파일들의 저장위치와 저장파일명을 변경할 수도 있음.

3. 콘솔로그( /dev/console )

– 커널( kernel ) 에 관련된 내용을 시스템콘솔에 뿌려주는 로그임

– messages 내용과 일치하지는 않지만 시스템에 관련된 중요한 내용들( 시스템풀, 다운등 ) 에 대한 로그를 관리자에게 알리고자 함이 목적이기 때문에 출력을 파일로 저장하는 것이 아니라 장치명( /dev/console ) 을 사용하여 콘솔로 로그를 뿌려주게 됨.

4. 시스템로그( /var/log/messages )

– 이 로그에 기록되는 내용은 주로 접속시의 인증에 관한 것과 메일에 관한 내용, 그리고 시스템에 관한 변경사항등 시스템에 관한 전반적인 로그를 기록하는 파일임.

– 시스템관리자에 의해서 가장 소중하게 다루어지는 로그이기도 함.

– 이 파일에 기록되는 내용을 변경하고자 한다면 /etc/syslog.conf 파일의 내용에서 수정을 해 주면 됨.

5. TCPD 로그( /var/log/secure )

– xinetd 에 의한 로그파일.

– xinetd 데몬의 확인 방법은 ” ps -ef | grep xinetd ” 로 확인이 가능함.

– 실행중인 xinetd 의 PID 저장 파일은 /var/run/xinetd.pid 임

6.  메일로그( /var/log/maillog )

– 로그파일의 이름에서 의미하는 바와같이 senmail 이나 pop 등의 실행에 관한 기록이 남겨지게 됨.

– 메일을 주고 받을 때에 이 로그파일에 기록이 됨.

– 즉, smtp 와 pop 에 관한 로그라고 말할 수 있음.

7. 크론로그( /var/log/cron )

– 시스템의 크론이 작업한 기록을 보관하고 있는 파일.

– 크론데몬인 crond 가 언제 어떤작업을 수했는가를 확인할 수 있음.

8. 부팅로그( /var/log/boot.log )

– 시스템의 데몬들이 실행되거나 재시작되었을 때 기록되는 로그파일.

9. FTP로그( /var/log/xferlog )

– ftp 나  ncftp 등의 접속이 이루어 졌을 때 이 로그파일에 기록이 됨.

– 업로드한 파일과 다운로드한 파일들에 대한 자세한 기록도 함께 남겨짐.

10.  웹로그( /usr/local/apache2/logs/access_log )

– 웹서버( 아파치 ) 에 관한 로그

11. syslogd 의 설치/ 확인/ 제거( rpm )

– 리눅스 시스템에 설치되어 있는 syslogd 의 버전을 확인하는 방법
syslogd -v

– 리눅스 시스템에 설치되어 있는 리눅스패키지의 구체적인 패키지버전을 확인하는 방법
rpm -qf /etc/syslog.conf

– 확인한 리눅스패키지( sysklogd-1.3.33-6 ) 에서 설치되어 있는 파일들의 내용을 확인하는 방법
rpm -ql sysklogd-1.3.33-6

– 새로운 패키지로 업그레이드 하는 방법
rpm -Uvh sysklogd-1.3.33-6

– rpm 패키지 삭제하는 방법
rpm -e sysklogd-1.3.33-6

12. syslogd( 시스템로그데몬 )

– 정식이름은 ” Linux system logging utilities” 임. 리눅스시스템로그유틸리티

– 로그데몬 : /sbin/syslogd : 로그데몬의 위치 및 데몬프로그램

– 로그데몬 설정파일 : /etc/syslog.conf : 로그데몬의 설정파일, 각종 로그파일들의 설정 및 저장위치지정

– 로그데몬PID파일 : /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 : 로그데몬 재시작장법

13. 로그데몬의 실행 흐름

– init 프로세스에 의한 syslogd 실행( 재시작 )
시 스템이 부팅되면서 처음으로 시작되며, 또는 /etc/rc.d/init.d/syslog start( 재시작은 /etc/rc.d/init.d/syslog restart ) 라는 명령의 수행으로 /sbin/syslogd 의 데몬프로세스가 수행이 됨.

– syslog.conf 읽음
/sbin/syslogd 데몬이 실행이 되면서 /etc/syslog.conf 파일을 읽어들이게 됨. /etc/syslog.conf 파일에는 시스템에서 사용하는 대부분의 로그파일들에 관한 설정이 되어있음.

– syslogd.pid 기록
/sbin/syslogd 도 데몬( 일종의 프로세스 ) 이므로 이 프로세스의 실행번호( Process ID : PID ) 를 /var/run/syslogd.pid 에 기록함.

– syslog.conf 에 기록된 각각의 로그파일들의 기록을 시작
/sbin/syslogd 의 실행과 함께 syslog.conf  파일에 설정되어 있는 각각의 로그파일들( messages, secure, maillog 등 ) 이 기록되기 시작함

– logrotate 에 의한 각 log 파일들 관리
시스템에서 발생되는 모든 이벤트에 대한 기록들이 각각의 로그파일에 저장이 되고 있으므로 이들 로그파일에 대한 logrotate 작업이 필요함.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.