티스토리 뷰

System/etc

리눅스 - Log 란?

우주아줌마 2022. 11. 2. 13:50
728x90
반응형

리눅스 - LOG 종류

종류 위치 설명
시스템로그 /var/log/messages 시스템 전반적인 로그
보안로그 /var/log/secure Inetd에 의한 로그
메일로그 /var/log/maillog 메일로그
크론로그 /var/log/cron 작업 스케줄링 로그
부팅로그 /var/log/boot.log 시스템 부팅시의 로그
Dmesg 로그 /var/log/dmesg 부팅시기록되는 로그
Utmp 로그 /var/run/utmp 로그인 중인 사용자 상태 출력
Wtmp 로그 /var/log/wtmp 로그인,로그아웃,시스템의 재부팅에 대한 정보
Last 로그 /var/log/lastlog 계정 사용자들이 마지막으로
로그인한 정보
아나콘다 /var/log/anaconda 리눅스 설치시 Installer 과정에 대한 로그
Su 로그 /var/log/sulog Su 명령어를 통한 로그인시 정보 기록
Pacct 로그 /var/account/pacct 로그인한 모든 사용자의 실행한 프로그램 정보 기록
Btmp 로그 /var/log/btmp 실패한 로그인 시도를 기록

LOG 란?
-  Linux Log 에는 위의 표 와 같이 다양한 Log 가 존재하며 각각에 쓰임새에 따라 분류 및 저장 관리할 수 있다.
시스템에 접근 , 실행 , 변경 , 적용 , 장애 관련 다양하게 분류 된다.
Linux 같은 경우에는 " /var/log/ " 기본 설정으로 싸이게 되며 이것은 수정하기 에 따라 위치를 변경하거나 아니면 Log server를 따루 두어 통합 관리할 수 있다.
설루션 업체에서 상용, 오픈소스 형태로 개발한 LOG 관리 설루션을  통합관리형( ESM)이라 부른다  
좀 더 구체적으로 이야기하자면 ESM은 로그 수집, 저장 , 분석 이 메인인 설루션이다.
ESM : 이벤트 위주의 단시간 위협 분석과 DBMS 기반
SIEM : 빅데이터 수준의 장시간 심층 분석과 인덱싱 기반 //2015년 가트너 의해 처음 도입
(LOG 관리는 단순히 시스템에 Troubleshooting 만을 위한 것이 아니라 보안 측면에서 또한 중요한 자료 가 된다.)

  •  LOG 통합관리 란?
    SIEM(Security information & Event Management)?
    - ESM 과는 기능상 차이가 거의 없으나, 기존의 ESM이 단기 이벤트성 위주 분석이었다면, SIEM 은 빅데이터 수준의 데이터를 장시간 심층 분석한 인덱싱 기반이다.

    ESM (Enterprise Security Management)?
    - 방화벽 , 침입 탐지 시스템 , 침입 방지 시스템 등 각종 보안 시스템의 로그들을 모아 한 곳에 통합 관리할 수 있게 해주 시스템 
    - 이기종의 여러 보안 설루션, 장비에서 발생도는 이벤트 패턴 간에 연관성을 분석하는 것으로 보안 위협에 보다 정확한 판단과 대응을 가능하게 한다.

    # 주요 기능
       - 정보 수집 : 보안장비 , 네트워크 장비에서 발생한 이벤트의 수집 및 분석
       - 정보 분석 : 통합된 이벤트 분석으로 보안 정책 수립 및 적용
       - 관리 기능 : 다양한 보안/네트워크 장비 간 설정 통합 관리
       - 모니터링 : 통합 분석된 정보를 토대로 외부 침입에 대비한 관제 및 내부 이상행위 탐지


    ---- 출척 : LG CNS Blog  ----

리눅스 LOG  분류 3가지 ( 시스템 , 부팅 , 보안 )
시스템로그 /var/log/messages 시스템 전반적인 로그

  - 시스템 전반적인 로그를 저장하는 파일,    말 그대로 전반적인 내용을 담기 때문에  grep를 사용하여 원하는 내용만 추려서 봐야 경우가 많다.
  -  Troubleshtooing  시 제일 먼저 보게 되는 Log.

 

# 시스템 상태 및 장애 관련 로그 ( 부팅 로그 )
부팅로그 /var/log/boot.log 시스템 부팅시의 로그
Dmesg 로그 /var/log/dmesg 부팅시기록되는 로그
아나콘다 로그 /var/log/anaconda 리눅스 설치시 Installer 과정에 대한 로그
  • Booting Log 
    : 서비스 데몬들의 부트에 관련 한 정보를 기록 
      systemctl enable [. serveice]로 등록된 데몬들이 시작, 종료, 실패의 내용들이 기록
      부팅뿐 아니라  종료(shutdown) 시의 내용도 기록된다.
  • Dmesg Log
    : dmesg 명령어를 사용해 확인할 수 있다.
      시스템 부팅 메시지 확인 및 커널에서 출력되는 메시지를 일정 수준 기록하는 버퍼 역할을 수행,
      커널 부팅 중에 에러가 났다면 어느 단계에서 에러가 났는지 범위를 좁히고 찾아내는데 도움이 된다.
     -- 명령어 옵션
        $ dmesg [OPTIOINS]  / 옵션이 없으면 커널 링 버퍼에서 표준 출력으로 모든 메세지 를 출력한다.      
        $ dmesg -c   : 기존의 모든 메시지를 삭제하고 새롭게 쌓기
        $ dmesg | grep sda   : sda의 Disk 정보 확인 
                        | grep SCSI  :  SCSI 타입 Disk 정보 확인
                        | grep hda    : IDE 타입 Disk 정보 확인
        $ dmesg | grep eth    : NIC 정보 확인
        $ dmesg | grep usb   : USB 장치에 관한 정보 확인
        $ dmesg | grep  Linux  : 커널 정보 확인       
    # 세부 내용 페이지 - https://jjeongil.tistory.com/1786/ - #
  • anaconda Log / anaconda.syslog
    : Anaconda는 설치 단계 , 저장 장치 감지 및 조작 , 설치 미디어 감지 , 네트워크 초기화 커널 메시지 
      Anaconda 내에서 중요한 메서드에 대한 호출 , 외부 프로그램 호출 등을 기록한다.
      일종의 설치 과정을 보여준다 사용자가 정의 한 부분과 모듈 컨트롤러, 실행 실체까지 남긴다.
    : 시스템이 설치되는 과정에서 하드웨어의 디테일한 정보를 보여주는 로그.
      리눅스 커널부터 하드웨어의 자세한 정보를 담아 주고 있고 또한 설치의 전반적인 내용을 담는다
    #  세부 내용 페이지 -https://docs.fedoraproject.org/en-US/quick-docs/anaconda/anaconda_logging/- #

# 시스템 접속 정보 기록( 보안 로그)
보안로그 /var/log/secure Inetd에 의한 로그
  • 보안로그
    : 시스템 사용자의 원격 로그인 정보를 저장하는 로그.
      Telnet , ssh , ftp 등 원격에서 접속한 사용자에 대한 기록이 남는다.
      rsyslog 데몬에 의해 설정되며 설정값에 따라 기록되는 값이 다를 수 있고
     확인 가능 내용은  사용자명 , 날짜 시간 , 접속자 IP  가 있다
      

         
# 로그인 확인 로그
Utmp 로그 /var/run/utmp 로그인 중인 사용자 상태 출력
Wtmp 로그 /var/log/wtmp 로그인,로그아웃,시스템의 재부팅에 대한 정보
Last 로그 /var/log/lastlog 계정 사용자들이 마지막으로
로그인한 정보
Btmp 로그 /var/log/btmp 실패한 로그인 시도를 기록
  •  Utmp Log ( /var/run/utmp )
    : 시스템에 현재 로그인되어 있는 사용자들에 대한 상태를 기록하는 로그
      who , w , users , finger 등이 의 명령어로 확인 가능하다.
      현재 접속한 사용자가 수행하고 있는 내용들을 확인할 수 있으면 추가 명령어를 통해 분석할 수 있다.
# w
 13:16:26 up 3 days, 18:58,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
ju    pts/1    2xx.xxx.xxx.xx1    화 15    0.00s  0.46s  0.01s sshd: ju [priv]
ju    tty2     tty2             토 20    3days  6:02   0.00s /usr/libexec/gsd-disk-utility-notify

# who
ju    pts/1        2022-11-01 15:04 (2xx.xxx.xxx.x1)
ju    tty2         2022-10-29 20:31 (tty2)

# users
ju

 

  •  Wtmp Log ( /var/log/wtmp )
    : 계정의 로그인 , 로그아웃 정보를 기록하는 로그. 
      로그인, 로그아웃 History 가 누적 기록되며 시스템과 관련된 정보 들 shutdown , reboot 기록 등
      로그인 프로세스를 거친 정보들이 저장된다.
      -- 명령어 옵션
      last [OPTIONS] : 경로 /usr/bin/last
      $ last -3 : 3줄까지만 출력해준다.

  • LastLog 로그  ( /var/log/lastlog )
    :  사용자가 최근에 언제 마지막으로  로그인했는지 모든 사용자의  계정명 , 접근 방식 , IP , 날짜 시간 를 확인 가능하다.
       -- 명령어 옵션
       lastlog [OPTIONS] :/ 경로 /usr/bin/lastlog
      $ lastlog -c      :  lastlog를 clear 한다
      $ lastlog -t 10 : 최근 10일 동안 접속한 계정에 대한 정보 출력
      $ lastlog -u root : root 유저의 마지막 접속에 대한 정보 출력

  • Btmp Log ( /var/log/btmp )
    :  로그인 접속 실패 기록을 담은 로그 
      -- 명령어 옵션
      lastb [OPTIONS] [유저명] : /경로 /usr/bin/lastb
      $ lastb -10 : 10 만큼의 줄만 출력
      $ lastb -R   : hostname 필드는 출력 안 함
      $ lastb -a   : 출력되는 목록에서 hostname 필드는 마지막에 출력
      $ lastb -x   : shutdown 상태 밍 runlevel 변경 상태만 추력
      $ lastb -f./blockuser : blockuser file에서 정보를 읽어와서 출력

  

# 권한 및 명령어 실행 로그

Su 로그 /var/log/sulog Su 명령어를 통한 로그인시 정보 기록
Pacct 로그 /var/account/pacct 로그인한 모든 사용자의 실행한 프로그램 정보 기록
  • Su Log
    : 계정 전환에 대한 로그를 담는다
# cat /var/log/sulog
Nov  X 1X:X:21 ju su[136216]: pam_unix(su:session): session closed for user root
Nov  X 1X:X:29 ju su[137376]: pam_unix(su:session): session opened for user root by ju(uid=1002)
  • Pacct 로그
    : 시스템에 에 접속한 사용자가 실행하는 명령어 들을 누적 기록하는 로그
     일반적 오르는 적용되어 있지 않으며 활성화해주어야 한다.
     -- 적용 법 --
    $ accton /var/acoount/pacct 또는 accton /var/log/pacct로 새로 지정해줄 수 있다.

 

-- 시작은 한 30분 정도 간략히 정리하려고 하다 성질이 또 그렇지 못해서 장황하게 두서없이 몇 시간을 아는 내용과 정확히 못한 부분을 찾아 작성하느라 애먹었다.
나름 개인적인 공부의 흔적으로 남겨두려고 했는데 여기저기 찾다니는 수고스럼을  좀덜면 어떨가 하여 내용을 넣다 보니 두서가 업다.

정리한 내용을 토대로 좀 더 심층적으로 분류해야 하는 부분을 찾아 각각의 이름으로 다시 써볼까 한다.

728x90
반응형
댓글