046. SIEM·로그 수집 — SIEM 성능 튜닝 — 노이즈 로그 필터링

changseop lee·4일 전

SIEM · 보안관제 › A. SIEM 구조와 로그 수집 · 46/50편
학습 단계: 검색·대시보드·운영
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Wazuh 4.x 올인원 / Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

SIEM 용량·성능 문제의 상당수는 탐지에 쓰이지 않는 대량 로그에서 옵니다. 하지만 무작정 줄이면 사고 조사 때 필요한 로그까지 사라집니다. 그래서 "무엇을, 어디서, 얼마나" 줄일지 근거를 갖고 결정합니다.

노이즈 줄이는 위치 3가지
 ① 수집 단계(에이전트)
    localfile 필터·제외 → SIEM에 아예 안 옴(용량·EPS 절감, 조사 불가)
 ② 분석 단계(룰 레벨 0)
    level 0 룰로 Alert 생성 안 함 → archives에는 남음(설정 시)
 ③ 표시 단계(대시보드 필터)
    저장은 하되 화면에서만 제외 → 비용 절감 없음, 조사 가능

판단 기준
 · 탐지 룰에 쓰이는가
 · 사고 조사에 필요한가(보존 요구)
 · 양이 얼마나 많은가(상위 10개 소스)

핵심: 조사에 필요한 로그는 "수집 단계"에서 버리지 않는다

대표적인 노이즈는 정상 헬스체크 요청(로드밸런서가 매초 호출하는 /health), 반복되는 정보성 메시지, 디버그 로그입니다. 이런 것은 근거를 남기고 줄이면 됩니다.

2. 왜 중요한가

  • 노이즈를 줄이면 EPS·용량·관제 피로가 함께 줄어듭니다.
  • 잘못 줄이면 탐지·조사 공백이 생깁니다.
  • 줄이는 위치에 따라 비용 효과와 위험이 다릅니다.

3. 핵심 명령어 / 설정

위치비용 절감조사 가능적합한 대상
수집 제외큼불가디버그·헬스체크
룰 level 0중간archives 시 가능정상 반복 이벤트
표시 필터없음가능일시적 소음

4. 실습 (실습 예시)

# 노이즈 상위 소스·룰 찾기 (실습 예시)
sudo jq -r '[.rule.id, .rule.description] | @tsv' /var/ossec/logs/alerts/alerts.json | sort | uniq -c | sort -rn | head -5
sudo jq -r 'select(.rule.id=="31108") | .data.url' /var/ossec/logs/alerts/alerts.json | sort | uniq -c | sort -rn | head -3

5. 정상 상태

상위 룰 비중이 분산(최대 12%)
헬스체크 요청은 수집 단계에서 제외됨(근거: CHG-3010, 탐지 룰 미사용)

특정 룰·소스가 전체를 지배하지 않고, 줄인 노이즈마다 근거 기록이 있으면 튜닝이 잘 된 상태입니다.

6. 이상 상태

상위 룰 1개가 전체 Alert의 61% (웹 4xx 정보성, /health 404 반복)
또는: 튜닝으로 /var/log/secure 의 'Failed password' 를 수집 제외 처리(근거 없음)
  • 단일 노이즈가 화면·용량 지배 → 진짜 Alert 묻힘
  • 반대로 인증 실패 수집 제외 → 무차별 대입 탐지 불가(과도한 튜닝)
  • 튜닝 변경은 근거·승인·회귀 시험이 필요

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

노이즈 튜닝 판단 흐름입니다(가상의 예시).

[상위 10 룰·소스 집계]
   ↓
[용도 확인] 탐지 룰 사용? 조사 필요? 보존 요구?
   ↓
 탐지·조사 모두 불필요 → 수집 제외
 탐지 불필요·조사 필요 → level 0 + archives
 일시적 소음 → 표시 필터
   ↓
[적용] 변경 기록 → 회귀 시험(025편)
   ↓
[재측정] EPS·용량·Alert 분포
실수결과
근거 없는 수집 제외탐지·조사 공백
넓은 조건 level 0공격 이벤트까지 숨김
표시 필터만비용 그대로

level 0 예외 룰은 조건이 넓어지기 쉽습니다. "출발지+경로+상태 코드"처럼 조건을 좁게 잡고, 만료일을 정해 정기 검토합니다.

8. SOC 관제 포인트

  • 튜닝 변경마다 근거·승인자·만료일을 기록합니다.
  • 인증·권한·실행 로그는 수집 제외 대상에서 원칙적으로 뺍니다.
  • 튜닝 전후 EPS·Alert 분포를 비교해 효과를 보고합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,siem_a,">
  <rule id="110450" level="0">
      <if_sid>31101</if_sid>
      <srcip>192.168.56.2</srcip>
      <url>^/health$</url>
      <description>로드밸런서 헬스체크 404 반복(노이즈 예외, 만료 2027-03-31)</description>
    </rule>
</group>

출발지(로드밸런서)·URL·상위 룰을 모두 지정해 좁게 제외하는 예시입니다. 설명에 만료일을 넣어 정기 검토 대상으로 둡니다.

10. 대응 방법

  1. 초기 확인 — 상위 노이즈 룰·소스와 비중을 확인합니다.
  2. 범위 확인 — 해당 로그의 탐지·조사 용도를 확인합니다.
  3. 증거 확보 — 튜닝 근거와 전후 수치를 기록합니다.
  4. 차단/조치 — 적절한 위치에서 좁은 조건으로 줄이고 회귀 시험합니다.
  5. 재발 방지 — 만료일 기반 정기 검토를 운영합니다.

11. 핵심 정리

위치성격
수집 제외효과 큼·조사 불가
level 0중간·archives 가능
표시 필터비용 무관
원칙근거·좁은 조건·만료일
면접 포인트"노이즈는 근거를 갖고 줄인다 — 조사에 필요한 로그는 수집 단계에서 버리지 않는다"

12. 다음 편 예고

다음 편 047. SIEM·로그 수집 — SIEM 운영 체크리스트 — 일일·주간 점검 에서는 A영역에서 다룬 수집·정규화·저장 점검 항목을 일일·주간·월간 체크리스트로 정리해 반복 가능한 SIEM 운영 절차로 만듭니다.


이전 편: 045. SIEM·로그 수집 — 수집 상태 모니터링 대시보드
📚 시리즈 전체 보기: SIEM · 보안관제

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

0개의 댓글