cert-manager 버그를 찾아낸 데브옵스 엔지니어의 이야기
by DD
2년 전
조회수 1
Let's Encrypt의 인증서 체인 변경으로 인해 cert-manager에서 버그 발생
DST Root CA X3 만료 문제와 preferredChain 설정 무시 현상 확인
오픈소스 기여를 통해 버그를 해결하고, 서비스 안정성 확보
인증서 체인 동작 원리
Let's Encrypt는 ACME API를 통해 인증서를 발급하며, DST Root CA X3 만료로 인해 인증서 체인에 문제가 발생했다. 구체적으로, preferredChain 설정이 무시되어 의도하지 않은 인증서 체인이 사용되었다. 따라서, 보안 취약점 발생 가능성을 인지해야 한다.
cert-manager 버그 분석
cert-manager는 preferredChain 설정 시, default chain을 제외한 alternate chain에서 Issuer CN을 비교한다. 반면, Let's Encrypt의 변경으로 인해 default chain이 변경되면서 버그가 발생했다. 따라서, 인증서 체인 선택 로직의 문제점을 파악하고, 오픈소스 기여를 통해 해결했다.
오픈소스 기여 및 교훈
문제 해결을 위해 cert-manager에 PR을 제출하고, 커뮤니티의 피드백을 받았다. 구체적으로, 코드 컨벤션 준수 여부보다 호환성 문제를 더 중요하게 고려하는 모습을 보였다. 따라서, 오픈소스 기여는 문제 해결뿐 아니라 기술적 성장에도 기여한다.