보안

지원 버전: Cilium 1.16+, Kubernetes 1.28+ 마지막 업데이트: 2026년 2월 22일

개요

Cilium Service Mesh는 eBPF와 SPIFFE를 기반으로 한 강력한 보안 기능을 제공합니다. 투명한 mTLS, ID 기반 네트워크 정책, WireGuard 암호화 등을 통해 제로 트러스트 네트워킹을 구현할 수 있습니다. 이 장에서는 Cilium Service Mesh의 보안 아키텍처와 설정 방법을 자세히 설명합니다.

보안 아키텍처

spinner

투명한 mTLS

사이드카 없는 mTLS

Cilium Service Mesh는 사이드카 프록시 없이 투명한 mTLS를 제공합니다:

spinner

SPIRE 기반 mTLS 설정

# values.yaml - SPIRE 통합 설정
authentication:
  mutual:
    spire:
      enabled: true
      install:
        enabled: true
        namespace: cilium-spire

        server:
          # SPIRE Server 설정
          replicas: 1
          dataStorage:
            enabled: true
            size: 1Gi
            storageClass: gp3

          # Trust Domain 설정
          trustDomain: cluster.local

          # CA 설정
          ca:
            # 내부 CA 사용
            keyType: ec-p256
            ttl: 24h

          # 노드 어트스터 설정
          nodeAttestor:
            k8sPsat:
              enabled: true

        agent:
          # SPIRE Agent 설정
          socketPath: /run/spire/sockets/agent.sock

          # 워크로드 어트스터 설정
          workloadAttestor:
            k8s:
              enabled: true
              disableContainerSelectors: false

mTLS 정책 적용

네임스페이스별 mTLS 설정

서비스별 mTLS 설정

CiliumNetworkPolicy L7 규칙

HTTP L7 보안 정책

Kafka L7 보안 정책

DNS L7 보안 정책

상호 인증 (Mutual Authentication)

인증 모드

상호 인증 정책 예시

SPIFFE ID 기반 인증

암호화

WireGuard 투명 암호화

WireGuard는 Linux 커널 레벨에서 모든 Pod 간 트래픽을 암호화합니다:

WireGuard 아키텍처

spinner

IPsec 암호화

암호화 비교

기능
WireGuard
IPsec

성능

매우 높음

높음

설정 복잡도

낮음

중간

커널 지원

5.6+ (빌트인)

모든 버전

암호화 알고리즘

ChaCha20Poly1305

AES-GCM, 등

키 관리

자동

수동/자동

표준

비표준

IETF 표준

ID 기반 보안

Cilium Identity

Cilium은 IP 대신 ID를 기반으로 보안 정책을 적용합니다:

spinner

Identity 구성 요소

ID 기반 정책

IP vs Identity 비교

spinner

외부 PKI 통합

cert-manager 통합

Vault 통합

제로 트러스트 네트워킹

기본 거부 정책

최소 권한 접근

마이크로세그멘테이션

보안 감사 및 모니터링

정책 감사 모드

정책 위반 모니터링

Prometheus 메트릭

다음 단계

참고 자료

마지막 업데이트