[리눅스마스터 1급 - 2차] 시스템 로그 분석

2024. 11. 12. 14:41·자격증 & 공부/리눅스마스터 1급

1) 로그 파일

  •  /var/log/messages
    • 대부분의 로그가 이 파일에 쌓임 (root만 접근 가능)
  • /var/log/secure
    • 인증과 관련된 접속 프로토콜 telnet, ssh, tcp_wrappers, xinetd (시스템에 로그인한 정보)
  • /var/log/dmesg : 시스템이 부팅할 때 출력되었던 로그를 기록
  • /var/log/boot.log : 부팅 시 동작하는 데몬들의 동작 성공 여부
  • /var/log/mailog
    • sendmail, dovecot 등 데몬 시작 시간을 확인
  • /var/log/lastlog
    • 각 사용자의 마지막 정보가 기록되는 파일
    • 바이너리 파일도 lastlog라는 명령어로 확인
  • /var/log/wtmp
    • 사용자 기록, 시스템을 재부팅한 기록 등의 로그가 쌓이는 파일
  • /var/log/btmp
    • 로그인 접속이 실패한 경우

2) 로그 관련 명령어 상세

  • last
    • 로그인한 정보 출력
    • –f : 특정 파일 출력
    • -n ? : 최근에 재부팅한 정보 ?개만 출력
    • reboot : 재부팅한 기록 출력
    • ex) last –f /var/log/wtmp -[날짜] : 로그인에 성공한 접속 기록을 출력
  • lastb
    • 로그인 실패 정보 출력
    • –f : 특정 파일 출력
    • –n : 로그인 실패한 특정 개수 기록 출력
    • ex) lastb –f /var/log/btmp -[날짜] : 로그인에 실패한 접속 기록을 출력
  • lastlog
    • 마지막으로 성공한 로그인 기록을 출력하는 명령어
    • -t : 특정 기록 확인
    • –u 또는 --user 사용자명 : 사용자명의 마지막 기록 확인

3) /etc/(r)syslog.conf 파일

  • facility 종류
    • cron ; cron, at
    • authpriv : ssh, telnet(인증)
    • daemon : telnet, ftp
    • kern : 커널이 발생한 메시지
    • lpr : 프린터 유형
    • mail : 메일
    • syslog : syslog
    • user : 사용자 프로세스
    • * : 모든 facility 의미
  • priority 종류 : = (해당 수준만), ! (지정한 수준 이외)
    • info : 통계, 기본 정보 메시지
    • crit : 문제가 생기는 단계
    • emerg : 위험한 상황
    • warn : 경고(warning 이상)
  • action : user (지정한 사용자의 터미널), /dev/tty2 (로컬 시스템의 두 번째 터미널)
  • UDP 기반 로그 전송 : @ [HOST]:[PORT]
  • TCP 기반 로그 전송 : @@ [HOST]:[PORT]
  • 예시
    • cron 및 mail 관련 모든 기록은 /var/log/cronmail 파일에 기록
      • cron, mail.* /var/log/cronmail
    • ssh와 같은 인증 관련 모든 기록은 root 사용자의 터미널로 전송
      • authpriv.* root
    • 모든 facility에서 발생하는 crit 수준 이상의 메시지를 /var/log/critical 파일에 기록
      • *.crit /var/log/critical
    • 모든 facility에서 발생되는 crit 수준의 메시지만 /var/log/critical 파일에 기록
      • *.=crit /var/log/critical
    • 메일 관련 모든 기록은 /var/log/maillog 파일에 기록하는데 info 수준의 로그는 제외
      • mail.*;mail.!=info /var/log/maillog
    • ssh와 같은 인증 관련 모든 메시지는 tcp 기반으로 192.168.12.22 호스트에게 전달하여 기록
      • authpriv.* @@192.168.12.22
    • 모든 서비스에 대해 alert 수준 이상의 메시지는 IP 주소가 192.168.12.22인 호스트에 UDP 기반으로 전달
      • *.alert @192.168.12.22
    • 모든 서비스에 발생하는 메시지 중에 error 수준 이상의 메시지만 /var/log/critical 파일에 기록하는데, 커널이 발생하는 메시지는 제외
      • *.error;kern.none 또는 *.err;kern.none
    • 모든 서비스에서 발생하는 alert 수준의 메시지만 로그인된 root 사용자의 터미널로 전송
      • *.=alert root 또는 *.=alert :omusrmsg:root
    • 모든 서비스에 대해 가장 최고 수준의 위험한 상황이 발생한 경우 모든 사용자의 터미널로 관련 로그 전송
      • *.emerg * 또는 .emerg :omusrmsg: 또는 *.panic * 또는 .panic :omusrmsg: </aside>

4) 로그 순환 (logrotate)

  • weekly : 로그파일을 일주일마다 로테이트
  • daily : 로그파일을 하루 주기로 로테이트
  • monthly : 로그파일을 월 주기로 로테이트
  • rotate ? : 최대 ?번까지 rotate하고 ?주동안 백업한 로그 유지
  • create : 로테이트를 한 후, 비어있는 로그파일을 생성하도록 설정
  • (create [허가권] [소유권] [소유그룹])
  • minsize ? : 최소 크기 지정 (ex) 1M, 1K)
    • 로그인에 실패한 사용자의 정보가 저장되는 로그파일은 일주일 단위로 로테이션을 실행함. 단, 파일의 크기가 1MB에 도달하면 그 이전이라도 로테이션을 실행함. 생성되는 파일을 소유자 root, 소유그룹 utmp로 지정하며, root 사용자만 읽기 및 쓰기가 가능하도록 설정함
/var/log/btmp {
	weekly
	create 0600 root utmp
	minsize 1M
	rotate 5
}
저작자표시 비영리 변경금지 (새창열림)

'자격증 & 공부 > 리눅스마스터 1급' 카테고리의 다른 글

[리눅스마스터 1급 - 2차] 시스템 백업  (0) 2024.11.12
[리눅스마스터 1급 - 2차] 시스템 보안 및 관리  (0) 2024.11.12
[리눅스마스터 1급 - 2차] 주변 장치 설정  (1) 2024.11.12
[리눅스마스터 1급 - 2차] 장치의 설치 및 관리  (0) 2024.11.12
[리눅스마스터 1급 - 2차] gcc & tar - 소스코드 컴파일  (0) 2024.11.12
'자격증 & 공부/리눅스마스터 1급' 카테고리의 다른 글
  • [리눅스마스터 1급 - 2차] 시스템 백업
  • [리눅스마스터 1급 - 2차] 시스템 보안 및 관리
  • [리눅스마스터 1급 - 2차] 주변 장치 설정
  • [리눅스마스터 1급 - 2차] 장치의 설치 및 관리
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (829)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (445)
        • 백준[JAVA] (108)
        • 프로그래머스[JAVA] (260)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    리눅스마스터 1급
    시큐리티
    리눅스
    스프링
    스프링 부트 쇼핑몰 프로젝트 with JPA
    Flutter
    Spring Security
    CS지식
    JPA
    baekjoon
    Java
    pcce 기출문제
    Linux
    postgresql
    DB
    데이터베이스
    프로그래머스
    백준
    플러터
    Oracle
    backjoon
    springboot
    python
    스프링부트
    programmers
    데이터
    CS
    자바
    리눅스마스터
    spring
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[리눅스마스터 1급 - 2차] 시스템 로그 분석
상단으로

티스토리툴바