보안 개요
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
주간 점검 항목
- 취약점 스캔 결과 검토 및 패치 계획
- 정책 예외 검토 및 정리
- 접근 권한 검토 및 정리
- 보안 대시보드 메트릭 분석
월간 점검 항목
- 보안 정책 업데이트
- 취약점 데이터베이스 업데이트
- 보안 교육 및 훈련
- 침해 대응 절차 검토