• 리눅스에서는 서버에 접속실패 정보와 접속정보를 기록

접속 실패 로그 확인 → btmp

  • ssh 접속 시도 실패 로그는 /var/log/btmp 파일에 특수하게 저장

  • /var/log/btmp는 바이너리 파일로 이루짐

  • /var/log/btmp 파일을 보기 위해서는 last -f 명령을 이용하여 확인 가능

  • lastb 명령어는 last -f /var/log/btmp와 동일한 결과 출력

    $ last -f /var/log/btmp
    root     ssh:notty    [시스템 IP]    Tue May 25 03:07 - 09:57  (06:50)
    root     ssh:notty    [시스템 IP]    Tue May 25 03:07 - 03:07  (00:00)
    root     ssh:notty    [시스템 IP]    Tue May 25 00:52 - 03:07  (02:15)
    
    $ lastb
    lastb
    root     ssh:notty    [시스템 IP]    Tue May 25 03:07 - 03:07  (00:00)
    root     ssh:notty    [시스템 IP]    Tue May 25 03:07 - 03:07  (00:00)
    root     ssh:notty    [시스템 IP]    Tue May 25 00:52 - 00:52  (00:00)



접속정보 기록 확인 → wtmp

  • 성공한 로그인/로그아웃 정보 및 시스템의 boot/shutdown의 히스트리 정보를 파일로 저장
  • /var/log/wtmp는 바이너리 파일로 이루짐
  • /var/log/wtmp 파일을 보기 위해서는 last -f 명령을 이용하여 확인 가능
  • last 명령어는 last -f /var/log/wtmp와 동일한 결과 출력
    $ last -f /var/log/wtmp
    root     pts/0        [시스템 IP]    Mon Jun 21 23:11   still logged in
    root     pts/0        [시스템 IP]    Mon Jun 21 23:01 - 23:10  (00:08)
    root     pts/0        [시스템 IP]    Mon Jun 21 22:37 - 22:37  (00:00)
    root     pts/0        [시스템 IP]    Mon Jun 21 22:31 - 22:36  (00:05)


시스템에 현재 로그인한 사용자들에 대한 상태 정보 → utmp

  • 로그파일은 binary 파일로 되어 있어 직접 확인 불가능 → 아래 명령어로 확인 가능
  • 로그파일 확인 명령어 : w, who, finger

1. w 명령어

  • utmp를 참조하여 출력
  • 현재 시스템에 성공적으로 로그인한 사용자정보, 시스템로드 정보 및 uptime 정보 출력
    $ w
    23:34:07 up 145 days, 10:36,  1 user,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0      [시스템 IP]        23:24    7.00s  0.06s  0.02s w

2. who 명령어

  • utmp를 참조하여 출력
  • 현재 시스템에 성공적으로 로그인한 사용자의 정보와 접속한 Client IP를 출력
    $ who
    root     pts/0        2021-06-21 23:24 ([시스템 IP])

3. finger 명령어

  • 사용자 계정 정보와 최근 로그인 정보, 이메일, 예약 작업 정보 등을 볼 수 있는 명령어

  • yum install finger -y로 finger 명령어 설치

    # finger 패키지가 없는 경우 다운 필요
    $ yum install -y finger
    
    # root 사용자 계정 정보 확인
    $ finger root
    Login: root                               Name: root
    Directory: /root                        Shell: /bin/bash
    On since Mon Jun 21 23:24 (KST) on pts/0 from [시스템 IP]
     4 seconds idle
    New mail received Tue May 25 03:08 2021 (KST)
       Unread since Sat Jan 30 21:53 2021 (KST)
    No Plan.



lastlog 명령어

  • 각 사용자들이 언제 마지막으로 접속하였는가를 확인
  • /etc/passwd 파일에 정의되어 있는 모든 사용자들의 마지막 접속정보를 확인
  • lastlog는 /var/log/lastlog 파일의 정보를 출력

1. /etc/passwd 파일에 정의된 모든 사용자의 마지막 접속 정보 확인

$ lastlog
Username         Port     From             Latest
root               pts/0    [시스템 IP]    Mon Jun 21 23:24:25 +0900 2021
bin                                               **Never logged in**
daemon                                        **Never logged in**
[...생략...]

2. 사용자의 마지막 접속 정보

# lastlog -u userid
$ lastlog -u root
Username         Port     From             Latest
root             pts/0    [시스템 IP]    Mon Jun 21 23:48:26 +0900 2021

3. N일 이전에 접속한 정보

# lastlog -b N -> N일 이후에 접속한 기록이 있는 사용자는 제외
$ lastlog -b 10
Username         Port     From             Latest
bin                                            **Never logged in**
daemon                                     **Never logged in**
[...생략...]

4. D일 부터 현재까지 접속한 정보

# lastlog -t D
$ lastlog -t 5
Username         Port     From             Latest
root             pts/0    [시스템 IP]    Mon Jun 21 23:48:26 +0900 2021

+ Recent posts