목록 보기
세계 최초로 cert-manager 버그를 발견하고 해결하기
데브옵스

세계 최초로 cert-manager 버그를 발견하고 해결하기

데브시스터즈
데브시스터즈
2024년 2월 27일

두줄요약

cert-manager에서 설정한 인증 체인과 실제 발급 결과가 달라지는 버그를 발견하고 원인을 분석했습니다. Let’s Encrypt 체인 변경과 선택 로직 문제를 확인한 뒤 업스트림에 PR을 제출해 머지했습니다.

문제 상황

  • cert-manager에서 preferredChain: ISRG Root X1 설정에도 DST Root CA X3 체인이 발급되는 현상
  • 개발 서버 접속 불가 이슈를 계기로 인증 체인 불일치와 잠재 장애 가능성 확인

원인 분석

  • Let’s Encrypt의 기본 체인 변경으로 cert-manager의 기존 체인 선택 휴리스틱이 노출
  • alternate chain 탐색에서 default chain 제외, 중간 인증서 Issuer CN까지 비교하는 로직이 오동작 원인
  • 구버전 boringSSL의 Trust Anchor 검증 방식과 맞물리며 실제 접속 실패로 이어질 수 있는 조건 형성

해결 방법

  • ACME 응답, Certbot 로그, cert-manager 코드를 대조해 체인 선택 경로 검증
  • 업스트림에 PR을 제출해 버그 수정 기여

다음 읽기

#Kubernetes 주제를 다룬 다른 회사 글

Let's encrypt w/ Cert-manager를 통해서 자동으로 갱신되는 TLS 인증서 사용하기

Kubernetes에서 Cert-manager와 Let’s Encrypt로 TLS 인증서를 자동 갱신하도록 구성하는 방법을 정리했습니다. Emberstack Reflector와 Route53 DNS01 설정으로 여러 Namespace에 인증서를 복제하는 과정도 설명했습니다.

데보션
데보션
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...