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

선행 학습 → 23. /var/log/syslog 분석 · 19. Rocky Linux 서비스 이벤트 추적
이번 글 → /var/log/daemon.log 분석
이어서 → 26. apt와 dpkg 로그 분석

1. 들어가며

오래된 자료에는 "Ubuntu 데몬 로그는 /var/log/daemon.log"라고 나와 있지만, Ubuntu 24.04 기본 설정에서는 이 파일이 만들어지지 않습니다. 50-default.conf 에서 daemon.* 규칙이 주석 처리되어 있기 때문입니다(실습 환경에서 직접 확인). 이번 글은 "파일이 없다"는 상황에서 데몬 로그를 찾는 방법을 다룹니다.

핵심 요약

  • 24.04 기본: #daemon.* -/var/log/daemon.log (주석) → daemon 로그는 syslog 에 들어간다.
  • 서비스 단위 분석은 파일보다 journalctl -u <unit> 이 정확하다.
  • 규칙을 켜는 것은 "수집 정책 변경"이므로 변경관리 대상이다.

2. 핵심 개념

질문답
daemon facility란?시스템 데몬이 쓰는 facility (코드 3). systemd, cron 외 여러 서비스
왜 기본 비활성?syslog 와 중복 저장을 줄이고 journald로 서비스별 조회가 가능하기 때문
어디서 보나?/var/log/syslog (파일) 또는 journalctl -u / SYSLOG_FACILITY=3 (저널)
서비스 자체 로그는?Apache·Nginx·MySQL 등은 facility와 무관하게 자체 파일에 기록

3. 로그 생성 구조

daemon.log의 위치

데몬 (daemon facility) ──▶ journald ──┬──▶ journalctl -u <unit> / SYSLOG_FACILITY=3
                                      └──▶ rsyslog
                                             ├─ *.*;auth,authpriv.none ──▶ /var/log/syslog   (활성)
                                             └─ #daemon.* ──X──▶ /var/log/daemon.log         (주석)
서비스 자체 로그 (Apache 등) ──────────────────────▶ /var/log/apache2/*.log

4. 실제 로그 경로

대상Ubuntu 24.04 기본대안
데몬 전체/var/log/syslogjournalctl SYSLOG_FACILITY=3
특정 서비스—journalctl -u nginx
Apache/var/log/apache2/access.log, error.log
Nginx/var/log/nginx/access.log, error.log
MySQL/MariaDB설정값 확인 (log_error)journalctl -u mariadb
daemon.log없음규칙 활성화 시 생성

5. 명령어 실습

# 규칙 상태 확인
grep -nE '^#?\s*daemon' /etc/rsyslog.d/50-default.conf
ls -l /var/log/daemon.log 2>/dev/null || echo "daemon.log 없음 (기본 설정)"

# daemon facility 로그를 저널에서 직접
journalctl SYSLOG_FACILITY=3 --since today -o short-iso --no-pager | tail -10

# 서비스 단위 조회 (가장 정확)
journalctl -u ssh -u cron -u nginx --since "-1h" -o short-iso --no-pager | tail -20

# 서비스 로그 경로를 설정값으로 확인
grep -rE 'ErrorLog|CustomLog' /etc/apache2/ 2>/dev/null | grep -v '#' | head
grep -rE 'access_log|error_log' /etc/nginx/ 2>/dev/null | grep -v '#' | head
grep -rE 'log[_-]error|general_log' /etc/mysql/ 2>/dev/null | grep -v '#' | head

(선택) daemon.log 를 켜야 할 때

# 1) 변경 전 백업과 문법 검증 — 운영 서버는 변경관리 승인 후
sudo cp -a /etc/rsyslog.d/50-default.conf /root/50-default.conf.bak
sudo sed -i 's/^#daemon\.\*/daemon.*/' /etc/rsyslog.d/50-default.conf   # 설정 파일 수정 (로그 파일 아님)
sudo rsyslogd -N1 && sudo systemctl restart rsyslog
# 2) logrotate 대상에 /var/log/daemon.log 가 포함되어 있는지 확인
grep -n daemon.log /etc/logrotate.d/rsyslog

수정 대상은 설정 파일입니다. 로그 파일을 sed -i 로 수정하는 것은 이 시리즈에서 금지합니다. 24.04 기본 /etc/logrotate.d/rsyslog 목록에는 daemon.log 가 없으므로 켤 경우 순환 대상에 추가해야 디스크가 차지 않습니다.

6. 로그 예시

실제 실행 결과 — Ubuntu 24.04 · root@ubuntu-lab — daemon 로그 확인

위 이미지는 Ubuntu 24.04 실습 환경에서 daemon 로그 위치를 실제로 확인한 결과입니다.

7. 로그 필드 분석

저널에서 daemon 로그를 볼 때 유용한 필드(예시 출력):

[예시 출력: journalctl -u nginx -o verbose 일부]
    _SYSTEMD_UNIT=nginx.service
    SYSLOG_FACILITY=3
    PRIORITY=3
    _EXE=/usr/sbin/nginx
    MESSAGE=nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
필드의미
_SYSTEMD_UNIT어느 서비스인지 (위조 불가 신뢰 필드)
PRIORITY=3err — 서비스 기동 실패
_EXE실제 실행 파일 경로

8. 보안관점

정상의심
daemon.log 없음 (기본값)daemon.log가 최근 생성 → 설정 변경 이력 확인
서비스 오류가 배포 시각과 일치오류 직후 다른 포트로 같은 서비스 기동
서비스 로그 경로가 기본값로그 경로가 /dev/null 로 바뀐 설정

9. SOC 관점

  • 수집: Ubuntu 서버는 Wazuh에서 journald 수집(4.x의 <log_format>journald</log_format>) 또는 syslog 파일 수집으로 daemon 로그를 확보한다(47편 실측 설정 참조).
  • Detection: 웹/DB 서비스 로그 경로 설정 변경은 FIM으로 감시.
  • Investigation: "로그 파일이 없다"는 사실을 가시성 평가 항목으로 기록.

10. 실습 체크리스트

[ ] daemon 규칙 주석 상태 확인
[ ] journalctl SYSLOG_FACILITY=3 조회
[ ] journalctl -u 로 서비스 단위 조회
[ ] 웹/DB 로그 경로를 설정값으로 확인
[ ] 규칙 활성화 시 logrotate 추가 필요성 이해
[ ] 로그 경로 설정 변경의 보안 의미 설명

11. 핵심 정리

  • Ubuntu 24.04 기본 설정에서 daemon.log 는 생성되지 않는다.
  • daemon 로그는 syslog 와 journald에서 찾는다.
  • 서비스 분석은 journalctl -u 가 가장 정확하다.
  • 웹·DB 로그 경로는 반드시 설정값으로 확인한다.
  • 규칙 활성화는 수집 정책 변경이므로 logrotate와 변경관리를 함께 고려한다.

12. 다음 편 연결

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

0개의 댓글