sonar-create-batch-rule-batch
입력 레코드로부터 배치 룰을 생성합니다. 생성된 룰은 비활성 상태입니다.
입력 레코드:
- name (필수) - 탐지 시나리오 이름. 중복된 이름은 사용할 수 없습니다
- query (필수) - 룰 쿼리. 저장 전에 파싱 검증합니다
- schedule (필수) - cron 표기. 예: */10 * * * *
- msg (필수) - 이벤트 제목 템플릿. $필드로 로그 필드 값을 넣습니다. 예: SSH 접속: $src_ip -> $dst_ip
- priority (필수) - LOW, MEDIUM, HIGH 중 하나
- description (선택) - 설명
- duration (선택) - 조회 구간(초)
- datetrunc (선택) - 시각 절사 단위(초)
- dataset_guid (선택) - 데이터셋 GUID
- category_guid (선택) - 분류 GUID
- ticket_repo_guid (선택) - 티켓 분류 GUID
- suppress_key (선택) - 중복 제거 기준 템플릿. 예: $src_ip$dst_ip. 조합마다 이벤트 하나가 발생합니다
- event_suppress_interval (선택) - 중복 이벤트 제거 간격(초)
- ticket_suppress_interval (선택) - 중복 티켓 축약 간격(초)
- keep_alive (선택) - true 또는 false
- enabled (선택) - true 또는 false. 지정하지 않으면 false
- mitre_tactics (선택) - MITRE 전술 ID(TA0011 형태). 목록, 공백 구분 문자열, 쉼표 구분 문자열을 받습니다
- mitre_techs (선택) - MITRE 기법 ID(T1071.001 형태). 목록, 공백 구분 문자열, 쉼표 구분 문자열을 받습니다
파싱되지 않는 쿼리는 일정이 처음 발화할 때 실패하므로, 저장 전에 검증합니다.
sonar-create-batch-rule-batch [run=값]
- run=값
- 선택. t로 지정한 경우에만 룰을 생성합니다.
출력 필드
| 필드 | 타입 | 이름 | 설명 |
|---|---|---|---|
| _status | 문자열 | 상태 | 예: success. success(반영됨), applicable(검증은 통과했으나 run=t가 없어 반영되지 않음), failure(거부됨, 사유는 _error) 중 하나입니다. |
| _guid | 문자열 | GUID | 생성된 룰의 GUID |
| _id | 32비트 정수 | ID | 생성된 룰의 ID |
| _error | 문자열 | 오류 | 예: Invalid query at stage 2. 레코드가 거부된 사유 |
| _warning | 문자열 | 경고 | 예: unresolved technique ids: T9999. 생성되었으나 요청 일부가 반영되지 않은 사유 |