- 로그는 커널과 리눅스 시스템이 제공하는
여러 서비스와 응용 프로그램이 발생시키는 메시지를 뜻함
- 로그를 저장하고 있는 파일을 로그 파일
- 로그 파일을 통해 시스템의 상태를 확인
- 보안 사고에 대비하며 사고가 발생했을 때는 원인을 규명하고
침입 경로를 추적하기 위해 가장 기본적으로 로그 파일을 확인
주요 로그 파일
- 리눅스 시스템에는 기본 로그 파일을 비롯해 다양한 로그 파일이 있음
- 대부분의 로그 파일은 '/var/log' 디렉터리에 있음
로그 파일 관리하기 |
- '/var/log' 디렉터리의 내용을 보면 같은 파일명에 번호가 붙은 파일이 여러개 있음 - 로그를 계속 한 파일에 저장할 경우 파일의 크기가 너무 커져서 내용을 보거나 관리할 때 불편하기 때문 - 번호가 큰 로그 파일은 백업을 하고 삭제해야함 - 시스템이 여러 가지 서비스를 제공하기 시작하면 로그 파일에 기록되는 내용도 급격히 증가 - 파일들이 디스크에서 차지하는 용량을 무시할 수 없음 - 로그 파일의 소유자는 거의 대부분 'root' 계정 - 접근 권한은 대부분의 경우 'root' 계정만 읽고 쓸 수 있게 설정되어있음 - 'dmesg' 로그 파일은 'root' 계정만 읽고 쓰기가 가능, 'adm' 그룹은 읽기만 가능 - 주요 로그 파일들은 로그 관리 데몬으로 로그 파일을 관리 |
리눅스의 주요 로그 파일 |
|
로그 파일 |
내용 |
/var/log/boot.log |
- 부팅시 서비스 데몬의 실행 상태를 기록 |
/var/log/apache2/* |
- 아파치 웹 서버와 관련된 로그를 기록 |
/var/log/apt/* |
- apt-get 명령으로 패키지를 설치하고 삭제한 로그를 기록 |
/var/log/auth.log |
- telnet, ssh, su, sudo 등의 사용자 로그인 인증을 기록 |
/var/log/dmesg |
- 시스템이 부팅할 때 생성한 로그를 기록 |
/var/log/lastlog |
- 각 계정의 가장 최근 로그인 정보를 기록 - 'lastlog' 명령으로 확인 |
/var/log/mail.* |
- 메일 관련 로그를 기록 |
/var/log/Xorg.#.log |
- X윈도 관련 로그를 기록 |
/var/log/btmp |
- 실패한 로그인 기록 - 바이너리 파일이므로 last -f btmp 또는 lastb 명령으로 확인이 가능 |
/var/log/cups/* |
- cupsd 데몬이 생성하는 로그를 기록 - cupsd 데몬은 인터넷 프린팅 프로토콜을 지원하는 데몬 |
/var/log/wtmp |
- 로그인 기록 - 'last' 명령으로 내용을 확인할 수 있음 |
/var/log/samba/* |
- Samba에 의해 생성된 로그를 기록 |
/var/log/syslog |
- syslog가 생성하는 공통 로그를 기록 |
/var/log/mysql |
- MariaDB에서 생성한 로그를 기록 |
/var/log/utw.log |
- 방화벽이 생성하는 로그를 기록 |
/var/log/vsftpd.log |
- FTP 서버의 데이터 전송 로그를 기록 |
공통적인 로그를 기로 : '/var/log/syslog' |
- 이 로그 파일에는 커널이나 데몬에서 발생하는 대부분의 메시지가 기록 - 로그는 날짜와 시간, 로그를 발생시킨 호스트 이름, 데몬 이름, 메시지 내용 등으로 구성되며 한 행씩 기록됨 |
로그 관리 데몬 |
- 리눅스 시스템의 로그 파일 중 일부는 로그 관리 데몬에 의해 통제 - rsyslog 서비스를 제공하는 데몬은 'rsyslogd' - rsyslog 서비스를 설정하는 파일은 '/etc/rsyslog.d' 디렉터리에 있는 *.conf 파일 - '50-default.conf' 는 어떤 로그를 어떻게 처리할 것인지 기본 규칙을 설정한 파일 - rsyslog 의 규칙 파일은 텍스트 파일이므로 관리가자 vi 로 수정할 수 있음 - 규칙은 로그 메시지 중 어떤 메시지를 선택할 것인지를 정의한 선택자(selecot, 필터라고도 함) 선택된 메시지를 어떻게 처리할 것인지를 정의한 동작(action)으로 구성 - 규칙은 한 행에 선택자와 동작으로 작성 - 공백 문자나 탭으로 구분 |
선택자 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- rsyslog 의 선택지는 기능명(facility)과 우선순위(priority)를 기반으로 함
- 예를 들어 커널이 발생시킨 메시지 중 우선순위가 crit 이상인 메시지를 '/var/log/kern.log' 파일에 저장 * kern.crit /var/log/kern.log - 메시지를 파일에 저장하고 user1 사용자에게도 메시지를 출력(각각 한 줄씩 작성해야함) * kern.crit /var/log/kern.log kern.crit user1 - 현재 설정되어 있는 기본 규칙 * auth,authpriv.* /var/log/auth.lgo => auth 및 authpriv와 관련된 로그는 우선순위와 상관없이 모두 /var/log/auth.log 파일에 기록 * *.*;auth,authpriv.non -/var/log/syslog => auth 및 authpriv와 관련된 로그를 제외한 모든 로그는 /var/log/syslog에 기록 - 로그 파일의 경로명 앞에 붙은 '-' 는 특별한 의미가 없으므로 신경 쓰지 않아도 됨
|
로그 관리 도구 |
- 'wtmp' 같은 일부 파일을 제외하고 대부분의 로그 파일은 일반 텍스트 파일임 - 그놈은 로그를 관리할 수 있는 GUI도구인 로그 뷰어를 제공 - 로그 뷰어의 패키지 이름은 'gnome-system-log' |
'OS > Linux - Ubuntu' 카테고리의 다른 글
[Linux - 리눅스 / Ubuntu - 우분투] 보안 관리 도구(1) - NMap (0) | 2015.05.12 |
---|---|
[Linux - 리눅스 / Ubuntu - 우분투] 방화벽 관리 - ufw, gufw (0) | 2015.05.12 |
[Linux - 리눅스 / Ubuntu - 우분투] 정보보안의 기초 (0) | 2015.05.11 |
[Linux - 리눅스 / Ubuntu - 우분투] export 또는 path (0) | 2015.05.11 |
[Linux - 리눅스 / Ubuntu - 우분투] NFS와 Samba 요약 (0) | 2015.05.11 |