Linux 로그 경로 정리 · 35/50 · Part 4. journald / rsyslog / auditd

선행 학습 → 34. rsyslog 구조 이해 · 08. Syslog의 Facility와 Severity
이번 글 → rsyslog 설정 파일 분석
이어서 → 36. 원격 Syslog와 중앙 로그 서버

1. 들어가며

"이 로그는 왜 이 파일에 있는가?"의 답은 언제나 rsyslog 설정에 있습니다. 설정을 읽는 능력은 두 가지에 쓰입니다. 첫째, 처음 보는 서버의 로그 경로를 찾는다. 둘째, 공격자가 바꾼 규칙을 찾아낸다.

핵심 요약

  • 전통 문법: facility.severity action / 새 문법: action(type="omfile" file="...")
  • 연산자: * 전체, none 제외, =info 정확히, !info 이하 제외, ; 조건 결합, , facility 나열
  • 파일 앞 - = 비동기 기록 / 설정 변경은 백업 → 수정 → rsyslogd -N1 → 재시작 → 테스트 로그

2. 핵심 개념

표현의미예
authpriv.*authpriv의 모든 severity→ secure
*.info모든 facility의 info 이상
mail.nonemail 제외*.info;mail.none
kern.=warningwarning 만
kern.!errerr 이상 제외 (warning 이하만)
auth,authpriv.*두 facilityUbuntu auth.log
-/var/log/syslog비동기(sync 안 함)성능 우선
@host:514 / @@host:514UDP / TCP 전송36편
:omusrmsg:*모든 로그인 사용자에게*.emerg
stop (구 ~)이후 규칙 처리 중단 (버림)은폐 악용 가능

3. 로그 생성 구조

rsyslog 규칙: facility.severity → action

메시지 (facility=authpriv, severity=info, programname=sshd)
   ↓ 규칙을 위에서 아래로 모두 평가 (stop 이 없으면 여러 규칙에 동시 매칭)
[1] *.info;mail.none;authpriv.none;cron.none → messages   ✗ (authpriv.none)
[2] authpriv.*                              → secure     ✓
[3] (rsyslog.d/90-forward.conf) authpriv.*  → 원격 전송   ✓
   ↓
결과: secure 와 중앙 서버 두 곳에 기록

4. 실제 로그 경로

배포판메인규칙 위치포함 순서
Rocky 9/etc/rsyslog.conf메인 파일 본문 (#### RULES ####)include(file="/etc/rsyslog.d/*.conf") 가 규칙 앞에 위치
Ubuntu 24.04/etc/rsyslog.conf/etc/rsyslog.d/50-default.conf$IncludeConfig /etc/rsyslog.d/*.conf, 파일명 숫자순

파일명 숫자가 작을수록 먼저 평가됩니다. 공격자가 /etc/rsyslog.d/00-xxx.conf 에 stop 규칙을 넣으면 기본 규칙보다 먼저 로그를 버릴 수 있습니다.

5. 명령어 실습

# 유효 규칙만 (주석·빈 줄 제거) — 파일명 순서대로
for f in /etc/rsyslog.conf /etc/rsyslog.d/*.conf; do echo "## $f"; grep -vE '^\s*#|^\s*$' "$f" 2>/dev/null; done

# 로그를 버리는 규칙 탐지
grep -nE '\bstop\b|~$|\.none|omfwd|@' /etc/rsyslog.conf /etc/rsyslog.d/*.conf 2>/dev/null

# 설정 파일 변경 시각 (사고 시간대와 비교)
stat -c '%y %n' /etc/rsyslog.conf /etc/rsyslog.d/*.conf

# 패키지 원본과 비교 (RHEL)
rpm -V rsyslog                       # 5(checksum) 표시 = 원본과 다름
# (Ubuntu) dpkg --verify rsyslog

# 규칙 경로 테스트 (운영 서버는 사전 공지)
logger -p authpriv.info -t cfgtest "rule path test $(date +%s)"
grep cfgtest /var/log/secure /var/log/auth.log 2>/dev/null | tail -1

6. 로그 예시

실제 실행 결과 — Rocky Linux 9.8 · root@rocky9-lab — rsyslog 규칙

위 이미지는 Rocky Linux 9.8 실습 환경에서 rsyslog 규칙을 실제로 조회한 결과입니다.

실습 환경에서 확인한 Rocky 9.8 기본 규칙(실제 파일 내용):

*.info;mail.none;authpriv.none;cron.none action(type="omfile" file="/var/log/messages")
authpriv.* action(type="omfile" file="/var/log/secure")
mail.* action(type="omfile" file="/var/log/maillog" sync="on")
cron.* action(type="omfile" file="/var/log/cron")
*.emerg action(type="omusrmsg" users="*")
uucp,news.crit action(type="omfile" file="/var/log/spooler")
local7.* action(type="omfile" file="/var/log/boot.log")

아래는 은폐 규칙을 설명하기 위한 예시 설정(공격 기법 설명용, 실제 서버에 적용 금지):

[예시] /etc/rsyslog.d/00-cache.conf
if $fromhost-ip == '127.0.0.1' and $msg contains '203.0.113.45' then stop

7. 로그 필드 분석

규칙 요소확인 질문
selector인증(authpriv) 로그가 최소 한 곳에 기록되는가?
none의도된 제외인가? (기본 규칙과 비교)
stop기본 설정에 없는 stop이 있는가?
action파일 경로·권한(FileCreateMode)이 적절한가?
파일명 순서00- 처럼 앞 순서 파일이 새로 생겼는가?

8. 보안관점

정상의심
rpm -V rsyslog 결과 없음 또는 알려진 변경설명 없는 rsyslog.conf 변경
rsyslog.d 에 배포·관리 도구 파일만처음 보는 00-*.conf
원격 전송 규칙 존재전송 규칙 삭제

9. SOC 관점

  • Detection: FIM(/etc/rsyslog.conf, /etc/rsyslog.d/), audit 파일 감시, 로그 유입량 급감 모니터링.
  • Investigation: stop 규칙 발견 시 해당 조건에 맞는 로그를 저널·중앙 서버에서 복원.
  • Response: 설정 원복 전 변조 설정 파일을 증거로 보존.

10. 실습 체크리스트

[ ] 배포판별 규칙 위치 확인
[ ] selector 연산자(*, none, =, !, ;, ,) 해석
[ ] 한 메시지가 여러 규칙에 매칭되는 흐름 추적
[ ] stop / none / 전송 규칙 탐지
[ ] rpm -V / dpkg --verify 로 원본 비교
[ ] 변경 절차(백업→수정→-N1→재시작→테스트) 이해

11. 핵심 정리

  • 로그 경로의 정답은 rsyslog 규칙에 있다.
  • 규칙은 위에서 아래로 모두 평가되며 stop 이 있으면 중단된다.
  • rsyslog.d 의 파일명 순서가 평가 순서를 결정한다.
  • 비표준 stop·none 규칙은 로그 은폐 신호다.
  • 설정 변경은 문법 검증과 테스트 로그로 확인한다.

12. 다음 편 연결

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

0개의 댓글