363. 방어 회피·흔적 삭제 — syslog·journald 조작 탐지

changseop lee·5일 전

시스템 보안 · 취약점

목록 보기
363/450

시스템 보안 · 취약점 › H. 방어 회피 · 흔적 삭제 징후 · 13/50편 (전체 363/450)
학습 단계: 로그 삭제·변조
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

rsyslog·systemd-journald는 시스템·인증 로그의 핵심 수집기입니다. 공격자는 이 서비스를 중지·설정 변조하거나 저널을 삭제(journalctl --vacuum)해 로그 수집 자체를 차단합니다.

syslog·journald 조작 패턴
 서비스 중지: systemctl stop rsyslog/systemd-journald
 저널 삭제: journalctl --vacuum-time=1s, rm -rf /var/log/journal
 설정 변조: rsyslog.conf 수정(규칙 제거·전송 차단)
 전송 차단: 중앙 전송(@@) 설정 삭제

탐지: 서비스 상태·설정 변경·저널 삭제·중앙 수집 끊김

핵심은 "로그 수집 파이프라인을 끊는 행위"입니다. 서비스 중지·저널 비우기·중앙 전송 설정 삭제가 신호입니다.

2. 왜 중요한가

  • rsyslog·journald는 시스템·인증 로그의 핵심 수집기라, 무력화되면 광범위한 로그가 사라집니다.
  • journalctl --vacuum·저널 삭제는 수집된 로그를 비우는 흔적 제거입니다.
  • rsyslog 중앙 전송(@@) 설정 삭제는 로컬 삭제 대비 안전장치를 무력화합니다.

3. 핵심 명령어 / 설정

조작명령영향
서비스 중지systemctl stop rsyslog로그 수집 중단
저널 삭제journalctl --vacuum저널 비우기
저널 디렉터리rm -rf /var/log/journal영구 삭제
설정 변조rsyslog.conf 수정규칙·전송 제거
전송 차단@@ 설정 삭제중앙 수집 차단

4. 실습 (실습 예시)

# syslog·journald 조작 탐지 (분석 방법)
# rsyslog/journald 서비스 중지 이력(systemd 저널·audit 교차)
sudo journalctl -u rsyslog -u systemd-journald --no-pager 2>/dev/null | grep -iE 'stopped|deactivat' | tail
# 저널 삭제·vacuum
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'journalctl.*vacuum|rm.*/var/log/journal' | tail
# rsyslog 설정·중앙 전송(@@) 변경
sudo ausearch -k log_tamper -i --start recent 2>/dev/null | grep -E 'rsyslog.conf|rsyslog.d' | tail

5. 정상 상태

$ (서비스 중지) 없음(지속 가동)
$ (저널 삭제) 없음
$ (설정 변경) 없음 또는 승인 변경

rsyslog·journald가 지속 가동되고, 저널 삭제·설정 변조·중앙 전송 차단이 없는 상태가 정상입니다.

6. 이상 상태

$ (서비스 중지) rsyslog.service Deactivated (03:00)
$ (저널 삭제) journalctl --vacuum-time=1s (저널 거의 비움)
$ (설정 변경) rsyslog.conf에서 @@logserver 라인 삭제(전송 차단)
  • rsyslog 중지 → 시스템 로그 수집 중단
  • journalctl --vacuum으로 저널 비우기 → 수집 로그 제거
  • 중앙 전송(@@) 설정 삭제 → 로컬 삭제 안전장치 무력화
  • 로그 파이프라인 차단 → 방어 회피 → 정탐

7. 로그 분석 (분석 방법)

syslog·journald 조작 분석입니다(가상의 예시).

[로그 파이프라인] 이벤트 → journald → rsyslog → 중앙
   ↓ (공격자 차단)
① systemctl stop rsyslog (수집 중단)
② journalctl --vacuum (저널 비우기)
③ rsyslog.conf @@ 삭제 (중앙 전송 차단)
      ↕ (교차 탐지)
 systemd 저널(중지 이력) + 중앙 수집(끊김 전 로그)
 + auditd(명령 실행 기록)
   ↓
= 파이프라인을 끊어도 교차 채널이 차단 행위를 포착 → 정탐
조작탐지 채널
서비스 중지systemd 저널
저널 삭제auditd 명령
전송 차단중앙 끊김

파이프라인 외부 채널이 로그 차단 탐지의 핵심입니다.

8. SOC 관제 포인트

  • rsyslog·journald 조작은 시스템 로그 수집 파이프라인을 차단하는 방어 회피입니다.
  • 서비스 중지·저널 삭제(--vacuum)·설정 변조·중앙 전송 차단이 핵심 수단입니다.
  • systemd 저널·중앙 수집·auditd 교차로 파이프라인 차단 행위를 포착합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,">
  <rule id="107120" level="13">
    <if_sid>107000</if_sid>
    <field name="audit.proctitle" type="pcre2">systemctl\s+(stop|disable)\s+(rsyslog|systemd-journald)|journalctl\s+.*vacuum|rm\s+.*/var/log/journal</field>
    <description>syslog·journald 조작(로그 수집 파이프라인 차단)</description>
    <mitre><id>T1562.001</id><id>T1070.002</id></mitre>
  </rule>
</group>

로그 수집 서비스 상태를 모니터링하고, 중앙 수집 끊김을 별도 경보합니다. 정상 서비스 재시작(패치)은 예외 처리합니다.

10. 대응 방법

  1. 초기 확인 — rsyslog·journald 서비스 상태·저널·설정 변경을 교차 확인합니다.
  2. 범위 확인 — 서비스 중지·저널 삭제·중앙 전송 차단을 확인합니다.
  3. 증거 확보 — systemd 저널·중앙 수집본·명령 이벤트를 보존합니다.
  4. 차단/조치 — 로그 파이프라인 차단 정탐이면 수집 복구·차단 구간 분석을 진행합니다.
  5. 재발 방지 — syslog·journald 조작 탐지를 운영합니다.

11. 핵심 정리

조작명령
서비스 중지systemctl stop rsyslog
저널 삭제journalctl --vacuum
저널 디렉터리rm -rf /var/log/journal
전송 차단@@ 설정 삭제
면접 포인트"syslog/journald 조작은 수집 파이프라인 차단 — 외부 채널 교차로 탐지"

12. 다음 편 예고

다음 편 364. 방어 회피·흔적 삭제 — wtmp·utmp·lastlog 조작 탐지 에서는 wtmp·utmp·lastlog 조작을 다루는 wtmp·utmp·lastlog 조작 탐지를 다룹니다.


이전 편: 362. 방어 회피·흔적 삭제 — auditd 감사 로그 조작 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글