Linux 시스템 보안 기초 · 46/50편

이 글은 리눅스 시스템 기초 · 파일 · 권한 · 사용자 관리 · 서비스 · 프로세스 관리 시리즈를 선행 학습으로 두고, 동일한 개념을 보안관제(SOC) 관점에서 한 단계 확장합니다.

선행 학습

1. 들어가며

개별 로그는 점(点)입니다. 이 점들을 시간순으로 이으면 '무슨 일이 어떤 순서로 벌어졌는가'라는 선(線), 즉 침해사고 타임라인이 됩니다. 이번 편은 여러 로그원을 하나의 타임라인으로 엮는 방법을 정리합니다.

2. 핵심 개념

공격은 대개 정해진 단계(kill chain)로 진행됩니다.

Initial Access → Authentication → Privilege Escalation
     → Persistence → Execution → Lateral / External Communication

각 단계가 서로 다른 로그원에 흔적을 남깁니다. 타임라인 작성은 이 흔적들을 동일 시간축에 정렬해 인과관계를 복원하는 작업입니다.

시간 →
14:02  auth.log   Failed password ×312 (203.0.113.10)   [Initial Access]
14:05  auth.log   Accepted password for alice           [Authentication]
14:06  audit      sudo → root                           [Priv Esc]
14:07  audit      useradd hacker / authorized_keys 추가  [Persistence]
14:08  audit      /tmp/.x 실행                           [Execution]
14:09  ss/IDS     203.0.113.10:4444 연결                 [External Comm]

3. 동작 원리

타임라인의 기반은 정확한 시각입니다. 그래서 모든 서버의 시간을 NTP로 동기화하는 것이 전제입니다. 시각이 맞아야 auth.log, audit.log, 네트워크 로그를 하나의 축에 정렬할 수 있습니다.

작성 절차: (1) 사건 구간 확정 → (2) 각 로그원에서 그 구간 추출 → (3) 시각순 병합 → (4) 단계 라벨링 → (5) 인과 검증. SIEM은 이를 자동화하지만, 원리를 알아야 도구 결과를 신뢰·검증할 수 있습니다.

4. 명령어 실습

# 사건 구간의 인증 로그
sudo journalctl --since '14:00' --until '14:15' -u ssh

# 같은 구간의 감사 이벤트 (여러 키)
sudo ausearch -ts 14:00:00 -te 14:15:00 -i | grep -E 'key=|comm='

# 여러 로그를 시각으로 병합(간이 타임라인)
{ sudo grep -h '' /var/log/auth.log; sudo ausearch -ts today -i; } \
  | grep -E '14:0[0-9]' | sort

5. 실행 결과

간이 타임라인 병합의 형태입니다. (예시 출력 — 침해 시나리오 재구성)

14:02:11  sshd: Failed password for alice from 203.0.113.10 (반복)
14:05:30  sshd: Accepted password for alice from 203.0.113.10
14:06:02  audit(execve): comm=sudo auid=alice → euid=0
14:07:15  audit(identity): /etc/passwd 변경 (useradd)
14:08:40  audit(execve): exe=/tmp/.x auid=alice
14:09:03  ss: ESTAB → 203.0.113.10:4444

동일 IP(203.0.113.10)와 동일 계정(alice)이 각 단계를 관통합니다. 이 흐름이 곧 침해의 '이야기'이며, 50편 종합 실습에서 이 타임라인을 처음부터 끝까지 재구성합니다.

6. 보안 관점 — 정상 사용 vs 악용

  • 정상: 단계 간 인과가 없는 개별적·설명 가능한 이벤트.
  • 침해 확정 신호:
    • 동일 IP/계정이 여러 단계를 순차 관통
    • 짧은 시간 내 '실패→성공→상승→지속성→연결' 연쇄
    • 로그 공백(공격자가 특정 구간 삭제)

타임라인이 완성되면 침해 범위(어디까지 당했나)와 근본 원인(어떻게 들어왔나)이 드러나, 대응(48편)의 근거가 됩니다.

7. 탐지 방법

  • NTP 시간 동기화 확인(전제)
  • 사건 구간의 다중 로그원 추출·병합
  • 단계 라벨링과 인과 검증
  • 로그 공백 구간 식별

8. SOC 관점 — SIEM · Wazuh · IOC

타임라인 재구성은 SOC 조사(Investigation)의 핵심 산출물입니다. SIEM은 여러 로그를 공통 시간축·공통 필드(IP/사용자)로 상관분석해 자동으로 사건을 묶습니다. Wazuh/ELK에서 동일 IP·계정으로 pivot하면 kill chain 단계가 정렬됩니다. 이 타임라인은 사고 보고서(50편)의 뼈대가 됩니다.

9. 실습 체크리스트

[ ] NTP 시간 동기화 확인
[ ] 사건 구간 다중 로그 추출
[ ] 시각순 병합·단계 라벨링
[ ] 동일 IP/계정 pivot 분석
[ ] 로그 공백 점검

10. 핵심 정리

  • 타임라인은 개별 로그(점)를 시간순으로 이어 선으로 만든다.
  • 정확한 시각(NTP 동기화)이 타임라인의 전제다.
  • 동일 IP/계정이 여러 단계를 관통하면 침해 확정 신호다.
  • kill chain 단계로 라벨링해 인과를 복원한다.
  • 타임라인은 대응과 사고 보고서의 근거가 된다.

11. 다음 편

다음 편에서는 47. Linux IOC 수집 방법 를 다룹니다. Part 7 SOC 실무로 넘어가, 타임라인에서 IOC를 체계적으로 수집하는 법을 봅니다.


본 실습은 격리된 테스트 VM(Rocky Linux / Ubuntu, VMware) 및 테스트 계정 환경을 기준으로 하며, 운영 서버를 대상으로 하지 않습니다. 실행 결과는 실제 캡처와 예시 출력을 명확히 구분해 표기합니다.

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

0개의 댓글