Linux 로그 경로 정리 · 03/50 · Part 1. Linux 로그 기본 구조

선행 학습 → 02. Linux 로그가 생성되는 과정 · 기초 48. Linux 로그와 journalctl
이번 글 → /var/log 디렉터리 구조
이어서 → 04. Linux 로그 파일과 디렉터리 확인 방법

1. 들어가며

/var/log 는 Linux 로그의 기본 저장소입니다. 하지만 이 디렉터리 안에 무엇이 있는지는 배포판·설치 패키지·설정에 따라 서버마다 다릅니다. 이번 글에서는 "표준 목록 암기"가 아니라 디렉터리 구조를 보고 서버의 로깅 구성을 추론하는 법을 익힙니다.

핵심 요약

  • /var/log 의 내용은 "무엇이 설치·설정되어 있는가"의 거울이다.
  • 파일(rsyslog 산출물) · 디렉터리(서비스별) · 바이너리(wtmp/btmp/lastlog, journal)로 나눠 본다.
  • 파일이 없으면 → 오류가 아니라 설정 차이부터 의심한다.

2. 핵심 개념

/var/log 안의 항목은 만들어지는 주체에 따라 세 부류입니다.

부류누가 만드나예
rsyslog 산출 텍스트rsyslog 규칙 (/etc/rsyslog.conf)messages, secure, cron, maillog, syslog, auth.log
서비스 전용 디렉터리각 서비스 설정httpd/, nginx/, mariadb/, audit/, apt/
바이너리 기록login 계열, systemdwtmp, btmp, lastlog, journal/

바이너리 파일은 cat으로 보지 않습니다. last, lastb, lastlog, journalctl 같은 전용 도구를 사용합니다.

3. 로그 생성 구조

/var/log 대표 구조 (Rocky 기준)

/var/log                      [Rocky/RHEL 기본]           [Ubuntu/Debian 기본]
├── messages | syslog          범용 시스템 로그            범용 시스템 로그
├── secure   | auth.log        인증·권한                    인증·권한
├── cron                        cron 실행                    (syslog 에 포함, cron.log 는 기본 비활성)
├── maillog  | mail.log        메일                          메일
├── boot.log                    부팅 시 서비스 출력          (환경별)
├── audit/audit.log             auditd                       auditd 설치 시
├── httpd/   | apache2/        Apache                        Apache
├── nginx/                      Nginx                         Nginx
├── dnf.log  | apt/, dpkg.log   패키지                        패키지
├── wtmp / btmp / lastlog       로그인 기록(바이너리)          동일
└── journal/                    영구 저널(존재 시)            영구 저널(기본 존재)

4. 실제 로그 경로

경로내용보는 도구
/var/log/messages (RHEL)info 이상 범용 메시지 (mail·authpriv·cron 제외)less, grep
/var/log/secure (RHEL)authpriv.*grep
/var/log/syslog (Ubuntu)auth 제외 전체grep
/var/log/auth.log (Ubuntu)auth,authpriv.*grep
/var/log/audit/audit.log커널 감사 레코드ausearch, aureport
/var/log/wtmp로그인/로그아웃/재부팅last -F
/var/log/btmp로그인 실패lastb -F (root)
/var/log/lastlog사용자별 마지막 로그인lastlog

5. 명령어 실습

# 전체 구조 한눈에 (수정 시간순)
ls -lat /var/log | head -25

# 2단계 깊이까지 파일만
find /var/log -maxdepth 2 -type f | sort | head -40

# 텍스트 / 바이너리 구분
file /var/log/secure /var/log/wtmp 2>/dev/null

# 바이너리 로그는 전용 도구로
last -F | head -5
lastb -F 2>/dev/null | head -5

6. 로그 예시

실제 실행 결과 — Rocky Linux 9.8 · root@rocky9-lab — /var/log 실측

위 이미지는 Rocky Linux 9.8 실습 환경에서 실제로 실행한 /var/log 조회 결과입니다. 설치하지 않은 서비스의 디렉터리는 존재하지 않는다는 점을 확인할 수 있습니다.

아래는 로테이션 흔적을 설명하기 위한 예시 출력입니다.

[예시 출력]
-rw-------. 1 root root  48213 Sep 20 02:24 secure
-rw-------. 1 root root 211904 Sep 14 03:11 secure-20260914     ← Rocky: dateext (날짜 접미사)
-rw-r-----  1 syslog adm 38102 Sep 20 02:24 auth.log
-rw-r-----  1 syslog adm 51022 Sep 14 00:00 auth.log.1          ← Ubuntu: 숫자 접미사
-rw-r-----  1 syslog adm  9211 Sep  7 00:00 auth.log.2.gz       ← delaycompress 후 압축

7. 로그 필드 분석

ls -l 결과에서 SOC가 보는 필드:

필드의미분석 포인트
권한 -rw-------root만 읽기/쓰기누구나 쓸 수 있으면 변조 위험 (5편)
소유자/그룹 syslog adm기록 주체와 열람 그룹adm 그룹 구성원 = 로그 열람 가능자
크기누적량순환 직후가 아닌데 갑자기 작아졌다면 의심
mtime마지막 기록 시각서비스가 살아있는데 mtime이 멈춰 있으면 로깅 중단 의심
접미사순환 방식-YYYYMMDD(RHEL) / .1 .2.gz(Ubuntu)

8. 보안관점

정상의심
설치된 서비스와 로그 디렉터리가 일치설치 이력 없는 서비스 로그 디렉터리 존재
로테이션 주기(주 1회 등)에 맞춘 파일 증가순환 파일 누락(secure-20260914 다음이 없음)
secure 크기가 점진 증가크기 0 또는 급감
/var/log 소유자 root일반 사용자 소유 로그 파일

9. SOC 관점

  • Wazuh/SIEM 수집 대상 선정: 이 서버에 실제로 존재하는 파일만 localfile 로 등록할 수 있다(47편).
  • Triage: Alert의 location 필드(예: /var/log/secure)로 원본 파일을 바로 찾아간다.
  • Investigation: 순환된 파일(secure-2026*, auth.log.*.gz)까지 포함해야 사고 시간대를 모두 덮는다(42편).
  • Response: 로그 디렉터리 스냅샷(ls -la --time-style=full-iso)을 증거 목록에 포함한다.

10. 실습 체크리스트

[ ] /var/log 항목을 rsyslog 산출 / 서비스 디렉터리 / 바이너리로 분류
[ ] 설치된 서비스와 로그 디렉터리 대응 확인
[ ] 바이너리 로그를 last / lastb / lastlog 로 확인
[ ] 로테이션 접미사로 배포판 추정
[ ] 비정상 크기·mtime·권한 파일 확인
[ ] 사고 시간대를 덮는 순환 파일 범위 확인

11. 핵심 정리

  • /var/log 의 구성은 서버의 설치·설정 상태를 그대로 반영한다.
  • 텍스트 로그는 grep으로, 바이너리 로그(wtmp 등)는 전용 도구로 본다.
  • RHEL은 messages/secure, Ubuntu는 syslog/auth.log 가 중심이다.
  • 순환 접미사는 RHEL -날짜, Ubuntu .숫자(.gz) 가 기본이다.
  • 크기·mtime·권한의 이상은 변조·중단의 단서다.

12. 다음 편 연결

구분글
◀ 이전 글02. Linux 로그가 생성되는 과정
▶ 다음 글04. Linux 로그 파일과 디렉터리 확인 방법
시리즈Linux 로그 경로 정리 전체 보기
선행 시리즈리눅스 시스템 기초 · 파일 · 권한 · 사용자 관리 · 서비스 · 프로세스 관리 · Linux 시스템 보안 기초
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글