본문 바로가기

OS/Linux

Linux - 리눅스 주요 로그 파일 정리

728x90

리눅스 시스템에서 로그 파일은 시스템의 상태를 모니터링하고, 사용자 활동을 추적하며, 보안 사고를 분석하는 데 중요한 역할을 합니다. 로그 파일을 이해하고 적절하게 관리하는 것은 시스템 관리자에게 필수적인 기술입니다.


주요 로그 파일 요약

로그 파일 위치 내용 명령어
utmp /var/run/utmp 현재 로그인한 사용자들의 상태 정보 w, who, finger
wtmp /var/log/wtmp 성공한 로그인/로그아웃 및 시스템 부팅/종료 이력 last, lastb
btmp /var/log/btmp 실패한 로그인 시도 기록 lastb
lastlog /var/log/lastlog 각 사용자별 가장 최근 로그인 기록 lastlog
secure /var/log/secure 사용자 인증 관련 정보 (로그인, 사용자 추가/삭제 등) cat, grep
messages /var/log/messages 일반 시스템 운영 상황 및 데몬 상태 기록 tail, less
dmesg /var/log/dmesg 부팅 시 커널 메시지 기록 dmesg
boot.log /var/log/boot.log 부팅 시 서비스 및 파일 시스템 체크 상태 기록 less, cat
xferlog /var/log/xferlog FTP 서비스의 업로드/다운로드 기록 cat, less
cron /var/log/cron cron 작업 실행 기록 cat, less
maillog /var/log/maillog 메일 서비스 송수신 기록 cat, less
~/.bash_history,
~/.zsh_history
각 사용자 홈 디렉토리 사용자가 실행한 명령어 기록 history, grep, !번호

주요 로그 파일 설명

1. utmp 로그 파일

  • 역할: 현재 시스템에 로그인한 사용자들의 상태 정보를 기록하며, 시스템에서 로그인한 사용자, 접속 시간, 사용 중인 터미널 등의 정보를 제공합니다.
  • 활용: 실시간으로 로그인한 사용자를 모니터링하며 비정상적인 접근을 탐지할 수 있습니다.
  • 주요 명령어
# w
# who

2. wtmp 로그 파일

  • 역할: 모든 성공적인 로그인과 로그아웃 기록을 저장하며, 시스템 부팅과 종료 기록도 포함됩니다.
  • 활용: 사용자 활동 이력 및 시스템 부팅 내역을 추적하여 보안 사고 발생 시 특정 시점의 기록을 분석할 수 있습니다.
  • 주요 명령어
# last
# last reboot

3. btmp 로그 파일

  • 역할: 실패한 로그인 시도에 대한 기록을 저장합니다.
  • 활용: 불법적인 접근 시도를 탐지하고, 특정 IP나 계정에서의 다수의 로그인 실패 기록을 분석하여 보안 대책을 마련할 수 있습니다.
  • 주요 명령어
# lastb

4. lastlog 파일

  • 역할: 각 사용자의 가장 최근 성공한 로그인 기록을 저장합니다.
  • 활용: 특정 사용자가 마지막으로 언제 시스템에 접근했는지 추적하여, 장기간 비활성 계정을 관리하거나 보안 감사를 수행할 때 사용됩니다.
  • 주요 명령어
# lastlog

5. secure 로그 파일

  • 역할: 사용자의 로그인, 원격 접속, 사용자 및 그룹 추가/삭제와 같은 인증 관련 정보를 기록합니다.
  • 활용: 보안 분석 시 원격 접속 기록을 확인하거나, 비정상적인 로그인 시도를 추적하는 데 유용합니다.
  • 주요 명령어
# cat /var/log/secure | grep 'sshd'

6. messages 로그 파일

  • 역할: 시스템 전반의 메시지를 기록합니다. 네트워크 상태, 데몬 실행 상태, 사용자 접근 내역 등이 포함됩니다.
  • 활용: 시스템에서 발생하는 전반적인 이벤트를 모니터링하고, 네트워크나 시스템 문제를 추적할 수 있습니다.
  • 주요 명령어
tail -f /var/log/messages

7. dmesg 로그 파일

  • 역할: 부팅 시 발생하는 커널 메시지를 기록하며, 하드웨어 및 드라이버 관련 정보를 포함합니다.
  • 활용: 부팅 과정에서 발생한 문제나 하드웨어 관련 오류를 분석할 때 유용합니다.
  • 주요 명령어
# dmesg

8. boot.log 파일

  • 역할: 부팅 시 서비스 및 파일 시스템 체크 상태를 기록합니다.
  • 활용: 부팅 시 문제를 해결하거나 서비스 시작 실패를 분석할 때 사용됩니다.
  • 주요 명령어
# cat /var/log/boot.log

9. xferlog 파일

  • 역할: FTP를 통한 파일 업로드/다운로드 기록을 저장합니다.
  • 활용: FTP를 통해 전송된 파일 내역을 추적하고, 비정상적인 파일 전송을 감지할 수 있습니다.
  • 주요 명령어
# cat /var/log/xferlog

10. cron 로그 파일

  • 역할: cron 작업의 실행 기록을 저장합니다. 이 작업들은 시스템에서 주기적으로 수행되는 백업, 유지보수, 모니터링 등의 작업을 포함합니다.
  • 활용: 자동화된 작업들이 정상적으로 실행되었는지 확인하고, 실패한 작업을 분석할 때 유용합니다.
  • 주요 명령어
# cat /var/log/cron

11. maillog 파일

  • 역할: 메일 서비스의 송수신 기록을 저장합니다. 메일 송신/수신 내역, 메일 서버 상태 등이 포함됩니다.
  • 활용: 메일 서버 운영 상태를 모니터링하고, 메일 서비스 장애나 스팸 메일 등을 분석하는 데 유용합니다.
  • 주요 명령어
# cat/var/log/maillog

History 로그 파일

리눅스 시스템에서 history는 각 사용자가 실행한 명령어 기록을 저장합니다. 이 기록은 사용자의 작업 내역을 추적하는 데 매우 유용하며, 특히 보안 감시나 시스템 관리에 중요한 역할을 합니다. 주로 사용자가 터미널에서 어떤 명령어를 실행했는지를 확인할 수 있습니다.

1. history 로그의 역할

  • 역할: 각 사용자가 실행한 명령어의 기록을 저장합니다. 이는 사용자가 어떤 작업을 수행했는지 확인할 수 있는 중요한 정보로, 시스템 문제 해결이나 보안 사고 분석에 매우 유용합니다.
  • 저장 위치: 각 사용자의 홈 디렉토리에 ~/.bash_history, ~/.zsh_history와 같은 파일로 저장됩니다. 쉘에 따라 파일 이름이 다를 수 있습니다.
  • 로그 형식: 이 파일은 텍스트 형식으로 저장되며, 일반적으로 한 줄에 하나의 명령어가 기록됩니다.

2. 주요 명령어

  • history 명령어
    • 사용자가 이전에 실행했던 명령어 리스트를 출력합니다.
    • 기본적으로 최근에 실행한 500~1000개의 명령어가 기록되며, 쉘 설정에 따라 이 범위는 조정될 수 있습니다.
# history
  • 특정 명령어 검색
    • history 명령어와 함께 grep을 사용하여 특정 명령어를 검색할 수 있습니다.
# history | grep 'apache'
  • 명령어 재실행
    • history 명령어로 표시된 번호와 함께 !번호 형식으로 명령어를 재실행할 수 있습니다.
# !25

이는 history 목록의 25번 명령어를 다시 실행하는 방식입니다.

3. History 파일 관리 및 보안

history 파일은 기본적으로 사용자가 터미널을 종료할 때마다 업데이트되며, 재로그인 시에는 이전 세션의 명령어가 새로 덧붙여집니다. 하지만 history 기록이 시스템 보안에 영향을 미칠 수 있기 때문에 몇 가지 주의사항이 있습니다:

1. 보안 측면:

  • 사용자가 중요한 정보(예: 비밀번호나 토큰 등)를 명령어에 직접 입력하면, history 파일에 기록될 수 있습니다. 이러한 민감한 정보가 노출되지 않도록 주의해야 합니다.
  • 필요할 경우, 특정 명령어를 history 파일에 기록하지 않도록 할 수 있습니다.
# HISTCONTROL=ignoreboth

 

2. Hisotry 파일 크기 관리

  • HISTSIZE와 HISTFILESIZE 환경 변수를 사용하여 history에 저장될 명령어 수와 파일 크기를 제한할 수 있습니다.

# export HISTSIZE=1000  // 기본값 1000
# export HISTFILESIZE=2000  // 기본값 1000

이 설정은 history 명령어가 최대 1000개의 명령어를 저장하고, ~/.bash_history 파일에 최대 2000개의 명령어를 저장하게 합니다.

 

3. 명령어 삭제

# history -d <명령어 번호>

 

728x90
반응형