사용자 정의 생성¶
보안 점검 > 보안 이벤트 관리 > 규칙 생성으로 이동하여 생성을 시작합니다.
검사 유형¶
| 필드 | 설명 |
|---|---|
| SIEM | 보안 정보 및 이벤트 관리(Security Information and Event Management) 시스템 내장 쿼리 함수를 기반으로 서로 다른 시스템(예: 서버, 네트워크 장비, 클라우드 서비스, 애플리케이션)의 로그 및 이벤트 데이터를 집계 및 분석하는 보안 기술입니다. |
| CSPM | 클라우드 보안 태세 관리(Cloud Security Posture Management) 클라우드 환경의 구성 위험을 지속적으로 관리하고 줄이기 위한 자동화된 프로세스 및 도구 세트입니다. 핵심은 클라우드 인프라(예: 컴퓨팅 인스턴스, 스토리지 서비스, 네트워크 구성)를 스캔하여 보안 기준 및 규정 준수 표준에 위배되는 잘못된 구성을 자동으로 식별하는 것입니다. |
| ABA | AI 에이전트 행동 분석(Agent Behavior Analytics) AI 에이전트 실행 중 발생하는 비정상 작업, 권한 초과 접근, 민감 데이터 유출 등 고위험 행위를 탐지하는 데 사용됩니다. 탐지 결과는 에이전트 모니터링의 Session, Trace, Tool 및 Skill에서 위험 이벤트와 알림 등급을 표시할 수 있습니다. |
기본 설정¶
검사 빈도¶
규칙은 여기서 설정한 시간 간격(예: 5분마다, 1시간마다)에 따라 한 번씩 실행됩니다. 옵션에는 최근 1분, 최근 5분, 최근 15분, 최근 30분, 최근 1시간, 최근 6시간, 최근 12시간, 최근 24시간이 포함됩니다.
시스템에서 제공하는 위 특정 옵션 외에도 사용자 정의 crontab 작업을 입력하여 초, 분, 시, 일, 월, 주 등의 주기로 예약된 작업 실행을 구성할 수 있습니다.
검사 구간¶
작업을 실행할 때마다 데이터를 쿼리하는 시간 범위를 나타냅니다. 검사 빈도의 영향을 받으며, 선택 가능한 검사 구간이 달라집니다.
| 검사 빈도 | 검사 구간 (드롭다운 옵션) |
|---|---|
| 1m | 1m/5m/15m/30m/1h/3h |
| 5m | 5m/15m/30m/1h/3h |
| 15m | 15m/30m/1h/3h/6h |
| 30m | 30m/1h/3h/6h |
| 1h | 1h/3h/6h/12h/24h |
| 6h | 6h/12h/24h |
| 12h | 12h/24h |
| 24h | 24h |
검사 규칙 정의¶
보안 검사 로직을 정의할 때 스크립트에서 DQL을 사용하여 데이터를 쿼리하고 조건 표현식(예: 필드 일치, 임계값 판단 등)을 정의하여 신호 트리거 로직을 설정할 수 있습니다.
규칙을 직접 작성할 때 다음을 수행할 수 있습니다.
- 텍스트 자동 줄 바꿈 또는 내용 오버플로우 설정
- 단축키를 사용하여 내용 서식 처리
- 원클릭 복사
- 내용 상자에 직접 스크립트 내용 작성
- fx 함수 사용
- 스크립트 테스트
- 전체 화면 스크립트 편집
예시:
# data1,ok = dql("T::re(`.*`):(avg(duration), service, span_id, status) by host limit 1")
# #data2 = dql("T::re(`.*`):(max(duration), service, span_id, status) by host limit 2")
# #result:检测结果,必填,类型 基本类型(字符串、整数、浮点)
# #result = data1.avg(duration)
# #dimension_tags:检测对象,可选,类型 map
# #dimension_tags = {"host":data1['series'][0][0]['tags']['host']}
# #status:等级,可选,类型 枚举,此处若定义优先级大于用户页面定义等级
# #可选值:critical、high、medium、low、info
# status = "high"
# #extra_data:附加属性,可选,类型 map
# #related_data = {"service":"wwwww"}
# #related_data = {"service":data1['series'][0][0]['columns']['service'],
# # "span_id":data1['series'][0][0]['columns']['span_id'],
# # "status":data1['series'][0][0]['columns']['status']}
# #fn trigger(result: int|float|bool|str, level: str = "", dim_tags: map = {}, related_data: map = {})
# #trigger(data1,status,dimension_tags,related_data)
# host = dql_series_get(data1,"host")
# service = dql_series_get(data1,"service")
# status = dql_series_get(data1,"status")
# trigger(data1,status,dimension_tags={"host":host},related_data={"service":service,"status":status})
data1 = dql("T::re(`.*`):(avg(duration), service, span_id, status) by host limit 1")
status = "high"
host = dql_series_get(data1,"host")
#printf("%v", {"host": host_o})
#host_info = dql_series_get(host_o,"host")
#printf("%v", {"host": host_info})
service = dql_series_get(data1,"service")
span_id = dql_series_get(data1,"span_id")
trigger(data1,status,dimension_tags={"host":host[0][0]},related_data={"service":service,"span_id":span_id})
위 스크립트 예시는 크게 세 부분으로 구성됩니다.
-
데이터 쿼리: DQL을 통해 모든 메트릭(
re(.*))을 쿼리하고, 각host그룹별로duration필드의 평균값을 계산하며service,span_id,status필드를 반환합니다.limit 1은 결과를 1개만 반환하도록 지정합니다. -
데이터 처리:
-
알림 트리거:
trigger(data1,status,dimension_tags={"host":host[0][0]},related_data={"service":service,"span_id":span_id})
우선순위가 high인 알림을 트리거함을 나타냅니다. dimension_tags는 검사 대상을 식별하며(여기서는 host를 차원 태그로 사용), related_data는 추가 연결 데이터(service 및 span_id)를 첨부합니다.
참고
스크립트 편집 과정에서 dimension_tags와 related_data 필드만 추가해야 최종 생성된 이벤트에 관련 정보가 표시됩니다.
보안 등급¶
현재 모니터링 규칙의 보안 등급을 선택합니다.
| 등급 | df_status 값 |
|---|---|
| 심각 | critical |
| 높음 | high |
| 중간 | medium |
| 낮음 | low |
| 정보 | info |
참고
검사 규칙에서 조건 판단을 통해 보안 등급을 사용자 정의한 경우(예: status=high), 시스템은 규칙에 정의된 보안 등급을 우선 적용하며, 이때 전역 보안 등급 구성은 더 이상 적용되지 않습니다.
규칙 설명 구성¶
검사 규칙을 추가할 때 검사 결론 및 수정 권장 사항을 입력합니다. 이 내용은 알림 알림의 제목 및 설명으로 전송됩니다.
알림 구성¶
현재 워크스페이스에 있는 기존 알림 정책을 선택하여 연결합니다. 규칙이 활성화되면 선택한 알림 정책에 따라 알림이 트리거됩니다.
권한¶
보안 점검 데이터에 대한 보기 권한을 설정하여 데이터 보안을 강화합니다.
워크스페이스 내에서 "보안 점검"관리 권한이 있는 멤버 역할은 모두 이 규칙을 조작할 수 있습니다.
지정된 멤버만 이 규칙을 조작할 수 있습니다. 워크스페이스 내의 멤버, 역할 및 팀을 선택할 수 있습니다.
