Part 6: 보안 및 가시성

지원 버전: Cilium 1.18 마지막 업데이트: 2026년 2월 22일

실습 환경 설정

이 문서의 예제를 따라하기 위해서는 다음과 같은 도구와 환경이 필요합니다:

필수 도구

  • kubectl v1.31 이상

  • 작동하는 Kubernetes 클러스터 (EKS, minikube, kind 등)

  • Cilium CLI

  • Hubble CLI

Hubble 설치 및 설정

# Hubble 활성화
cilium hubble enable --ui

# Hubble CLI 설치
export HUBBLE_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/hubble/master/stable.txt)
curl -L --remote-name-all https://github.com/cilium/hubble/releases/download/$HUBBLE_VERSION/hubble-linux-amd64.tar.gz
tar xzvfC hubble-linux-amd64.tar.gz /usr/local/bin
rm hubble-linux-amd64.tar.gz

# Hubble 포트 포워딩 설정
cilium hubble port-forward &

# Hubble 연결 확인
hubble status

Cilium의 보안 기능

Cilium은 eBPF를 활용하여 컨테이너화된 환경을 위한 강력한 보안 기능을 제공합니다. 이러한 기능은 네트워크 계층부터 애플리케이션 계층까지 포괄적인 보안을 제공합니다.

Cilium 보안 아키텍처

spinner

네트워크 보안 기능:

  1. 마이크로세그멘테이션:

    • 세분화된 네트워크 정책으로 횡적 이동 방지

    • 최소 권한 원칙 적용

    • 서비스 간 통신 제한

  2. 암호화:

    • 노드 간 IPsec 또는 WireGuard 암호화

    • 전송 중 데이터 보호

    • 투명한 암호화 구현

  3. 위협 탐지:

    • 비정상적인 네트워크 활동 탐지

    • 알려진 공격 패턴 식별

    • 실시간 알림 및 대응

  4. DNS 보안:

    • DNS 기반 네트워크 정책

    • 악성 도메인 차단

    • DNS 요청 모니터링

애플리케이션 보안 기능:

  1. API 인식 보안:

    • HTTP 메서드, 경로, 헤더 기반 필터링

    • gRPC 메서드 및 메타데이터 기반 필터링

    • Kafka 주제 및 작업 기반 필터링

  2. ID 기반 보안:

    • 서비스 ID 기반 정책

    • 상호 TLS(mTLS) 통합

    • SPIFFE/SPIRE 통합

  3. 런타임 보안:

    • 프로세스 및 시스템 콜 모니터링

    • 컨테이너 이스케이프 탐지

    • 권한 에스컬레이션 방지

보안 정책 예제:

Hubble을 통한 네트워크 가시성

핵심 개념: Hubble은 Cilium의 관찰성 계층으로, eBPF를 활용하여 네트워크 흐름을 실시간으로 모니터링하고 분석합니다.

Hubble은 Cilium의 관찰성 계층으로, eBPF를 활용하여 네트워크 흐름을 실시간으로 모니터링하고 분석합니다. 이를 통해 네트워크 문제 해결, 보안 모니터링, 성능 분석 등 다양한 용도로 활용할 수 있습니다.

암호화 구성:

네트워크 가시성 및 모니터링

Cilium은 Hubble을 통해 컨테이너화된 환경에서 포괄적인 네트워크 가시성 및 모니터링 기능을 제공합니다. 이를 통해 네트워크 흐름을 실시간으로 관찰하고 문제를 해결할 수 있습니다.

Hubble 아키텍처:

Hubble 구성 요소:

  1. Hubble 서버:

    • Cilium 에이전트와 통합

    • eBPF 맵에서 네트워크 흐름 데이터 수집

    • 로컬 API 엔드포인트 제공

  2. Hubble Relay:

    • 여러 Hubble 서버의 데이터 집계

    • 클러스터 전체 가시성 제공

    • gRPC API 엔드포인트 제공

  3. Hubble UI:

    • 네트워크 흐름 시각화

    • 서비스 의존성 맵

    • 대화형 쿼리 인터페이스

  4. Hubble CLI:

    • 명령줄 인터페이스

    • 네트워크 흐름 쿼리 및 필터링

    • 문제 해결 도구

Hubble 설치:

Hubble CLI 사용 예제:

Hubble 아키텍처 및 활용

Hubble은 Cilium의 eBPF 기반 관찰 가능성 계층으로, 컨테이너 네트워크의 심층적인 가시성을 제공합니다. Hubble은 네트워크 흐름, 애플리케이션 프로토콜, 보안 이벤트 등에 대한 실시간 정보를 제공합니다.

Hubble 데이터 흐름:

  1. 데이터 수집:

    • eBPF 프로그램이 네트워크 이벤트 캡처

    • 패킷 메타데이터 추출

    • 연결 추적 정보 수집

  2. 데이터 처리:

    • 흐름 레코드 생성

    • L7 프로토콜 파싱

    • 메트릭 집계

  3. 데이터 저장:

    • 링 버퍼에 임시 저장

    • 선택적 영구 저장소 지원

    • 메트릭 내보내기

  4. 데이터 쿼리:

    • 실시간 흐름 관찰

    • 필터링 및 집계

    • 시각화 및 분석

Hubble 메트릭:

Hubble은 다양한 메트릭을 수집하여 네트워크 성능 및 보안 상태를 모니터링할 수 있습니다:

  • TCP/IP 메트릭: 연결 수, 재전송, RTT

  • HTTP 메트릭: 요청 수, 응답 코드, 지연 시간

  • DNS 메트릭: 쿼리 수, 응답 코드, 지연 시간

  • 보안 메트릭: 정책 결정, 드롭된 패킷, 보안 이벤트

  • 서비스 메트릭: 서비스 간 통신, 로드 밸런싱 결정

Prometheus 통합:

Hubble은 Prometheus와 통합하여 네트워크 메트릭을 수집하고 모니터링할 수 있습니다:

Grafana 대시보드:

Hubble은 Grafana와 통합하여 네트워크 메트릭을 시각화할 수 있습니다:

  1. 네트워크 개요 대시보드:

    • 전체 네트워크 트래픽 볼륨

    • 프로토콜 분포

    • 상위 통신 엔드포인트

  2. 서비스 맵 대시보드:

    • 서비스 간 의존성 시각화

    • 통신 패턴 분석

    • 서비스 상태 모니터링

  3. 보안 대시보드:

    • 정책 결정 시각화

    • 드롭된 패킷 분석

    • 보안 이벤트 추적

  4. HTTP 대시보드:

    • 엔드포인트별 요청 볼륨

    • 응답 코드 분포

    • 지연 시간 분포

실시간 위협 탐지

Cilium과 Hubble은 eBPF를 활용하여 실시간 위협 탐지 기능을 제공합니다. 이를 통해 네트워크 기반 공격을 탐지하고 대응할 수 있습니다.

탐지 가능한 위협 유형:

  1. 네트워크 스캔:

    • 포트 스캔 탐지

    • 서비스 열거 시도

    • 무차별 대입 공격

  2. 비정상적인 트래픽 패턴:

    • 갑작스러운 트래픽 증가

    • 비정상적인 프로토콜 사용

    • 비정상적인 연결 패턴

  3. 정책 위반:

    • 허용되지 않은 서비스 간 통신

    • 허용되지 않은 외부 연결

    • 허용되지 않은 프로토콜 사용

  4. 알려진 공격 패턴:

    • SQL 인젝션 시도

    • XSS(Cross-Site Scripting) 시도

    • 명령 인젝션 시도

위협 탐지 구성:

위협 대응 자동화:

Cilium은 탐지된 위협에 대한 자동 대응을 구성할 수 있습니다:

  1. 자동 차단:

    • 악성 IP 주소 차단

    • 비정상적인 포드 격리

    • 악성 도메인 차단

  2. 속도 제한:

    • 과도한 요청 제한

    • 연결 수 제한

    • 대역폭 제한

  3. 알림 및 로깅:

    • Slack, PagerDuty 등으로 알림

    • 중앙 로깅 시스템으로 로그 전송

    • 보안 정보 및 이벤트 관리(SIEM) 통합

위협 탐지 모니터링:

실습: Hubble 설치 및 활용

1. Hubble 설치 및 구성:

2. 네트워크 정책 적용 및 모니터링:

3. 서비스 의존성 맵 생성:

4. 보안 이벤트 모니터링:

메인 페이지로 돌아가기

퀴즈

이 장에서 배운 내용을 테스트하려면 주제 퀴즈를 풀어보세요.

마지막 업데이트