SIEM · 보안관제 › A. SIEM 구조와 로그 수집 · 39/50편
학습 단계: 저장·파이프라인
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Wazuh 4.x 올인원 / Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
공격자는 흔적을 지우려고 로컬 로그를 삭제·변조합니다. 하지만 로그가 생성 직후 중앙으로 전송되었다면, 로컬에서 지워도 SIEM에는 남습니다. 이것이 SIEM의 가장 중요한 가치 중 하나입니다.
중앙 수집이 지키는 것
03:12:44 sshd 로그인 성공 → (수 초 내) SIEM 전송 ✔
03:13:10 sudo -i → SIEM 전송 ✔
03:20:00 > /var/log/secure (삭제) → 로컬 기록 소멸
SIEM 사본은 유지 ✔
03:20:05 에이전트 중지 → 이후 로그는 SIEM에 없음 ✘
공백이 생기는 경우
· 수집 지연이 길어 삭제가 전송보다 먼저
· 에이전트·전송이 먼저 차단된 경우
· 메모리·버퍼에 남은 이벤트 유실
핵심: 전송이 삭제보다 빠르면 증거는 남는다 — 실시간성이 무결성이다
중앙에 수집된 로그도 SIEM 관리자 권한으로는 수정·삭제가 가능합니다. 그래서 증거로 쓰일 데이터는 접근 권한 분리, 스냅샷, 해시 기록으로 추가 보호합니다.
| 보호 수단 | 목적 |
|---|---|
| 실시간 전송 | 삭제 전 확보 |
| 권한 분리 | SIEM 관리자 단독 삭제 방지 |
| 스냅샷 | 시점 고정 사본 |
| 해시 기록 | 사후 변조 확인 |
# 로컬과 중앙 로그 비교로 삭제 구간 찾기 (분석 방법)
# 로컬 secure 의 sshd 이벤트 수(최근 1일)
sudo grep -c 'sshd\[' /var/log/secure
# 중앙(alerts.json)에서 같은 호스트 sshd 계열 Alert 수
sudo jq -r 'select(.agent.name=="web01" and (.decoder.parent=="sshd" or .decoder.name=="sshd")) | .timestamp' /var/ossec/logs/alerts/alerts.json | wc -l
# 증거 보존: 조사 대상 Alert 추출본 해시
sudo jq -c 'select(.agent.name=="web01")' /var/ossec/logs/alerts/alerts.json > /root/ir/web01_alerts.json && sha256sum /root/ir/web01_alerts.json
로컬과 중앙 사이 시간대별 이벤트 분포가 일치(Alert화 비율 차이만 존재)
로컬 로그와 중앙 로그의 시간대 분포가 일관되고, 중앙 쪽 공백 구간이 없는 상태가 정상입니다.
중앙: 03:12~03:20 sshd·sudo Alert 존재
로컬 /var/log/secure: 03:00~03:25 구간 내용 없음(파일 크기 감소)
삭제 구간 확인 흐름입니다(가상의 예시).
[중앙 로그] 시간대별 이벤트 분포
↓
[로컬 로그] 같은 시간대 분포·파일 크기 변화
↓
중앙 有 / 로컬 無 → 로컬 삭제
중앙 無 / 로컬 有 → 수집 공백
둘 다 無 → 수집 전 차단 또는 행위 없음(추가 증거 필요)
↓
[증거 고정] 추출·해시·스냅샷
| 비교 결과 | 의미 |
|---|---|
| 중앙만 존재 | 로컬 삭제 |
| 로컬만 존재 | 수집 공백 |
| 둘 다 없음 | 차단 또는 무활동 |
"둘 다 없음" 구간은 에이전트 끊김(007편)·소스 침묵(020편) 기록과 함께 보아야 공격자의 사전 차단인지 판단할 수 있습니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,siem_a,">
<rule id="110380" level="13">
<decoded_as>ossec</decoded_as>
<match type="pcre2">(?i)file size reduced|log file.*(truncat|rotated unexpectedly)</match>
<description>로그 파일 크기 감소·비정상 회전(로컬 로그 삭제 의심)</description>
<mitre><id>T1070.002</id></mitre>
</rule>
</group>
logcollector가 감시 중인 파일의 크기가 줄어드는 상황을 남기는 메시지를 경보하는 예시입니다. 메시지 문구는 버전별로 다르므로 실제 ossec.log에서 확인한 뒤 패턴을 맞춥니다.
| 원리 | 내용 |
|---|---|
| 중앙 수집 | 삭제 전 확보 |
| 공백 | 지연·차단 시 발생 |
| 비교 | 중앙 vs 로컬 |
| 보존 | 해시·스냅샷·권한 분리 |
| 면접 포인트 | "전송이 삭제보다 빠르면 증거는 남는다 — 실시간성이 곧 무결성" |
다음 편 040. SIEM·로그 수집 — 수집 아키텍처 종합 점검 — 소스에서 저장까지 에서는 031~039편을 포함해 수집·정규화·저장 파이프라인 전체를 하나의 점검표로 종합하고, 구간별 장애 증상과 확인 순서를 정리합니다.
이전 편: 038. SIEM·로그 수집 — 로그 전송 보안 — TLS와 인증
📚 시리즈 전체 보기: SIEM · 보안관제