대상 : Kubernetes 서비스 이용 고객 (AWS 및 Azure, GCP 등 포함)
최근 Kubernetes의 Ingress-Nginx 컨트롤러에서 심각한 보안 취약점이 발견되어 이를 안내해 드립니다. 이 취약점(CVE-2024-28849, CVE-2023-5043)은 인증되지 않은 공격자가 권한 상승 및 서비스 거부 공격을 수행할 수 있는 위험을 내포하고 있습니다.
취약점 상세 정보
CVE-2024-28849 (CVSS 점수: 8.6 - 심각)
- 영향: Ingress-Nginx 컨트롤러의 Ingress 리소스 처리 과정에서
auth-url
설정을 통해 SSRF(Server-Side Request Forgery) 취약점 발생 - 위험성: 인증되지 않은 공격자가 내부 네트워크에 접근하거나 클러스터 권한 상승 가능
CVE-2023-5043 (CVSS 점수: 7.5 - 높음)
- 영향: Ingress-Nginx 컨트롤러의 경로 정규화 처리 과정에서 발생하는 취약점
- 위험성: URL 경로 조작을 통해 접근 제어 우회 및 민감한 경로에 접근 가능
# 취약점 로직 이해하기
출처 : wizresearch https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities
영향받는 버전
- Ingress-Nginx 컨트롤러: 1.1.0 ~ 1.9.4 버전
- AWS EKS 사용 고객: Amazon EKS Add-on을 통해 설치한 AWS Load Balancer Controller 또는 직접 설치한 Ingress-Nginx 컨트롤러를 사용 중인 모든 고객
필수 조치사항
1. 버전 확인
kubectl get deployment -n ingress-nginx ingress-nginx-controller -o jsonpath='{.spec.template.spec.containers[0].image}'
2. 보안 패치 적용 (최우선 조치)
Ingress-Nginx 컨트롤러를 최신 패치 버전(1.9.5 이상)으로 업데이트:
Helm 사용 시
helm repo update helm upgrade ingress-nginx ingress-nginx/ingress-nginx --namespace ingress-nginx --version 4.9.1
AWS Load Balancer Controller 사용 시
eksctl update addon --name aws-load-balancer-controller --version latest --cluster your-cluster-name
3. 임시 완화 조치 (즉시 업그레이드가 어려운 경우)
- Ingress 리소스에서
auth-url
어노테이션 사용 중지 - 애플리케이션 방화벽(WAF) 규칙 강화
- 네트워크 정책을 통한 Pod 간 통신 제한
AWS 권고사항
AWS는 보안 공지 AWS-2025-006을 통해 다음과 같은 추가 권고사항을 제공합니다:
- EKS 클러스터의 보안 그룹 규칙 검토 및 최소 권한 원칙 적용
- AWS GuardDuty EKS Protection 활성화로 의심스러운 활동 모니터링
- AWS Security Hub를 통한 보안 모범 사례 준수 여부 확인
버전 업그레이드 프로세스
안전한 업그레이드를 위해 다음과 같은 단계적 접근을 권장합니다:
- 테스트/개발 환경 먼저 업그레이드
- 기존 애플리케이션 호환성 검증
- 트래픽 라우팅 정상 작동 확인
- 운영 환경 업그레이드 계획
- 서비스 중단 최소화를 위한 업그레이드 윈도우 설정
- 롤백 계획 수립
- 업그레이드 후 검증
- 로그 분석을 통한 오류 확인
- 트래픽 라우팅 및 인증 흐름 정상 작동 확인
지속적인 보안 관리 방안
이러한 취약점의 재발 방지를 위해 다음 프로세스 수립을 권장합니다:
- Kubernetes 컴포넌트 정기 업데이트 일정 수립
- EKS 버전 및 추가 기능 업데이트 알림 구독
- 보안 스캐닝 도구를 통한 정기적인 취약점 점검
- 클러스터 액세스 제어 및 최소 권한 원칙 강화
* Kuberberntes 운영 관리가 어려우신 경우 저희 베스핀글로벌 Managed Service를 검토 해보시기 바랍니다. [Contact us]
참고자료
[1] - https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities
[2] - https://asec.ahnlab.com/ko/87022/
[3] -
편집