Let's Encrypt 인증서 이슈(2021/09/30 이후)

nothing·2021년 10월 3일
0

지난 금요일(10/01), 출근하니 SSL 관련해서 고객과 사내에서 굉장히 많은 문의가 들어왔다. 문의 내용은 하나같이 전부 아래와 같았다.

"사이트가 들어가지질 않아요!"

처음에는 단순한 클라이언트의 문제로만 인지 후 안내했다.
당연히 내 PC, 모바일에서는 아무런 문제가 없이 접근이 되었기 때문이었다.

그렇게 안내 후, 조치 방안을 찾기 위해 구글링 중 렛츠인크립트에서 공지했던 09/30일자로 만료되는 DST Root X3 방안의 인증 방식 관련 글을 읽게 되었다.
(바쁘다는 이유로 이러한 내용을 인지조차 못했던 나를 반성한다...)

정확한 내용은 이 포스트를 찾아 들어온 사람들이라면 많이 알고 있으리라 생각하는데, 간략히 설명하자면 옛날부터 써오던 방식(DST Root X3)를 지원하지 않고, 앞으로는 ISRG Root X1 방식만 지원하겠다는 내용이었다.

우선 우리 서비스의 구성은 웹서버는 아파치, 인증서는 Let's Ecrypt를 사용하고 있다.
또한 인증서 파일을 설정은 아래와 같이 설정하여 사용하였다.

SSLCertificateFile /etc/letsencrypt/live/{name}/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/{name}/privkey.pem

인증서를 아무리 갱신해도, 새로 받아도 무조건 루트 인증서를 DST Root X3를 잡고있어서 그냥 주변 모든 사물을 부숴버리고싶었다...

결국 하루를 꼬박 다 쓰고도 해결을 못해서 상용 인증서(유료)로 전환하여 마무리 되었는데, 나로써는 굉장히 자존심도 상하고 자괴감이 드는 내용이어서 주말 중에도 계속해서 개인 서버를 활용해 수정과 테스트를 반복했다.
(다행(?)인지 내 개발용 맥북이 루트 인증서를 X1이 아닌 X3를 잡아주는 일부의 기기에 해당이 되었다...)

결국, 나는 아래와 같이 조치하여 이 문제를 해결할 수 있었다.

SSLCACertificateFile /etc/letsencrypt/live/{name}/chain.pem
SSLCertificateFile /etc/letsencrypt/live/{name}/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/{name}/privkey.pem

이렇게 SSLCACertificateFile 설정을 추가한 이유는,
렛츠인크립트 측은 문제 없이 X1을 바라볼 수 있도록 5월 이후로는 제공해주고 있다는 정보를 보고나서 결국 루트 인증서를 잘못 찾아가고 있다고 생각이 불현듯 들어 루트 인증서를 어떻게 강제할 수 있을지를 찾다가 열심히 뻘짓 후... 적용해봤더니 됐다.

여러분은 이 포스트를 보고 손쉽게 해결할 수 있었으면 좋겠습니다.

0개의 댓글