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