728x90
반응형

개요
NetworkPolicies는 Kubernetes 클러스터 내 파드(Pod) 간, 혹은 파드와 외부 간의 네트워크 트래픽을 제어하는 리소스입니다. 네트워크 수준의 보안을 구현하며, 기본적으로 모든 트래픽을 허용하는 Kubernetes 네트워크 모델에서 최소 권한 원칙을 적용할 수 있게 합니다. CNI(Container Network Interface) 플러그인의 지원이 필요하며, 파드의 라벨과 네임스페이스를 기준으로 정책을 적용합니다.
1. 개념 및 정의
| 항목 | 설명 |
| 정의 | 파드 간 또는 외부와의 네트워크 트래픽을 제어하는 정책 |
| 목적 | 네트워크 보안 강화 및 통신 제한 |
| 필요성 | 트래픽 제어 없이는 모든 파드 간 통신 허용됨 |
보안 중심의 네트워크 설계를 위해 필수적인 구성 요소입니다.
2. 특징
| 특징 | 설명 | 비교 |
| 라벨 기반 정책 | 라벨로 대상 파드 정의 | IP 기반 방화벽보다 유연함 |
| 방향성 지정 | 인그레스/이그레스 트래픽 구분 | 인바운드/아웃바운드 별 설정 가능 |
| 네임스페이스 범위 | 다른 네임스페이스와의 트래픽도 제어 가능 | 세분화된 제어 가능 |
유연한 네트워크 보안 제어를 통해 제로 트러스트 아키텍처 구현 가능
3. 구성 요소
| 구성 요소 | 설명 | 예시 |
| Pod Selector | 정책이 적용될 파드를 선택 | matchLabels 로 지정 |
| Ingress / Egress | 트래픽 방향 설정 | 외부 접속 또는 내부 통신 제어 |
| Policy Types | 적용할 트래픽 종류 명시 | ["Ingress"], ["Egress"], 둘 다 가능 |
이 구성 요소를 조합하여 유연한 정책 정의가 가능합니다.
4. 기술 요소
| 기술 | 설명 | 사용 예 |
| CNI 플러그인 | 네트워크 정책을 지원하는 네트워크 인터페이스 | Calico, Cilium, WeaveNet 등 |
| YAML 정책 정의 | 선언적 형식의 정책 적용 | GitOps 환경과도 호환 가능 |
| 라벨 셀렉터 | 정책 적용 대상 파드 지정 방식 | podSelector, namespaceSelector 등 |
지원 여부는 CNI 플러그인에 따라 다르므로 사전 확인 필수
5. 장점 및 이점
| 장점 | 설명 | 효과 |
| 최소 권한 네트워크 | 필요한 트래픽만 허용 | 내부 공격 억제 |
| 정책 기반 접근 | 자동화 및 코드 관리 가능 | 보안 정책 일관성 유지 |
| 유연한 적용 범위 | 파드/네임스페이스 기반 제어 | 멀티테넌시 환경에 적합 |
DevSecOps 환경에서도 높은 활용도를 보입니다.
6. 주요 활용 사례 및 고려사항
| 사례 | 설명 | 참고사항 |
| 민감 데이터 보호 | 데이터 처리 파드로 향하는 트래픽 제한 | DB 접근 제어에 효과적 |
| 제로 트러스트 구현 | 파드 간 통신을 기본 차단 후 예외 정의 | 점진적 보안 강화 가능 |
| 멀티테넌시 클러스터 | 테넌트 간 네트워크 격리 | 네임스페이스 분리와 함께 적용 |
적용 전 정책 시뮬레이션을 통해 장애 예방 필요
7. 결론
NetworkPolicies는 Kubernetes 환경에서 네트워크 레벨의 접근 제어를 실현하는 핵심 도구입니다. 라벨 및 네임스페이스 기반의 유연한 정책 적용으로, 클러스터 보안 아키텍처를 정교하게 구축할 수 있습니다. CNI 플러그인 지원과 함께 사용할 때 보안 수준을 효과적으로 향상시킬 수 있습니다.
728x90
반응형
'Topic' 카테고리의 다른 글
| Pod Security Standards (PSS) (0) | 2026.01.21 |
|---|---|
| AppArmor(Application Armor) (0) | 2026.01.21 |
| Suricata (0) | 2026.01.20 |
| HashiCorp Boundary (0) | 2026.01.20 |
| HashiCorp Nomad (1) | 2026.01.19 |