Let’s Encrypt 인증을 사용하는 경우 3개월에 한번씩 갱신을 해야 합니다.

Let’s Encrypt 인증의 경우 무료로 사용가능하비만 갱신 주기가 3개월로 짧은 것이 단점이긴 합니다만 이는 보안 대응에 그만큼 유리한 점도 있습니다. 아마 그런 점을 고려해 3개월 갱신 주기를 설정하지 않았을까 추정해 봅니다.

아무튼 Let’s Encrypt 인증 시 사용했던 TLS-SNI-01 인증 방식에서 보안 취약점이 발견되면서 Let’s Encrypt에서는 2019년 2월 13일부터는 이 인증 방식을 적용하디 않는다고 합니다.

따라서 이 방식을 바꾸어야 합니다. 이 방식은 주로 예전 버젼의 Certbot을 이용한 인증 방싱에서 사용되었으므로 Certbot 버젼을 업데이트 해야합니다.

Let’s Encrypt에 따르면 Certbot 벼젼을 0.28.0이상으로 업그레이드 해야한다고 합니다. 그러면 HTTP-01, DNS-01 or TLS-ALPN-01 방식으로 인증할 수 있다고 하네요. (기본은 HTTP-01)

여기에서는 간단히 Certbot 버젼 확인 방법을 알아보고, 버젼이 낮을 경우 업그레이드 할수 있는 방법을 알아 보겠습니다.

Let’s Encrypt 버젼 확인하기

Let’s Encrypt 버젼 확인해 Certbot 버젼이 0.28이상인지 아니면 이하인지 확입합니다.

certbot --version || /path/to/certbot-auto --version

확인해보니 오래전에 설치해서인지 0.23.0으로 반드시 업그레이드가 필요한 상황이네요

Certbot 버젼 업그레이드하기

만약 Certbot 버젼이 0.28이하라면 업데이트해야 합니다.

이 업데그레이드하는 방법은 https://certbot.eff.org/ 에서 자신이 사용하는 소프트웨어(nginx, Apache인지 선택)와 시스템(Ubuntu 18.04LS 등)를 선택하면 그에 맞는 업그레이드 방안을 알려줍니다.

제가 사용하는 Nginx에 Ubuntu 18.04LS의 경우는 아래와 같은 명령어를 사용하라고 가이드 합니다.

apt-get update
apt-get install software-properties-common
add-apt-repository universe
add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install python-certbot-nginx 
Let’s Encrypt Certbot 업그레이드 가이드 사이트

이렇게 업그레이드 후 버젼을 확인하면 0.28.0이 나옵니다. 그 이상 버젼도 있다고하던데 Nginx에 Ubuntu 18.04LS에서는 현재는 0.28.0이 가장 높은 버젼인가 봅니다.

Let’s Encrypt 업데이트하기

Certbot 버젼을 업그레이드한 후에는 Let’s Encrypt를 업데이트 합니다.
이는 기존에 알려진 방식대로 자신이 사용하는 소프트웨어(nginx, Apache 등)을 중단시킨 후 certbot renew 명령을 사용합니다.

service nginx stop
certbot renew --dry-run
service nginx start .
Let’s Encrypt Certbot 업그레이드 후 인증서 갱신 모습
Let’s Encrypt Certbot 업그레이드 후 인증서 갱신 모습

LEAVE A REPLY

Please enter your comment!
Please enter your name here