보안 구성

Zero Trust, HCAD 탐지, SecurityPlane 에이전트 설정을 포함한 Contexa 보안 엔진의 구성 속성입니다.

Zero Trust 속성

security.zerotrust 아래의 속성으로, SecurityZeroTrustProperties에 바인딩됩니다. Zero Trust 결정 모드, 핵심 임계값, hot-path 처리, 캐시 기간, 요청 추적 동작을 제어합니다. HCAD는 별도의 hcad 접두사에서 구성합니다.

전체 속성 참조는 메인 구성 페이지를 확인하세요.

관련 문서: Zero Trust 플로우

HCAD 속성

hcad 접두사 아래의 속성으로, HcadProperties에 바인딩됩니다. 계층적 컨텍스트 인식 탐지(HCAD) 필터 파이프라인과 기준선 학습을 구성합니다.

속성 타입 기본값 설명
hcad
.enabled boolean true HCAD 필터 파이프라인 활성화 또는 비활성화
.filter-order int 100 서블릿 필터 체인에서의 HCAD 필터 순서
hcad.resource
.sensitive-patterns List<String> [] 강화된 분석이 필요한 민감 리소스 URL 패턴
hcad.analysis
.max-age-ms long 3600000 캐시된 분석 결과의 최대 보관 시간(ms)
hcad.threshold
.base double 0.7 기본 이상 탐지 임계값
.min double 0.3 적응 조정 후 최소 임계값
.max double 0.95 적응 조정 후 최대 임계값
.adjustment-rate double 0.01 피드백 주기당 임계값 적응 속도
.sensitivity double 1.0 탐지 감도 전역 배율
.warn double 0.7 차단 전 경고 임계값
hcad.cache
.max-size int 100000 캐시된 분석 항목 최대 수
.ttl-ms long 300000 캐시 항목 TTL(밀리초)
.clear-on-startup boolean false 애플리케이션 시작 시 모든 캐시 항목 삭제
.local.ttl-minutes int 10 로컬 캐시 TTL(분)
hcad.baseline
.min-confidence double 0.3 기준선 데이터 최소 신뢰도
.update-alpha double 0.1 기준선 업데이트용 지수이동평균 알파
.learning.enabled boolean true 실시간 트래픽으로부터의 기준선 학습 활성화
.learning.alpha double 0.1 온라인 기준선 적응 학습률
.bootstrap.enabled boolean true 초기 기준선 구축을 위한 부트스트랩 모드 활성화
.bootstrap.initial-samples int 10 적용 전 필요한 초기 샘플 수
.bootstrap.max-anomaly-score double 0.85 부트스트랩 단계 최대 이상 점수
.statistical.enabled boolean true 통계적 기준선 분석 활성화
.statistical.min-samples int 20 통계 분석 최소 샘플 수
.statistical.z-score-threshold double 3.0 이상치 탐지 Z-점수 임계값
.redis.ttl-days int 30 Redis 기준선 데이터 TTL(일)
hcad.feedback
.learning-rate double 0.1 임계값 조정을 위한 피드백 루프 학습률
.retrain-threshold double 0.7 모델 재학습을 트리거하는 정확도 임계값
.window-size int 1000 피드백 수집 슬라이딩 윈도우 크기
hcad.orchestrator
.enabled boolean true 조율된 분석을 위한 HCAD 오케스트레이터 활성화
.feedback-interval int 300 피드백 처리 간격(초)
.sync-batch-size int 50 기준선 동기화 배치 크기
hcad.vector
.embedding-dimension int 384 행동 분석용 임베딩 벡터 차원
.similarity-threshold double 0.85 행동 패턴 매칭 유사도 임계값
.scenario-detection-enabled boolean true 벡터 기반 시나리오 이상 탐지 활성화
hcad.session
.cookie-name String JSESSIONID HCAD 추적용 세션 쿠키 이름
.header-name String X-Session-Id 무상태 모드에서의 세션 ID 헤더 이름
hcad.signal
.chi-square-threshold double 14.07 신호 이상 탐지 카이제곱 임계값
.history-size int 100 보관할 과거 신호 수
.geoip.provider String api GeoIP 제공자: api 또는 local
hcad.adaptive
.adjustment-rate double 0.1 적응형 임계값 조정 속도
.cusum.threshold double 5.0 CUSUM 변화점 탐지 임계값
.cusum.slack double 0.5 CUSUM 드리프트 허용 슬랙 파라미터
.baseline.window int 100 적응형 기준선 윈도우 크기
hcad.geoip
.enabled boolean false GeoIP 기반 위치 분석 활성화
.db-path String data/GeoLite2-City.mmdb MaxMind GeoLite2 데이터베이스 파일 경로
hcad.redis
.key-prefix String hcad:baseline:v2: HCAD 기준선 데이터의 Redis 키 접두사

현재 OSS 코드에 추가로 존재하는 HCAD 필드

속성기본값설명
hcad.baseline.statistical.update-interval10통계 기준선 갱신 간격
hcad.feedback.baseline.update-threshold0.95피드백을 기준선에 반영하는 임계값
hcad.orchestrator.performance-trackingtrue오케스트레이터 성능 추적 활성화
hcad.vector.cache-ttl-hours24행동 임베딩 캐시 TTL(시간)
hcad.vector.max-cached-embeddings1000캐시할 임베딩 최대 수
hcad.signal.covariance.min-samples30공분산 분석 최소 샘플 수
hcad.signal.geoip.api-urlhttps://ipapi.co/{ip}/json/원격 GeoIP API URL 템플릿
hcad.signal.timing.bucket-count7타이밍 버킷 수
hcad.signal.timing.interval.history-size100타이밍 구간 이력 크기
hcad.sampling.random.floor0.01최소 랜덤 샘플링 비율
hcad.sampling.random.ceiling0.03최대 랜덤 샘플링 비율
hcad.sampling.composite.identifier.enabledtrue복합 식별자 샘플링 활성화
hcad.similarity.hot-path-threshold0.7hot-path 판단에 사용하는 유사도 임계값
hcad.adaptive.min.trust.score0.7적응형 제어 최소 신뢰 점수
hcad.pre-trigger.enabledtrue전체 분석 전 pre-trigger 휴리스틱 활성화
hcad.pre-trigger.cooldown-seconds15반복 pre-trigger cooldown
hcad.pre-trigger.in-flight-ttl-seconds15in-flight pre-trigger TTL
hcad.pre-trigger.negative-cache-seconds3negative cache 유지 시간
hcad.pre-trigger.redline-score70redline 위험 점수
hcad.pre-trigger.high-risk-score50고위험 임계값
hcad.pre-trigger.medium-risk-score30중위험 임계값
hcad.pre-trigger.low-baseline-confidence-threshold0.35낮은 기준선 신뢰도 임계값
hcad.pre-trigger.failed-login-burst-threshold3실패 로그인 폭주 임계값
hcad.pre-trigger.request-burst-threshold12요청 폭주 임계값
hcad.pre-trigger.rapid-request-interval-ms1000급격한 요청 간격 윈도우

구성 예제

YAML
hcad:
  enabled: true
  filter-order: 100
  resource:
    sensitive-patterns:
      - /admin/api/security-test/sensitive/**
      - /admin/api/security-test/critical/**
  threshold:
    base: 0.7
    sensitivity: 1.0
  baseline:
    learning:
      enabled: true
      alpha: 0.1
    bootstrap:
      enabled: true
      initial-samples: 10
  geoip:
    enabled: false
    db-path: data/GeoLite2-City.mmdb

Security Plane 속성

security.plane 아래의 속성으로, SecurityPlaneProperties에 바인딩됩니다. 분산 security-plane agent, Kafka 토픽, Redis relay, 모니터링 배치, deduplication 윈도우, 비동기 보안 분석에 사용하는 LLM executor pool을 구성합니다.

속성타입기본값설명
security.plane.agent
.nameStringSecurityPlaneAgent-1에이전트 인스턴스 이름
.auto-startbooleantrue기동 시 자동 시작
.organization-idStringdefault-org분산 배포 조직 ID
.execution-modeStringASYNC에이전트 실행 모드
.auto-approve-low-riskbooleanfalse저위험 자동 승인 여부
.event-timeout-mslong30000이벤트 처리 타임아웃
.max-deferred-retriesint3지연 재시도 최대 횟수
security.plane.kafka
.bootstrap-serversStringlocalhost:9092Kafka bootstrap servers
.group-idStringsecurity-plane-consumerKafka consumer group id
.topics.security-eventsStringsecurity-events보안 이벤트 토픽
.topics.threat-indicatorsStringthreat-indicators위협 지표 토픽
.topics.network-eventsStringnetwork-events네트워크 이벤트 토픽
.topics.auth-eventsStringauth-events인증 이벤트 토픽
security.plane.monitor
.queue-sizeint10000이벤트 큐 용량
.batch-sizeint8모니터링 배치 크기
.flush-interval-mslong500배치 flush 간격
.correlation-window-minutesint10상관관계 윈도우
.dedup-window-minutesint5중복 제거 윈도우
security.plane.notifier
.batch-sizeint10알림 배치 크기
.async-enabledbooleantrue비동기 알림 전송 활성화
.critical-thresholddouble0.8치명 알림 임계값
security.plane.redis
.batch-sizeint50Redis publish 배치 크기
.cache.ttl-minutesint60Redis relay 캐시 TTL
.channel.security-eventsStringsecurity:events보안 이벤트 Redis 채널
.channel.threat-alertsStringsecurity:threats위협 알림 Redis 채널
security.plane.llm-executor
.core-pool-sizeint2LLM 분석 코어 스레드 수
.max-pool-sizeint2LLM 분석 최대 스레드 수
.queue-capacityint50대기 중인 LLM 작업 큐 용량
security.plane.deduplication
.enabledbooleantrue중복 제거 활성화
.window-minutesint5중복 제거 윈도우
.cache-sizeint10000중복 제거 캐시 크기
YAML
security:
  plane:
    agent:
      name: SecurityPlaneAgent-1
      auto-start: true
      organization-id: default-org
      execution-mode: ASYNC
      auto-approve-low-risk: false
      event-timeout-ms: 30000
      max-deferred-retries: 3
    llm-executor:
      core-pool-size: 2
      max-pool-size: 2
      queue-capacity: 50
    deduplication:
      enabled: true
      window-minutes: 5
      cache-size: 10000

관련 문서: Zero Trust 플로우, SOAR 참조

세션 보안 속성

security.session 아래의 속성으로, SecuritySessionProperties에 바인딩됩니다. 토큰 생성, 헤더/베어러 추출, hijack 이벤트 wiring, 쿠키 이름, 세션 이상 탐지에 사용하는 위험 임계값을 구성합니다.

속성타입기본값설명
security.session.create.allowedbooleantrue세션/토큰 생성 허용
security.session.header.nameStringX-Auth-Token토큰 전달 헤더 이름
security.session.bearer.enabledbooleantrueBearer 토큰 파싱 활성화
security.session.cookie.nameStringSESSION세션 쿠키 이름
security.session.hijack.channelStringsecurity:session:hijack:eventHijack 이벤트 채널 이름
security.session.hijack.detection.enabledbooleantrueHijack 탐지 활성화
security.session.threat.ip-change-riskdouble0.4IP 변경 위험 가중치
security.session.threat.ua-change-riskdouble0.3User-Agent 변경 위험 가중치
security.session.threat.rapid-access-threshold-msint100짧은 간격 접근 임계값
security.session.threat.rapid-access-riskdouble0.2짧은 간격 접근 위험 가중치
security.session.threat.thresholds.monitoringdouble0.5모니터링 임계값
security.session.threat.thresholds.grace-perioddouble0.7유예 구간 임계값
security.session.threat.thresholds.invalidationdouble0.9세션 무효화 임계값

관련 문서: 상태 관리 참조