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

선행 학습 → 21. Ubuntu 주요 로그 경로 · 12. /var/log/messages 분석
이번 글 → /var/log/syslog 분석
이어서 → 24. /var/log/kern.log 분석

1. 들어가며

Ubuntu의 /var/log/syslog 는 규칙 *.*;auth,authpriv.none 에 따라 인증을 제외한 거의 모든 로그가 모이는 파일입니다. RHEL messages 와 역할이 비슷하지만, 기본 설정에서 cron과 daemon 로그까지 포함하므로 범위가 더 넓습니다.

핵심 요약

  • syslog = 인증 제외 전부 (cron, daemon, kern, mail 포함 → 일부는 다른 파일과 중복)
  • Ubuntu에서 cron 지속성 조사는 기본적으로 syslog 에서 한다.
  • 24.04 기본 형식은 ISO 8601 고정밀 타임스탬프(실습 환경 rsyslog 8.2312: Traditional 템플릿 미지정 확인)

2. 핵심 개념

syslog에 섞여 있는 것태그 예분리 방법
cron 실행CRON[PID]: (root) CMD (...)grep ' CRON\['
서비스 상태systemd[1]: Started ...grep 'systemd\[1\]'
커널kernel: ...grep 'kernel:' (kern.log 와 중복)
네트워크systemd-networkd, NetworkManager태그로 필터
방화벽kernel: [UFW BLOCK] ...grep 'UFW'
메일postfix/...mail.log 와 중복

Ubuntu cron 태그는 대문자 CRON (RHEL은 CROND)입니다. 패턴을 배포판에 맞게 씁니다.

3. 로그 생성 구조

syslog = Ubuntu 종합 상황판

cron ─────(cron)──┐
systemd ──(daemon)┤
kernel ───(kern)──┼──▶ journald ──▶ rsyslog: *.*;auth,authpriv.none ──▶ /var/log/syslog
ufw ──────(kern)──┤                                 kern.*  ──▶ /var/log/kern.log  (중복)
postfix ──(mail)──┘                                 mail.*  ──▶ /var/log/mail.log  (중복)
sshd ─────(authpriv) ─X─ (syslog 제외) ──▶ auth.log

4. 실제 로그 경로

/var/log/syslog            현재
/var/log/syslog.1          직전 순환 (비압축)
/var/log/syslog.[2-4].gz   이전 순환 (24.04 기본: weekly · rotate 4 · compress · delaycompress)
journalctl                 원천

5. 명령어 실습

L=/var/log/syslog
head -1 $L          # 타임스탬프 형식 확인 (ISO vs 전통)

# 태그 분포 — 무엇이 많이 기록되는가
awk '{t=$3; sub(/\[.*/,"",t); sub(/:$/,"",t); print t}' $L | sort | uniq -c | sort -rn | head -15
#   (ISO 형식: $1=시간, $2=호스트, $3=태그 / 전통 형식이면 $5 가 태그)

# cron 실행 목록 (지속성)
zgrep -h ' CRON\[' $L* | grep 'CMD' | sed -E 's/.*\((\w+)\) CMD \((.*)\)/\1 | \2/' | sort | uniq -c | sort -rn | head

# 서비스 신규 기동 / 로깅 서비스 중단
grep -E 'systemd\[1\]: (Started|Stopped|Reloading)' $L | tail -10
grep -E 'rsyslogd|systemd-journald' $L | tail -5

# 방화벽 차단 상위 출발지
grep 'UFW BLOCK' $L | grep -oE 'SRC=[0-9.]+' | sort | uniq -c | sort -rn | head

6. 로그 예시

실제 실행 결과 — Ubuntu 24.04 · root@ubuntu-lab — syslog 내용

위 이미지는 Ubuntu 24.04 실습 환경의 실제 syslog 조회 결과입니다.

아래는 태그별 형식 설명용 예시 로그입니다.

[예시 로그]
2026-09-20T02:20:01.004211+09:00 web02 CRON[5402]: (root) CMD (/usr/local/bin/.syscheck >/dev/null 2>&1)
2026-09-20T02:21:14.550102+09:00 web02 kernel: [UFW BLOCK] IN=eth0 OUT= SRC=203.0.113.45 DST=10.0.0.12 PROTO=TCP SPT=41822 DPT=3306
2026-09-20T02:23:41.101010+09:00 web02 systemd[1]: Stopping rsyslog.service - System Logging Service...

7. 로그 필드 분석

로그핵심 필드해석
CRON(root), CMDroot 권한 숨김 파일 실행
UFW BLOCKSRC, DST, DPT=3306외부에서 DB 포트 접근 시도 차단
rsyslog Stopping시각로깅 중단 — 원인 확인 필요

ISO 형식은 awk '{print $1}' 하나로 시간이 나오고 sort 만으로 정확한 시간순 정렬이 됩니다. 병합 타임라인(49편)에 유리합니다.

8. 보안관점

정상의심
CRON: logrotate, apt 정기작업, e2scrub신규 CMD, 숨김 경로, `curl
업데이트 후 서비스 재시작원격 세션 중 신규 서비스 Started
UFW 차단 산발적한 IP의 다수 포트 차단(스캐닝)
rsyslog 재시작(로그 순환 시 HUP)이유 없는 Stopping rsyslog

9. SOC 관점

  • 수집: Ubuntu에서 cron·서비스·방화벽 탐지를 하려면 syslog 또는 journald 수집이 필수.
  • Triage: 태그로 먼저 분리해 노이즈를 줄인 뒤 판단.
  • Investigation: auth.log 로그인 시각 ↔ syslog 의 CRON/서비스 변화를 시간축으로 연결.

10. 실습 체크리스트

[ ] syslog 규칙(*.*;auth,authpriv.none) 설명
[ ] 타임스탬프 형식 확인 후 필드 위치 결정
[ ] 태그 분포 집계
[ ] CRON 실행 목록 추출
[ ] 서비스/로깅 데몬 이벤트 조회
[ ] UFW 차단 출발지 집계

11. 핵심 정리

  • Ubuntu syslog 는 인증을 제외한 모든 로그가 모이는 파일이다.
  • 기본 설정에서 cron 로그는 syslog 에 있으며 태그는 CRON 이다.
  • 커널·메일 로그는 전용 파일과 중복 기록된다.
  • 24.04 기본 형식은 ISO 8601이라 정렬·병합에 유리하다.
  • 태그로 분리한 뒤 인증 로그와 시간축으로 연결한다.

12. 다음 편 연결

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

0개의 댓글