피드로 돌아가기
Dev.toInfrastructure
원문 읽기
CVSS 9.8 취약점 해결, ingress-nginx에서 Gateway API로의 무중단 전환
ingress-nginx Is Dead: How I Migrated to Gateway API Before It Became a Liability
AI 요약
Context
ingress-nginx의 admission webhook에서 CVSS 9.8 수준의 원격 코드 실행(RCE) 취약점 발생. 이후 권한 상승 및 인증 우회 등 다수의 고위험 CVE가 연속적으로 발견됨. 2026년 3월 저장소 아카이브 처리로 인한 보안 패치 중단 상태.
Technical Solution
- 인프라 관리자, 클러스터 운영자, 앱 개발자의 역할을 분리한 Gateway API의 3계층 모델 도입
- GatewayClass를 통한 로드밸런서 구현체 정의 및 인프라 수준의 기술 결정 분리
- Gateway 리소스를 활용한 리스너, 포트, TLS 인증서 설정 및 네임스페이스별 라우트 접근 제어
- HTTPRoute 설정을 통해 앱 개발자가 플랫폼 팀의 개입 없이 독립적으로 라우팅 규칙을 정의하는 구조
- ingress2gateway 1.0 도구를 활용하여 40개 이상의 Ingress 리소스를 HTTPRoutes로 일괄 변환
- Typed CRD 필드 도입으로 기존 Nginx Annotation의 비표준성 및 검증 부재 문제 해결
Impact
- ingress2gateway 도구를 통해 전체 설정의 85% 자동 변환 완료
Key Takeaway
- 역할 기반의 리소스 분리 설계를 통해 운영 효율성을 높이고 RBAC 기반의 보안 경계를 명확히 정의하는 아키텍처의 중요성.
실천 포인트
Nginx와 Gateway API 구현체 간 Regex 구문 차이를 검증하고, 롤백을 위해 기존 Ingress 리소스를 최소 48시간 유지할 것