피드로 돌아가기
ingress-nginx Is Dead: How I Migrated to Gateway API Before It Became a Liability
Dev.toDev.to
Infrastructure

CVSS 9.8 취약점 해결, ingress-nginx에서 Gateway API로의 무중단 전환

ingress-nginx Is Dead: How I Migrated to Gateway API Before It Became a Liability

Mateen Anjum2026년 4월 7일8intermediate

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시간 유지할 것

원문 읽기