티스토리 뷰
[ 목차 ]
유닉스/리눅스의 로그 분석과 설정
(가) 로그 디렉터리
① 유닉스에는 로그를 중앙 집중적으로 관리하는 syslogd 데몬이 있지만, 각 데몬이 로그를 별도로 남기는 경우도 많다.
유닉스에서는 로그가 다양한 경로로 남기 때문에 모두 파악하고 관리하기 어렵지만, 다양한 로그를 바탕으로 해커를
추적하는 것은 가능하다.
② 유닉스에서는 로그가 저장되는 경로가 시스템마다 조금씩 다르다. 그리고 두 개 이상의 경로에 로그를 나누어 저장하
기도 한다.
(나) utmp(x) 로그
① utmp(x) 파일에 로그를 남기는 프로그램은 utmp 데몬이다. utmp 데몬은 유닉스의 가장 기본적인 로깅을 제공하는 데
몬(/etc/lib/utmpd)으로 현재 시스템에 로그인한 사용자의 상태를 출력한다.
② utmp 파일에서는 utmp.h에서 정의된 구조체로 로그인 데이터를 저장하는데 이때 텍스트가 아닌 바이너리 형태로 저
장하게 된다. vi 에디터로 확인 불가, 특정 명령을 이용해 확인 가능(who, w, users, whodo, finger 등)
(다) wtmp(x) 로그
① wtmp(x) 파일에 로그를 남기는 프로그램은 wtmp 데몬은 /usr/include/utmp.h 파일의 구조체를 그대로 사용, utmp 데
몬과 비슷한 역할을 함.(사용자의 로그인, 로그아웃, 시스템 재부팅 정보를 담음)
② wtmp(x) 파일에 텍스트가 아닌 바이너리 형태로 저장됨. (last 명령어로 확인할 수 있다.)
(라) sulog(Unix/SunOS)
① su(switch user)는 권한 변경에 대한 로그다. 즉, 로그인한 계정의 권한이 변경할 때 썼던 su 명령에 대한 로그다.
② su root와 su -root는 모두 관리자 계정 권한으로 변경했기 때문에 su 로그에 남으며, /var/adm/sulog 파일에 텍스트 형
식으로 남는다. 권한은 600으로 설정되어 있어 관리자만이 읽고 쓸 수 있다.
③ 출력 형식 : [날짜] [시간] [+(성공) or -(실패)] [터미널 종류] [권한 변경 전 계정 - 변경 후 계정]
- su 로그는 공격자가 일반 계정으로 로그인한 후 패스워드 추측 공격 등을 수행했을 떄 권한 변경 실패를 의미하는
여러 개의 『-』로 저장된다. 그 때문에 관리자는 이를 확인하여 공격 의도를 가진 일반 계정을 추적해낼 수 있다.
(마) loginlog(Unix/SunOS), btmp(Linux)
① Linux: /var/log/btmp, binary 파일로 되어 있으며 그 내용을 확인하기 위해서는 lastb 명령을 사용한다. 실패한 모든 로
그를 남긴다.
② Unix(SunOS) : /var/adm/loginlog, 텍스트 파일로 되어 있으므로 vi 등의 편집기를 통해 로그 내용을 확인해 볼 수 있
다. 5회 이상 실패 시 실패한 로그를 남긴다.
(바) lastlog
① 가장 최근에(마지막으로) 성공한 로그인 기록을 담고 있는 로그 파일
② binary 파일로 되어 있으며 그 내용을 확인하기 위해서는 lastlog(Linux), finger(Linux, Unix/SunOS) 명령을 사용한다.
유닉스/리눅스 시스템 로그 설정(/etc/syslog.conf)
(가) 개요
① 보통 유닉스에서는 syslog라는 오래된 표준 인터페이스(API)에 의해 로그를 생성하고 관리한다. 왜냐하면, 표준 인
터페이스에 따라서 프로그램이 개발되면 시스템이나 응용 프로그램에서 발생하는 각종 메시지를 체계적으로 관리
할 수 있기 때문이다.
② 보통 데문 프로세스인 syslogd는 운영체제에 의해 자동 실행되는데, 데몬 프로세스의 시작 시에 환경설정 파일
/etc/syslogd.conf를 읽어서 어떤 로그를 어디에 남길지 결정하게 된다.