Linux 로그 경로 정리 · 28/50 · Part 3. Ubuntu / Debian 로그 경로

선행 학습 → 17. Rocky Linux 로그 경로 종합 정리 · 27. Ubuntu 로그 경로 종합 정리
이번 글 → RHEL과 Ubuntu 로그 경로 차이
이어서 → 29. 배포판별 로그 분석 전략

1. 들어가며

SOC에서는 한 화면에 RHEL과 Ubuntu 서버의 Alert가 섞여 들어옵니다. 같은 "SSH 로그인 성공"이라도 원본 파일 경로·서비스명·순환 방식이 다르므로, 목적 → 배포판별 위치로 즉시 변환할 수 있어야 합니다.

핵심 요약

  • 인증: secure ↔ auth.log / 시스템: messages ↔ syslog
  • 커널: RHEL은 messages 안, Ubuntu는 kern.log / cron: cron ↔ syslog
  • 감사: 둘 다 /var/log/audit/audit.log 이지만 Ubuntu는 설치 여부부터 확인
  • 버전·설정에 따라 달라지므로 표는 "출발점"이지 정답이 아니다.

2. 핵심 개념

목적Rocky / RHELUbuntu / Debian
인증/var/log/secure/var/log/auth.log
시스템/var/log/messages/var/log/syslog
커널/var/log/messages (kernel: 태그) — 환경별 차이/var/log/kern.log
cron/var/log/cron/var/log/syslog (cron.log 기본 비활성)
메일/var/log/maillog/var/log/mail.log, mail.err
패키지/var/log/dnf.log, dnf.rpm.log/var/log/dpkg.log, /var/log/apt/
감사/var/log/audit/audit.log (기본 설치)auditd 설정에 따라 다름 (기본 미설치)
Apache/var/log/httpd/access_log, error_log/var/log/apache2/access.log, error.log
Nginx/var/log/nginx/access.log, error.log동일
SSH 유닛sshd.servicessh.service (ssh.socket)
관리자 그룹wheelsudo
cron 태그CRONDCRON

3. 로그 생성 구조

RHEL ↔ Ubuntu 로그 경로 대응

               Rocky / RHEL                         Ubuntu / Debian
규칙 파일      /etc/rsyslog.conf                    /etc/rsyslog.d/50-default.conf
입력           imjournal (journald 읽기)            imuxsock + imklog (환경별)
권한           0600 root:root                        0640 syslog:adm
형식           Traditional (Sep 20 02:14:52)         ISO 8601 (2026-09-20T02:14:52.123456+09:00)
순환           secure-20260920 (비압축)               auth.log.1, auth.log.2.gz
감사           auditd 기본                           auditd 별도 설치

4. 실제 로그 경로

예외와 주의사항 — 표가 틀리는 대표 상황:

상황결과
rsyslog 미설치 (Debian 12 기본, 최소 컨테이너)텍스트 파일 없음 → journalctl 만 존재
관리자가 규칙 변경 (cron.log 활성화 등)표와 다른 파일 존재
클라우드 이미지·하드닝 템플릿원격 전송만 하고 로컬 저장 최소화
서비스 설정 변경 (ErrorLog, log_error)서비스 로그 경로 변경
구버전 (CentOS 7, Ubuntu 18.04 등)형식·기본 규칙 상이

5. 명령어 실습

배포판을 몰라도 쓰는 목적별 조회 함수:

authlog(){ for f in /var/log/secure /var/log/auth.log; do [ -e "$f" ] && echo "$f"; done; }
syslogf(){ for f in /var/log/messages /var/log/syslog; do [ -e "$f" ] && echo "$f"; done; }

A=$(authlog); S=$(syslogf)
echo "auth=$A system=$S"
zgrep -h 'Accepted' "$A"* 2>/dev/null | tail -3                              # 인증
zgrep -hE 'CROND?\[' "$S"* /var/log/cron* 2>/dev/null | grep CMD | tail -3   # cron (양쪽 태그)

# 파일이 없으면 저널로 (배포판 무관)
journalctl _COMM=sshd --since today --no-pager | grep Accepted | tail -3

6. 로그 예시

실제 실행 결과 — 두 배포판 인증 로그 파일명 비교

위 이미지는 두 배포판 실습 환경에서 인증 로그 파일명을 실제로 비교한 결과입니다.

아래는 동일 이벤트의 형식 차이를 보여주는 예시 로그입니다.

[예시 · Rocky  /var/log/secure  ] Sep 20 02:14:52 web01 sshd[4101]: Accepted password for deploy from 203.0.113.45 port 51188 ssh2
[예시 · Ubuntu /var/log/auth.log] 2026-09-20T02:14:52.418220+09:00 web02 sshd[5101]: Accepted password for deploy from 203.0.113.45 port 51188 ssh2

7. 로그 필드 분석

필드Rocky 위치Ubuntu(ISO) 위치
시각$1 $2 $3$1
호스트$4$2
태그[PID]$5$3
메시지$6~$4~

awk 필드 번호가 달라지므로 메시지 키워드 기준(for 루프로 from·for 다음 토큰 찾기)으로 파싱하면 두 형식 모두 동작합니다.

8. 보안관점

  • 혼합 환경에서 한쪽 배포판 기준 탐지 룰만 있으면 다른 쪽이 탐지 공백이 된다 (예: /var/log/secure 만 수집 설정).
  • Ubuntu의 auditd 미설치는 RHEL 대비 실행 가시성 격차다.

9. SOC 관점

SIEM 설정권장
수집배포판별 에이전트 그룹(Wazuh group)으로 localfile 분리
파싱Wazuh 기본 decoder는 두 형식을 모두 처리 — 신규 형식은 wazuh-logtest 로 검증
룰파일 경로가 아닌 decoder/program_name 기반 룰 작성
대시보드agent.os.platform 필드로 배포판 구분

10. 실습 체크리스트

[ ] 목적별 12행 비교표 재현
[ ] 표가 틀리는 5가지 상황 설명
[ ] 배포판 무관 조회 함수 실행
[ ] 형식별 awk 필드 위치 차이 이해
[ ] 혼합 환경 수집·룰 설계 원칙 설명
[ ] SSH 유닛명·관리자 그룹·cron 태그 차이를 실제 서버에서 확인

11. 핵심 정리

  • 목적이 같아도 배포판마다 경로·서비스명·형식이 다르다.
  • 커널·cron 로그 위치 차이가 특히 헷갈린다.
  • auditd는 RHEL 기본, Ubuntu 별도 설치다.
  • 표는 출발점이며 실제 경로는 설정과 버전으로 확인한다.
  • SIEM 룰은 파일 경로가 아닌 디코더·프로그램 기준으로 작성한다.

12. 다음 편 연결

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

0개의 댓글