보안 구성

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

Zero Trust 속성

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

속성타입기본값설명
security.zerotrust
.enabledbooleantrueZero Trust 엔진 활성화
.modeSecurityModeENFORCE실행 모드: SHADOW(관찰) 또는 ENFORCE(차단)
.max-block-mfa-attemptsint2차단 우회 MFA 최대 시도 횟수
security.zerotrust.sampling
.ratedouble1.0요청 샘플링 비율 (0.0–1.0)
security.zerotrust.hotpath
.enabledbooleantruehot-path 빠른 결정 활성화
security.zerotrust.thresholds
.skipdouble0.3점검 생략 임계값 (이하)
.optionaldouble0.5선택적 인증 임계값
.requireddouble0.7필수 인증 임계값
.strictdouble0.9엄격 차단 임계값
security.zerotrust.protectable
.rapid-reentry-window-mslong5000보호 자원 재진입 윈도우(ms)
security.zerotrust.redis
.timeoutint5Redis 작업 타임아웃(초)
.update-interval-secondsint30Redis 상태 업데이트 간격(초)
security.zerotrust.threat
.initialdouble0.3초기 위협 점수
security.zerotrust.cache
.ttl-hoursint24결정 캐시 TTL(시간)
.session-ttl-minutesint30세션 캐시 TTL(분)
.invalidated-ttl-minutesint60무효화 캐시 TTL(분)
security.zerotrust.session
.tracking-enabledbooleantrue세션 추적 활성화

관련 문서: 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급격한 요청 간격 윈도우
hcad.pre-trigger.sensitive-path-indicators[/admin/, /export, /download, /sensitive/, /critical/]민감 경로 패턴 (포함 매칭)

구성 예제

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세션 무효화 임계값

관련 문서: 상태 관리 참조

라우터 속성

security.router 아래의 속성으로, SecurityRouterProperties에 바인딩됩니다. 이벤트 라우팅 결정에 사용하는 점수 임계값을 정의합니다 (SOAR 자동화 / 차단 / 분석 신뢰도 / pass-through).

속성타입기본값설명
security.router.threshold
.soardouble0.9SOAR 자동 대응 임계값
.blockdouble0.8차단 결정 임계값
.analysis-confidencedouble0.6분석 결과 채택 신뢰도 임계값
.pass-throughdouble0.6pass-through 허용 임계값

이벤트 속성

security.event 아래의 속성으로, SecurityEventProperties에 바인딩됩니다. 이벤트 발행 게이트, 비동기 executor pool, 계층별 지연 예산, 중복 제거 캐시를 구성합니다.

속성타입기본값설명
security.event.publishing
.enabledbooleantrue이벤트 발행 활성화
.exclude-urisString/actuator,/health,/metrics발행 제외 URI 목록(쉼표 구분)
.anonymous.enabledbooleantrue익명 사용자 이벤트 발행 활성화
security.event.executor
.core-pool-sizeintcores × 2이벤트 처리 코어 스레드 수
.max-pool-sizeintcores × 4최대 스레드 수
.queue-capacityint10000대기 큐 용량
security.event.tier
.critical.max-latency-msint100치명 이벤트 처리 지연 한계(ms)
.contextual.max-latency-msint1000컨텍스트 이벤트 지연 한계(ms)
.general.max-latency-msint10000일반 이벤트 지연 한계(ms)
.general.sampling-ratedouble0.1일반 이벤트 샘플링 비율
security.event.deduplication
.enabledbooleantrue중복 제거 활성화
.window-minutesint5중복 제거 윈도우(분)
.cache-sizeint10000중복 제거 캐시 크기

콜드패스 속성

security.coldpath 아래의 속성으로, SecurityColdPathProperties에 바인딩됩니다. 비동기 LLM 분석 경로의 계층별 신뢰도 기준값을 정의합니다.

속성타입기본값설명
security.coldpath.confidence
.layer1-basedouble0.51계층 분석 기본 신뢰도
.layer2-basedouble0.72계층 분석 기본 신뢰도

파이프라인 속성

security.pipeline 아래의 속성으로, SecurityPipelineProperties에 바인딩됩니다. 보안 이벤트 파이프라인의 Redis · Kafka 전송 경로를 구성합니다.

속성타입기본값설명
security.pipeline.kafka
.topicStringsecurity-events파이프라인이 publish 할 Kafka 토픽 이름

참고: security.pipeline.redis 는 빈 marker 그룹입니다. 실제 Redis 동작은 security.plane.redis · security.zerotrust.redis 에서 구성합니다.