linux

시스템 로그 (System Log)

리눅스 시스템에서 모든 사건이나 이벤트 등은 각 서비스 별로 기록되는데, 이러한 기록들을 로그(log)라고 부른다.

로그 분석은 시스템 관리 및 보안에 상당히 중요한 역할을 담당하기 때문에 꼭 숙지해야 한다.

리눅스 초기에는 로그 기록과 관련된 패키지로 syslog를 사용했지만,

최근 리눅스 배포판에서는 syslog의 성능을 대폭 강화한 패키지인 rsyslog 를 사용한다.

rsyslog는 멀티스레드, TCP, SSL 및 TLS, RELP, MySQL과 같은 데이터 베이스, 보내는 목록 제한, 메시지 일부 필터링, 출력 포맷 제어 등과 같은 다양한 기능을 지원하고 있다.

로그(Log) 관련 파일

  1. /var/log/messages

시스템에서 발생하는 표준 메시지가 기록되는 파일로 대부분의 로그가 이 파일에 쌓인다.

root만 읽을 수 있도록 설정되어 있다.

  1. /var/log/secure

인증을 기반으로한 접속과 관련된 로그가 기록되는 파일이다.

  1. /var/log/dmesg

시스템 부팅할 때 출력되었던 로그가 기록되며, 커널 부트 메시지 로그라고 한다.

  1. /var/log/maillog

메일 관련 작업이 기록되는 로그 파일이다.

  1. /var/log/xferlog

FTP 접속과 관련된 작업이 기록되는 파일이다.

  1. /var/log/cron

cron 관련 정보가 기록되는 파일이다.

  1. /var/log/boot.log

부팅 시 동작하는 데몬 관련 정보가 기록된다.

  1. /var/log/lastlog

telnet 이나 ssh를 이용해 접속한 각 사용자의 마지막 정보가 기록되는 파일이다.

  1. /var/log/wtmp

콘솔, telnet, ftp 등 이용하여 접속한 사용자 기록, 시스템을 재부팅한 기록 등의 로그가 기록한다.

  1. /var/log/btmp

wtmp와 반대되는 로그로 접속이 실패한 경우를 기록한다.

로그(Log) 관련 명령어

last

last [option] [사용자명] [ttyn] 사용자의 로그인 정보 및 재부팅한 정보 출력 /var/log/wtmp 파일의 정보 출력

[사용 예시]

last ihduser

-> ihduser 사용자의 로그인 정보를 출력한다.

last -2 reboot

-> 최근에 재부팅한 정보 2개만 출력한다

last 3

또는

last tty3

-> 로컬 시스템의 3번째 터미널 창(/dev/tty3)에 로그인이 성공한 정보를 출력한다.

lastlog

lastlog [option]

-u(–user) 사용자명 : 특정 사용자에 대한 정보만 출력 사용자가 마지막으로 로그인한 정보 출력 /var/log/lastlog 파일 내용 출력

[사용 예시]

lastlog -u ihduser

->ihduser 사용자의 최종 접속한 로그 기록만 출력

lastb

lastb [option] [사용자명]

-n 숫자(-숫자) : 가장 최근부터 해당하는 숫자값 만큼만 출력 last와 반대되는 명령으로 로그인 실패 정보 출력 /var/log/btmp 파일 내용 출력 root만 사용 가능

[사용 예시]

lastb ihduser

-> ihduser 사용자의 로그 실패 기록 출력한다

lastb -n 3

또는

lastb -3

-> 가장 최근에 로그인에 실패한 3개의 기록 출력한다