728x90
반응형
5. Generator Settings
Generator는 실제 이벤트(payload)를 생성하는 컴포넌트이며,
샘플 파일의 원본 문자열을 어떻게 처리할지 정의한다.
Generator 종류에 따라 필요한 stanza 설정과 지원 기능이 달라진다.
5.1 generator
generator = default | <plugin>
| 값 | 설명 |
|---|---|
default |
eventgen.conf 기반 synthetic 생성 |
replay |
샘플 timestamp 기반 이벤트 재생 |
perdayvolumegenerator |
일일 볼륨 중심 생성 |
cweblog |
CW 웹로그 전용 |
jinja |
jinja 템플릿 기반 생성 |
💡 실사용 해설:default는 가상 로그 생성(synthetic)에 적합하고,replay는 공격/사고 타임라인 재현에 적합하다.
즉, 목적에 따라 Generator를 바꿔야 한다.
5.2 mode
mode = sample | replay
| mode | 역할 | 적합한 용도 |
|---|---|---|
sample |
count 기반 synthetic 생성 | baseline / 정상 트래픽 |
replay |
timestamp 기반 재생 | 공격 / 사건 / 타임라인 |
💥 ES 기준 핵심:
Incident Review, Timeline, RBA 시연은 보통replay로 해야 “진짜처럼” 보인다.
5.3 sampletype
sampletype = raw | csv
| sampletype | 설명 | 추가 기능 |
|---|---|---|
raw |
기본 log 문자열 | token 대체 |
csv |
CSV에서 _raw 필드 사용 | host/source/sourcetype override |
💡 CSV가 좋은 상황:
보안 로그에서host,source,sourcetype등을 바꿔 다중 자산 시뮬레이션이 필요할 때 유리하다.
예)
ulink-srv01 → ulink-srv24
10.0.3.20 → 10.0.3.41
5.4 timezone
timezone = local | <offset>
timezone = +0900 # KST
timezone = -0500 # EST
🌍 중요한 이유:
ES는 Incident Timeline에서 timestamp 정렬이 중요하므로
timezone mismatch가 나면 공격 흐름이 깨져 보인다.
5.5 earliest & latest
earliest = <time-str>
latest = <time-str>
earliest = -2h
latest = now
🧠 역할:
Generator가 랜덤 timestamp를 범위 내에서 생성하도록 제한한다.
이 기능은 baseline traffic 시뮬레이션에서 특히 유용하다.
5.6 Default Generator Advanced Settings
이 섹션은 특히 replay mode에서 강력하다.
5.6.1 timeMultiple
timeMultiple = <float>
예:
timeMultiple = 2
의미: > 원본 timestamp 간격 × 2배로 늘려 재생 또는
timeMultiple = 0.5
의미: > 원본보다 2배 빠르게 재생
💥 ES 교육 데모에서 매우 유용:---
day-scale 공격을 minute-scale로 압축하여 시연 가능
5.6.2 timeField
timeField = timestamp
CSV replay 시 특정 컬럼을 timestamp로 사용.
예:timeField = event_time
5.6.3 backfill
backfill = -24h
Splunk의 상대 시간 형식 사용 (-48h, -2d 등)
🔥 ES에서 최고 강력한 기능 중 하나:---
과거 공격 타임라인을 즉시 채워 넣을 수 있음
→ Detection tuning + incident reconstruction + 교육에 최적
5.6.4 backfillSearch
splunkstream 사용 시 backfill 범위를 자동 계산하기 위한 검색
예:backfillSearch = index=proxy sourcetype=zscaler earliest=-7d | head 1
이 경우: > 마지막 이벤트 시점 이후로 backfill 수행 ---
5.6.5 randomizeEvents
sample 행 순서를 무작위로 shuffle
💡 이 기능은 multi-user 또는 multi-asset 트래픽에서 현실감을 높여줌---
5.7 breaker
샘플 파일을 이벤트 단위로 쪼개는 regex
예:breaker = \n
⚠️ 주의: props.conf의 LINE_BREAKER와 다름---
5.8 Generator와 Rater의 관계
둘의 역할은 명확히 구분된다:
| 컴포넌트 | 질문 | 답 |
|---|---|---|
| Rater | 얼마나? | count/rate/volume |
| Generator | 어떻게? | timestamp/replay/format |
5.9 Generator 선택 전략 (ES 기준)
| 목표 | 추천 설정 |
|---|---|
| Baseline | sample + rater |
| Incident 시연 | replay + timeMultiple |
| 과거 공격 백필 | replay + backfill |
| SIEM 교육/보고서 | replay + CSV + timeField |
| 성능/부하 | sample + perDayVolume |
5.10 결론
Generator는 Eventgen의 “동작 방식”을 결정하며,
Rater는 “양”을 조절하고,
Timer는 “언제”를 정의한다.
728x90
반응형
'Splunk > Splunk Dev' 카테고리의 다른 글
| EventGen | Token Settings (0) | 2026.01.27 |
|---|---|
| EventGen | Rater Settings (0) | 2026.01.27 |
| EventGen | Stanza Configuration Settings (0) | 2026.01.27 |
| EventGen | Global Settings (0) | 2026.01.27 |
| EventGen | Config 기본 개념 & Stanza (0) | 2026.01.27 |