본문 바로가기
IT/리눅스

Let'sEncrypt(certbot) SSL인증서 갱신(폐쇄망(내부업무망))

by IT 과학정복 2024. 10. 21.
반응형
반응형

 

이번 포스팅은 폐쇄망(내부업무망) 환경에서 SSL 인증서 갱신을 어떻게 하는지 제가 적용했던 방법을 알려드리려고 합니다.

 

certbot renew 갱신 인증에 5번 실패하면 아래와 같은 메세지가 출력되고 약 30분~1시간동안 인증 갱신을 할 수 없는 상태가 됩니다. 이러한 상황을 방지하고자 갱신방법을 공유하려고 합니다.

 

 

1. 혹시 letsencrypt 를 모르신다면

리눅스 서버에 SSL 인증서를 적용할 수 있게 해주는 프로그램이 letsencrypt 인증서 프로그램입니다.

무료로 사람들이 널리 사용하고 있는 프로그램입니다.

 

SSL인증서가 적용된 사이트 표시

 

결과적으로 letsencrypt를 이용하여 SSL 인증서를 적용한 사이트는

위와 같이 사이트 주소 앞에 자물쇠 모양으로 표시가 되니 이 점 참고 바랍니다.

 

2. letsencrypt 설정 상식

letsencrypt 무료로 인증서를 사용할 수 있는 기한이 90일이며, 무료지만 90일마다해당 인증서를 갱신해야 하는 번거로움이 있습니다.

crontab 설정 화면

 

보통은 crontab으로 0 4 1 1,3,5,7,9,11 0 ~/letsencrypt_renew.sh 이런 식으로 설정하면 

90일이 되기 전마다 해당 스크립트를 실행하여 인증서를 갱신할 수 있습니다.

 

인증서 만료일이 다가오면 관리자에게 인증서 만료 안내 메일이 갑니다. 

 

폐쇄망(업무망)은 인터넷이 안되기 때문에 배치를 못 돌리고 수동으로 letsencrypt 인증서를 갱신해줘야 하는 경우가 생긴다. 그런 경우를 겪고 있는 사람들을 위해 아래의 내용을 참고하길 바랍니다.

 

3. Certbot 준비(설치 완료 상태)

Let's Encrypt에서 제공하는 Certbot 클라이언트를 설치합니다. 설치 방법은 아래의 배너를 클릭하시면 방법이 상세하게 설명되어 있습니다.

certbot renew --dry-run 출력화면

certbot renew --dry-run

갱신 테스트 명령어

 

443, 80 포트를 오픈하지 않고 시도하면 위와 같은 메시지가 뜹니다. 그럼 1~2시간 갱신 시도가 안되  --dry-run으로 테스트가 succeed 뜨면 certbot renew를 하도록 합니다.


Let's Encrypt의 IP 대역

Let's Encrypt는 클라우드플레어(Cloudflare)를 통해 서비스를 제공하므로, 클라우드플레어의 IP 대역을 허용해야 합니다.

  • IPv4 대역: 104.16.0.0/12
  • IPv6 대역: 2606:4700::/32

 

Let'sEncrypt가 사용하는 아이피 대역과 443, 80 포트를 열어주시면 됩니다.

CMD 창에서 확인한 'acme-v02.api.letsencrypt.org'

 

저는 해당 아이피 대역을 찾으려고 여러 번 시도했으나, 아이피를 다 찾지 못하고 그냥 해당 서버만 빠른 시간 내에 모든 IP를 0.0.0.0/0으로 443, 80를 오픈하고 인증서 갱신 작업을 빠르게 진행했습니다.

 

certbot renew 완료 후 출력화면

certbot renew

갱신 명령어

 

 

certbot certificates 출력화면

certbot certificates

인증서 정보(인증서 이름, 도메인, 기한) 보는 명령어

 

ACG에서 *:443, 80를 다시 닫는다.(중요)

 

인증서 갱신을 완료한 후, certbot certificates 명령어를 입력하면 VALID 기한이 89 days로 늘어난 것을 확인할 수 있습니다.

letsencrypt 인증서를 쓰려면 3 달마다 이렇게 갱신을 해줘야 사용할 수 있습니다. 

 

 

5. 내부망에서 Certbot 사용에 대한 아쉬움

이번에 폐쇄망(내부업무망)에서 작업을 하면서 아쉬웠던 점은 

acme-v02.api.letsencrypt.org 서버 정보를 알아내는 내 능력의 한계

- Let's Encrypt가 제공하는 통신 IP 정보를 알아내지 못함

- 아래의 통합가이드의 '방화벽 구성'에 대한 구체적 정보가 없어 아쉬움

- cerbot 설정에 대한 지식 부족

- 작업을 할 때 443, 80, 53 포트에 대해 0.0.0.0/0으로 열어야 하는 리스크 

 

그래도 해당 사항들이 해소가 되면 이 글에 더 정확한 세팅방법을 안내해 드리겠습니다.

그전까지는 제 글을 포함하여, 아래의 공식사이트 통합가이드를 참고하시고 SSL 인증서 세팅을 해주시면 될 것 같습니다. 고수분들의 많은 관심과 지식을 부탁드립니다.

클릭 시, letsencrypt 통합가이드로 이동

 

 

반응형