리눅스 서버 및 각종서버의 로그란 서버에 대한 전반적 모든 내역을 기록해 놓은 것을 말하며 로그를 이용/분석하면 해킹 시도나 각종 문제점을 파악할 수 있어 문제발생시 대처 및 관리부분에 있어서도 매우 중요한 역활을 하며 실업무에서도 중요하게 활용되고 있습니다.
대부분 시스템 전반적에 대한 리눅스 로그파일은 var/log 위치에서 확인이 가능하며 각종 설치파일(apache / nginx등)은 설치시 로그파일의 경로를 지정할 수 있으며 간략하게 해당 로그들이 어떤 내용을 담고 있는지 정리했습니다
- secure = 서버에 접근하는 모든 접속관련 로그를 기록하며 접속일자, 호스트명, 응용프로그램명(pid), 메시지 내용이 기록되어있습니다.
예) 5월 12일 08:54:43 [localhost] sshd[30990]: PAM 2번 인증실패; 로그 이름= uid=0 euid=0 tty=ssh ruser= rhost=218.92.0.35 사용자=root
- messages = 커널에서 실시간으로 보내오는 메시지들 기록하며 전반적 시스템 관련 로그를 기록합니다.
가장 많이 활용하는 로그이기도 하며 대표적 부팅시 발생된 에러 등 다양한 로그들을 확인 가능하며 콘솔에서 dmesg 입력시 간략하게 출력이 가능합니다.
- maillog = sendmail 에대한 로그 기록이며 메일 송/수신시 기록됩니다.
예) 5월 12일 08:30:01 [로컬호스트] CROND[29469]: (루트) CMD (/usr/sbin/httpd -t > /dev/null 2>&1)
- cron = 시스템의 정기적인 작업(crond)에 대한 기록을 보관하며 언제 어떤 작업을 실행했는지 확인가능하며 실행된 프로세스 , 파일 등이 기록됩니다.
예) 5월 12일 09:00:01 [로컬호스트] CROND[31279]: (루트) CMD (/usr/sbin/httpd -t > /dev/null 2>&1)
- boot.log = 시스템 실행되거나 재시작되었을 때 , 부팅에 관한 기록을 관리하며 부팅시 에러나 문제점을 확인할 때 유용합니다
예) 12월 15일 08:45:15 [localhost] NET[781]: /usr/sbin/dhclient-script : 업데이트 /etc/resolv.conf
- xferlog = FTP로 접속하는 사용자에 대한 로그 기록입니다.
ftp를 사용했을 때 이 로그파일에 기록되고, 업/다운로드 등에 대한 자세한 정보가 기록, 저장되며 주로 날짜/시간 , 호스트주소 , 파일크기 ,파일명 , 유형 등이 나타납니다.
- utmp = 현재 로그인한 사용자 확인 확인하기 위해서 사용하는 명령어로 w 단축어를 통해서 확인 가능합니다.
- wtmp = 서버에 로그인/로그아웃 정보를 담고있으며 last 명령어를 활용해 조회 가능합니다.
이외에 추가로 로그파일을 효율적으로 관리할 수 있는 logrotate도 소개하겠습니다.
접속량이 많거나 다수의 이용자가 있을경우 그만큼 많은 로그가 발생하고 로그파일이 지속적으로 쌓이다보면 용량, 관리적 문제가 발생할 수 있습니다.
설정파일은 /etc/logrotate.conf에 있으며 각 로그에 대한 설정은 /etc/logrotae.d/폴더 아래에 생성하면 됩니다.
실제 활용은 아래와같이 설정하면 이용하고 있습니다.
위와같이 logrotate 설정하시면 로그파일이 깔끔하게 정리되며 관리하기도 수월합니다.
이상으로 리눅스 시스템 로그에대한 전반적 내용과 로그파일 관리에 대해 간단히 소개하였습니다
감사합니다.