관리 메뉴

IT창고

Linux Log 본문

서버운영/Linux

Linux Log

방구석여포 2019. 3. 30. 00:46

이번에는 리눅스의 로그(Log)에 대해 알아보겠습니다.

로그(Log)는 시스템의 사용내역을 기록하는 파일로 리눅스에서 로그파일은 대부분 /var/log 디렉토리에 저장됩니다. 

윈도우에서는 로그가 아닌 이벤트 뷰어에서 시스템 사용내역 정보를 확인할수있습니다. 


리눅스에서  사용되는 로그들을 알아보도록 하겠습니다. 테스트 환경은 CentOS 6.x 입니다.

리눅스에서는 로그를 기록하는 데몬이 있습니다. 대표적으로 syslogd, rsyslogd 등이 있으며 커널과 여러 시스템이 경고, 에러 기타 메세지 들을 출력을 따로 파일로 보관해주는 데몬입니다. 



리눅스에서 로그데몬은 부팅 시 자동으로 실행됩니다. 



위의 사진은 /etc/rsyslog.conf 파일의 내용으로 rsyslogd 데몬이 실행될 때 이 설정파일의 내용으로 동작합니다. 

예를 들어 48번 줄에 있는 mail.* 은 선택자 필드이며 /var/log/maillog 는 액션필드 입니다. 선택자 필드에서 메세지 종류와 우선 순위를 지정합니다. 


메세지 종류(facility)에 대해 알아보겠습니다. 

 메세지 종류

내용 

authpriv 

개인인증을 원하는 프로그램들의 메세지 

 mail

 mail 시스템의 메세지

 cron

 예약작업 및 cron,at에서 발생한 메세지

 uucp

 uucp 프로그램에서 발생한 메세지

 news

 뉴스 프로그램들에서 발생한 메세지

auth 

 로그인에 관련된 인증프로그램들의 메세지

 user

 사용자 프로세스

 local0~7

 예비로 남겨둔 유형

사용 시 뒤에 예를 들어 mail.none일 경우 메세지 유형을 제외하는 의미입니다. 



우선순위에 대해 알아보겠습니다. 우선순위는 위험도에 따라 메세지를 보여줍니다.

 우선순위

내용 

 *

모든 상황 

 debug

디버깅 시 발생하는 상황 

 info

 통계 및 기본정보

 notice

 특별한 주의를 요하는 상황

 warning

 주의 상황

 crit

 시스템에 문제가 생기는 단계의 상황

 alert

 즉각적인 조정을 해야 하는 상황

 emerg

 모든 사용자들에게 전달되어야 하는 위험한 상황

 none

 메세지를 저장하지 않음


위와 같은 메세지 종류와 우선순위에 따라 로그가 기록이 됩니다. 설정파일(/etc/rsyslog.conf)에서 설정이 가능합니다. 



위의 사진은 /var/log 디렉토리에 있는 로그파일들 입니다. 기본값을 변경하는 경우가 아니면 대부분 이곳에 로그파일이 저장됩니다. 


로그 파일의 종류들에 대해 알아보겠습니다.

 이름

로그파일 

 설명 

 커널 부트 메세지 로그

 /var/log/dmesg

리눅스 부팅 메세지 로그 

 시스템 로그

 /var/log/messages

 리눅스 시스템, 커널 등 로그(데몬, yum, rz 그외 사용자가 추가한 것들의 로그내용)

메일 로그 

 /var/log/maillog

 메일(sendmail) 로그

 보안 로그

 /var/log/secure

 보안 인증 관련 로그(모든 접속 및 어떤 서비스를 사용했는지 기록)

 부팅 로그

 /var/log/boot.log

부팅 시 기록되는 로그 

파일이라기 보다는 로그인 기록을 확인하는 명령어 

 lastlog

/etc/passwd에 있는 계정들의 접속 기록(ip, 시간) 확인 

 커널 로그

 /var/log/wtmp

 시스템 관련 전체를 저장하는 로그(로그인 정보가 기록된 바이너리 로그파일 last명령어로 확인 가능 )

 커널 로그

 /var/log/utmp

 현재 로그인 사용자에 대한 기록 및 사용자의 IP 가 저장된 로그(who, w, finger 명령어로 확인가능)

 cron 로그(예약작업)

 /var/log/cron

 cron에 관련된 로그

 로그인 실패 로그

/var/log/btmp 

로그인 실패 기록을 저장하는 로그(lastb 명령어로 확인가능하며 5번 이상 실패한 로그기록 확인 가능) 

 커널 로그

 /dev/console

 콘솔에서 나오는 로그

 FTP 로그

 /var/log/xferlog

 FTP 관련된 로그

 웹 로그(접근)

 /var/log/httpd/access_log

 httpd데몬(Apache) 로그

 웹 로그(장애)

 /var/log/httpd/error_log

 httpd데몬(Apache) 에러가 저장된 로그

 DNS 로그

 /var/log/named.log

DNS에 관련된 로그 


위의 표에서 확인할수있는 다양한 로그 파일이 존재합니다. 위의 로그 파일들을 확인해보면 리눅스 시스템의 장애나 해킹 사고의 정보를 확인해 볼 수있습니다. 그 외에 sulog와 같은 su명령어를 사용 시 기록되는 로그도 있습니다.


마지막으로 history 로그 기록 확인을 해보겠습니다. 

기본적으로 history명령어를 입력하면 사용자가 사용한 명령어들을 출력해주는데 로그 포맷 형식을 따로 변경시켜줄수있습니다. 



위와 같이 날짜와 순서를 확인할수있으면 명령어 사용 기록을 편하게 확인이 가능합니다. 

history 포맷 형식은 /etc/profile 파일에서 맨 아래에 


#history

HISTTIMEFORMAT="%F %T -- "

export HISTTIMEFORMAT


를 추가시켜주면 됩니다. 추가 시키고 나서 재부팅 혹은 source 명령어로 즉시 적용시키면 위와 같이 history명령어를 사용 시 사용 날짜 확인이 가능합니다.


'서버운영 > Linux' 카테고리의 다른 글

systemctl(서비스관리)  (0) 2019.07.12
Alpine Linux 설치 및 활용  (0) 2019.06.12
CentOS7 - Firewall 설정  (0) 2019.02.20
virbr0 인터페이스 제거하기  (0) 2019.01.27
Ubuntu 설치 및 고정IP 설정  (0) 2019.01.08
Comments