Linux 로그 경로 정리 · 46/50 · Part 6. SOC / SIEM / Wazuh

선행 학습 → 36. 원격 Syslog와 중앙 로그 서버 · 기초 50. 보안관제 실습
이번 글 → Linux 로그를 SIEM으로 보내는 구조
이어서 → 47. Wazuh에서 Linux 로그 수집 구조

1. 들어가며

Part 6은 지금까지의 로그 지식을 보안관제 체계에 연결합니다. SOC 분석가가 보는 것은 서버의 /var/log/secure 가 아니라 SIEM의 Alert입니다. 그 Alert가 어떤 과정을 거쳐 만들어지는지 알아야 오탐을 판단하고, 탐지 공백을 메우고, 원본으로 되돌아갈 수 있습니다.

핵심 요약

  • 파이프라인: Linux → Log Collector → Normalization → Parsing/Decoding → Correlation → Alert → SOC Analyst
  • SIEM은 로그 한 줄을 필드로 바꾸고(디코딩), 룰로 판단하고, 여러 이벤트를 엮어(상관) 위험도를 올린다.
  • 수집되지 않은 로그는 탐지되지 않는다 — 파이프라인의 시작은 로그 소스 설계다.

2. 핵심 개념

단계하는 일Wazuh에서
Log Collection로그를 읽어 전송Agent의 logcollector (<localfile>)
Normalization시간·호스트·프로그램 추출, 형식 통일Pre-decoding
Parsing / Decoding메시지에서 필드 추출Decoder (srcip, dstuser, audit.key …)
Correlation빈도·순서·다중 소스 결합Rule (if_sid, if_matched_sid, frequency, timeframe)
Detection Rule조건 → level(0~15), MITRE 매핑/var/ossec/ruleset/rules, local_rules.xml
Alert임계 level 이상 이벤트 저장·표시alerts.json → Indexer → Dashboard
SOC Analyst분류·조사·대응Triage → Investigation → Response

3. 로그 생성 구조

Linux 로그 → SIEM → SOC 파이프라인

상관분석의 실제 예 (47편에서 실측): 단일 실패(5760, level 5)가 짧은 시간에 반복되면 5763(level 10)이 되고, 그 IP에서 성공이 나오면 40112(level 12, "Multiple authentication failures followed by a success"), 이어서 계정이 추가되면 40501(level 15)이 됩니다. 각각은 평범한 로그가 순서로 엮여 고위험 Alert가 되는 구조입니다.

4. 실제 로그 경로

위치경로
수집 대상 (서버)/var/log/secure · auth.log · audit/audit.log · journald
Agent 설정/var/ossec/etc/ossec.conf
Manager 디코더/룰/var/ossec/ruleset/decoders/, /var/ossec/ruleset/rules/
사용자 정의/var/ossec/etc/decoders/local_decoder.xml, /var/ossec/etc/rules/local_rules.xml
Alert 출력/var/ossec/logs/alerts/alerts.json · alerts.log
테스트 도구/var/ossec/bin/wazuh-logtest

5. 명령어 실습

# 로그 한 줄이 어떻게 디코딩·판정되는지 (Manager 에서)
echo 'Sep 20 02:14:44 web01 sshd[4096]: Failed password for deploy from 203.0.113.45 port 50164 ssh2' | /var/ossec/bin/wazuh-logtest

# 실제 Alert 확인 (Manager)
tail -f /var/ossec/logs/alerts/alerts.json | jq -r '[.timestamp, .rule.id, .rule.level, .rule.description, .data.srcip] | @tsv'

# 수집 경로 확인 (Agent)
grep -A3 '<localfile>' /var/ossec/etc/ossec.conf | grep -E 'log_format|location'

6. 로그 예시

실제 실행 결과 — Rocky Linux 9.8 · root@wazuh-mgr · wazuh-manager 4.14.8 — wazuh-logtest

위 이미지는 Rocky Linux 9.8 컨테이너에 Wazuh Manager 4.14.8을 설치하고 wazuh-logtest 를 실제로 실행한 결과입니다(입력 로그는 실습 시나리오의 가상 데이터).

7. 로그 필드 분석

Phase결과의미
1 Pre-decodingtimestamp, hostname, program_name=sshdsyslog 헤더 정규화 (7편의 필드 구조)
2 Decodingdstuser=deploy, srcip=203.0.113.45, srcport=50164메시지 본문 파싱 → IOC 후보 필드
3 Ruleid 5760, level 5, authentication_failed판정, 컴플라이언스 매핑(PCI DSS 10.2.4 등)
AlertAlert to be generatedlevel이 기록 임계(기본 3) 이상

8. 보안관점

파이프라인 문제결과점검
로그 미수집탐지 불가에이전트 localfile 목록
디코딩 실패필드 없음 → 룰 미동작wazuh-logtest Phase 2
룰 부재로그는 있으나 Alert 없음Phase 3가 level 0
시간 파싱 오류타임라인 왜곡Phase 1 timestamp
에이전트 중단수집 공백Agent disconnected Alert

9. SOC 관점

Alert (rule 40112, level 12)
  ↓ Triage: 원본 full_log 확인 → srcip / dstuser → 같은 IP 이전 이벤트 (5760, 5763)
  ↓ Investigation: 원본 서버 secure / audit 교차검증 (18편, 39편)
  ↓ 판정: 정탐 → Incident 생성
  ↓ Response: 계정 잠금·IP 차단·증거 보존 (45편)
  ↓ Detection 개선: 놓친 단계(실행·지속성) 룰 추가 (47편)

10. 실습 체크리스트

[ ] 파이프라인 7단계 설명
[ ] Pre-decoding / Decoding / Rule 차이 설명
[ ] wazuh-logtest 로 한 줄 판정 확인
[ ] 상관 룰(5760 → 5763 → 40112 → 40501) 흐름 설명
[ ] 파이프라인 문제 5가지 점검 방법
[ ] Alert → 원본 로그로 되돌아가는 절차

11. 핵심 정리

  • SIEM은 수집·정규화·디코딩·상관·Alert의 파이프라인이다.
  • 디코더가 필드를 만들고 룰이 판정한다.
  • 평범한 이벤트도 순서와 빈도로 엮이면 고위험 Alert가 된다.
  • 수집·디코딩·룰 중 하나라도 빠지면 탐지 공백이 생긴다.
  • 분석가는 항상 Alert에서 원본 로그로 되돌아가 교차검증한다.

12. 다음 편 연결

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

0개의 댓글