Linux 로그 경로 정리 · 23/50 · Part 3. Ubuntu / Debian 로그 경로
선행 학습 → 21. Ubuntu 주요 로그 경로 · 12. /var/log/messages 분석
이번 글 → /var/log/syslog 분석
이어서 → 24. /var/log/kern.log 분석
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 템플릿 미지정 확인)
| 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)입니다. 패턴을 배포판에 맞게 씁니다.

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

위 이미지는 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...
| 로그 | 핵심 필드 | 해석 |
|---|---|---|
| CRON | (root), CMD | root 권한 숨김 파일 실행 |
| UFW BLOCK | SRC, DST, DPT=3306 | 외부에서 DB 포트 접근 시도 차단 |
| rsyslog Stopping | 시각 | 로깅 중단 — 원인 확인 필요 |
ISO 형식은 awk '{print $1}' 하나로 시간이 나오고 sort 만으로 정확한 시간순 정렬이 됩니다. 병합 타임라인(49편)에 유리합니다.
| 정상 | 의심 |
|---|---|
CRON: logrotate, apt 정기작업, e2scrub | 신규 CMD, 숨김 경로, `curl |
| 업데이트 후 서비스 재시작 | 원격 세션 중 신규 서비스 Started |
| UFW 차단 산발적 | 한 IP의 다수 포트 차단(스캐닝) |
| rsyslog 재시작(로그 순환 시 HUP) | 이유 없는 Stopping rsyslog |
syslog 또는 journald 수집이 필수.auth.log 로그인 시각 ↔ syslog 의 CRON/서비스 변화를 시간축으로 연결.[ ] syslog 규칙(*.*;auth,authpriv.none) 설명
[ ] 타임스탬프 형식 확인 후 필드 위치 결정
[ ] 태그 분포 집계
[ ] CRON 실행 목록 추출
[ ] 서비스/로깅 데몬 이벤트 조회
[ ] UFW 차단 출발지 집계
syslog 는 인증을 제외한 모든 로그가 모이는 파일이다.syslog 에 있으며 태그는 CRON 이다.| 구분 | 글 |
|---|---|
| ◀ 이전 글 | 22. /var/log/auth.log 분석 |
| ▶ 다음 글 | 24. /var/log/kern.log 분석 |
| 시리즈 | Linux 로그 경로 정리 전체 보기 |
| 선행 시리즈 | 리눅스 시스템 기초 · 파일 · 권한 · 사용자 관리 · 서비스 · 프로세스 관리 · Linux 시스템 보안 기초 |