리눅스 시스템에서 모든 사건이나 이벤트 등은 각 서비스 별로 기록되는데, 이러한 기록들을 로그(log)라고 부른다.
로그 분석은 시스템 관리 및 보안에 상당히 중요한 역할을 담당하기 때문에 꼭 숙지해야 한다.
리눅스 초기에는 로그 기록과 관련된 패키지로 syslog를 사용했지만,
최근 리눅스 배포판에서는 syslog의 성능을 대폭 강화한 패키지인 rsyslog 를 사용한다.
rsyslog는 멀티스레드, TCP, SSL 및 TLS, RELP, MySQL과 같은 데이터 베이스, 보내는 목록 제한, 메시지 일부 필터링, 출력 포맷 제어 등과 같은 다양한 기능을 지원하고 있다.
로그(Log) 관련 파일
시스템에서 발생하는 표준 메시지가 기록되는 파일로 대부분의 로그가 이 파일에 쌓인다.
root만 읽을 수 있도록 설정되어 있다.
인증을 기반으로한 접속과 관련된 로그가 기록되는 파일이다.
시스템 부팅할 때 출력되었던 로그가 기록되며, 커널 부트 메시지 로그라고 한다.
메일 관련 작업이 기록되는 로그 파일이다.
FTP 접속과 관련된 작업이 기록되는 파일이다.
cron 관련 정보가 기록되는 파일이다.
부팅 시 동작하는 데몬 관련 정보가 기록된다.
telnet 이나 ssh를 이용해 접속한 각 사용자의 마지막 정보가 기록되는 파일이다.
콘솔, telnet, ftp 등 이용하여 접속한 사용자 기록, 시스템을 재부팅한 기록 등의 로그가 기록한다.
wtmp와 반대되는 로그로 접속이 실패한 경우를 기록한다.
로그(Log) 관련 명령어
last
last [option] [사용자명] [ttyn] 사용자의 로그인 정보 및 재부팅한 정보 출력 /var/log/wtmp 파일의 정보 출력
[사용 예시]
-> ihduser 사용자의 로그인 정보를 출력한다.
-> 최근에 재부팅한 정보 2개만 출력한다
또는
-> 로컬 시스템의 3번째 터미널 창(/dev/tty3)에 로그인이 성공한 정보를 출력한다.
lastlog
lastlog [option]
-u(–user) 사용자명 : 특정 사용자에 대한 정보만 출력 사용자가 마지막으로 로그인한 정보 출력 /var/log/lastlog 파일 내용 출력
[사용 예시]
->ihduser 사용자의 최종 접속한 로그 기록만 출력
lastb
lastb [option] [사용자명]
-n 숫자(-숫자) : 가장 최근부터 해당하는 숫자값 만큼만 출력 last와 반대되는 명령으로 로그인 실패 정보 출력 /var/log/btmp 파일 내용 출력 root만 사용 가능
[사용 예시]
-> ihduser 사용자의 로그 실패 기록 출력한다
또는
-> 가장 최근에 로그인에 실패한 3개의 기록 출력한다