세계 최초로 cert-manager 버그를 발견하고 해결하기
·2024.02.27 09:00
핵심 내용
데브시스터즈 엔지니어가 cert-manager의 인증 체인 설정 오류 버그를 발견하고 오픈소스에 기여했다.
1 / 2
자세히 보기
데브시스터즈 인프라셀은 Kubernetes 환경에서 Let's Encrypt 인증서를 사용하던 중, 만료된 DST Root CA X3가 포함된 인증 체인이 서빙되어 접속 장애가 발생하는 문제를 겪었다.
이를 해결하기 위해 cert-manager에서 preferredChain 설정을 통해 특정 인증 체인을 명시적으로 지정했으나, 해당 설정값이 무시되고 만료된 CA를 포함한 체인이 계속 반환되는 버그를 확인했다.
조사 결과, Let's Encrypt의 하위 호환성을 위한 크로스 사인(Cross-sign) 구조와 cert-manager의 설정 처리 로직 사이의 충돌이 원인이었다. 특히 구버전 boringSSL과 같이 만료된 CA를 엄격하게 검증하는 라이브러리 환경에서 이 문제가 치명적으로 작용했다.
해당 이슈는 분석을 통해 원인을 파악한 후 오픈소스 기여를 통해 해결되었으며, 이를 통해 인증 체인 설정이 의도대로 동작하지 않던 문제를 바로잡을 수 있었다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.