티스토리 뷰

반응형


리눅스 로그 시스템 — 기록의 역할은 책임의 분배다

1️⃣ 운영체제는 왜 로그를 남기나?

컴퓨터가 잘 작동할 땐 누가 뭘 했는지 관심 없습니다. 하지만 문제가 발생하면 되돌릴 수 없습니다. 시스템은 멈췄고, 데이터는 손상되었고, 원인도 알 수 없습니다.

그래서 리눅스는 항상 "누가 언제 어떤 요청을 했고, 그 결과가 뭐였는가"를 기록으로 남깁니다. 이게 로그입니다. 로그는 단순 기록이 아니라 과거 행위에 대한 증거이자 책임의 단서입니다.

2️⃣ 리눅스는 왜 로그를 나눠서 기록하는가?

"서버가 갑자기 꺼졌다." 이 문제의 원인을 찾기 위해선 여러 가능성을 동시에 고려해야 합니다.

  • 사용자가 잘못된 명령어를 쳤는가?
  • 하드웨어가 인식되지 않았는가?
  • 누군가 원격으로 접속했는가?
  • cron이 자동 명령을 실행했는가?

이 모든 걸 하나의 로그에 넣으면 문제 분석이 불가능하고, 자동화 시스템도 정보를 추적할 수 없습니다.

그래서 리눅스는 로그를 행위의 주체, 대상, 시점에 따라 나누고, 그 각각의 책임 단위를 구조적으로 분해합니다.

3️⃣ 리눅스 로그의 구조적 분업

👤 "누가 뭘 했는가?" → secure

보안 관련 인증, 로그인 시도, sudo 실행, ssh 접속 등 인간 사용자가 직접 수행한 행위는 모두 secure에 기록됩니다.

💻 "시스템이 스스로 무엇을 했는가?" → dmesg

부팅 시 하드웨어 장치를 인식하고, 드라이버를 로딩하고, 시스템이 자동으로 수행한 일은 커널 메시지로 기록되며, 이는 dmesg에서 확인됩니다.

🕓 "누가 언제 들어왔다가 나갔는가?" → wtmp

시스템 전체의 로그인/로그아웃 시간 흐름을 저장합니다. root 사용자뿐 아니라 모든 사용자에 대한 전체 접속 기록이 포함됩니다.

👣 "최근 로그인만 알고 싶다" → lastlog

각 사용자 계정의 최근 로그인 1건만 저장합니다. 히스토리가 아닌 상태 점검용 단일 기록입니다.

❌ "누가 실패했는가?" → btmp

로그인 실패 시도는 따로 btmp에 저장됩니다. 이건 보안 침입 시도를 감지하거나, 패스워드 브루트포싱 방지용 기록입니다.

4️⃣ wtmp는 왜 루트 전용이 아닌가?

wtmp는 시스템의 로그인 타임라인 전체를 기록하기 위한 파일입니다. 만약 루트만 저장한다면 일반 사용자의 로그인 내역은 보이지 않게 됩니다.

하지만 `last` 명령어로 전체 사용자 접속 내역을 볼 수 있고, 이는 wtmp가 루트 전용이 아니라 모든 사용자 대상

5️⃣ 리눅스 로그 구조 요약 — 설명과 함께

기록 대상 왜 나뉘었는가? 해당 로그
인증된 사용자 행위 보안상 책임 추적 필요 secure
부팅 초기 시스템 행위 인간 개입 이전 상태 분석 dmesg
접속 시간 흐름 전체 로그인/로그아웃 타임라인 wtmp
각 계정의 마지막 접속 계정 활성 여부 확인 lastlog
로그인 실패 시도 침입 탐지, 공격 대응 btmp
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함
반응형