본문으로 건너뛰기

보안 개요

Lumie 인프라의 보안 계층은 정책 집행(Kyverno), 런타임 위협 탐지(Falco), 취약점 스캐닝(Trivy), 제로 트러스트 접근(Teleport), OIDC 인증(Keycloak)으로 구성된 다층 보안 아키텍처를 제공합니다.

보안 아키텍처

보안 구성 요소

정책 엔진

  • Kyverno: Kubernetes 정책 엔진으로 리소스 생성 시 보안 정책 검증
    • 이미지 레지스트리 제한 (Zot 전용)
    • 리소스 제한 강제 (메모리 limits, CPU requests)
    • 보안 컨텍스트 검증 (non-root, 권한 제한)
    • Goldilocks VPA 레이블 강제

런타임 보안

  • Falco: eBPF 기반 런타임 위협 탐지

    • 시스템 콜 모니터링
    • 파일 접근 감시
    • 프로세스 실행 탐지
    • Loki 연동 알림
  • Trivy: 컨테이너 이미지 취약점 스캐닝

    • OS 패키지 취약점 탐지
    • 애플리케이션 의존성 스캔
    • Kubernetes 설정 감사
    • CI/CD 파이프라인 통합

접근 제어

  • Teleport: 제로 트러스트 접근 제어

    • SSH/Kubernetes 접근 관리
    • 웹 애플리케이션 프록시
    • 세션 기록 및 감사
    • 단기 인증서 발급
    • Proxy HA(2 복제본) — 전용 NLB(158.180.89.154) → NodePort :30443
  • Keycloak: OIDC Identity Provider

    • 중앙 인증 관리
    • SSO (Single Sign-On)
    • 소셜 로그인 연동
    • JWT 토큰 발급

시크릿 관리

  • Vault: 중앙 시크릿 관리

    • KV v2 시크릿 스토어
    • 동적 시크릿 생성
    • 정책 기반 접근 제어
    • 감사 로깅
  • VSO (Vault Secrets Operator): Kubernetes 통합

    • VaultStaticSecret CRD를 통해 Vault의 시크릿을 Kubernetes Secret으로 자동 동기화
    • 롤아웃 재시작 트리거 제공

보안 정책

이미지 보안

# 모든 이미지는 내부 Zot 레지스트리에서만 허용
spec:
containers:
- image: zot.lumie-infra.com/library/nginx:latest # ✅ 허용
# - image: docker.io/nginx:latest # ❌ 거부

리소스 보안

# QoS Guaranteed 클래스 강제
spec:
containers:
- resources:
requests:
cpu: 100m
memory: 256Mi
limits:
memory: 256Mi # CPU limit 없음 (throttling 방지)

컨테이너 보안

# 보안 컨텍스트 강제
spec:
containers:
- securityContext:
runAsNonRoot: true
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]

네트워크 보안

  • 내부 서비스는 공개 인그레스 없음
  • Teleport를 통한 접근만 허용
  • Kong Gateway를 통한 API 접근 제어
  • cert-manager를 통한 자동 TLS 인증서 관리

모니터링 및 알림

보안 이벤트 수집

알림 채널

  • Prometheus AlertManager: 메트릭 기반 알림
  • Loki: 로그 기반 알림
  • Grafana: 통합 대시보드
  • Slack/Discord: 웹훅 알림 (선택적)

주요 메트릭

# Kyverno 정책 위반 수
sum(rate(kyverno_policy_rule_execution_duration_seconds_count[5m])) by (policy_name)

# Falco 보안 이벤트 수
sum(rate(falco_events_total[5m])) by (priority)

# Trivy 취약점 수
sum(trivy_operator_vulnerability_id_total) by (severity)

접근 흐름

운영자 접근

애플리케이션 접근

컴플라이언스

보안 표준 준수

  • Pod Security Standards: Restricted 프로필 적용
  • CIS Kubernetes Benchmark: 주요 권장사항 구현
  • NIST Cybersecurity Framework: 식별, 보호, 탐지, 대응, 복구

감사 및 로깅

  • 모든 API 요청 로깅 (Kubernetes Audit Log)
  • 보안 이벤트 중앙 집중화 (Loki)
  • 접근 세션 기록 (Teleport)
  • 정책 위반 추적 (Kyverno Reports)

보안 운영

일일 점검 항목

# 1. 정책 위반 확인
kubectl get cpol -o wide

# 2. 보안 이벤트 확인
kubectl logs -n falco -l app.kubernetes.io/name=falco --tail=100

# 3. 취약점 리포트 확인
kubectl get vulnerabilityreports --all-namespaces

# 4. Teleport 세션 확인
tsh recordings ls --limit=10

주간 점검 항목

  • 취약점 스캔 결과 검토 및 패치 계획
  • 정책 예외 검토 및 정리
  • 접근 권한 검토 및 정리
  • 보안 대시보드 메트릭 분석

월간 점검 항목

  • 보안 정책 업데이트
  • 취약점 데이터베이스 업데이트
  • 보안 교육 및 훈련
  • 침해 대응 절차 검토

관련 문서