Let's Encrypt - Certbot으로 ssl 인증서 발급받기

오형상·2024년 1월 25일
0

RecipeFriend

목록 보기
9/9
post-thumbnail

이제 본격적인 https 세팅을 시작해볼 것이다.

Let's Encrypt 라는 비영리 기관을 통해 무료로 SSL 인증서를 발급받을 수 있다. 인증서 발급을 위해 Certbot을 사용해보자.

1. certbot 설치하기

Certbot 설치는 공식 홈페이지 권장 방법인 snap을 통해 설치한다.

sudo snap install certbot --classic

2. 인증서 요청

certbot certonly --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory -d {도메인} -d *.{도메인}

dns - dns 레코드에 특정 값을 작성하여 도메인 소유자 확인

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): {이메일 입력}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for mytamra.ga and *.mytamra.ga

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name:

_acme-challenge.{당신의 도메인}.

with the following value:

TN_bM8oiFO5G12NAeS-cG3ATXB8oHvzRklv8pRcI3cg

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

터미널에서 위와 같은 메시지를 확인할 수 있다.

여기서 바로 엔터를 입력하지 말고 읽어보면 DNS TXT 레코드를 생성하라는 안내가 나온다.

DNS 레코드는 DNS상에서 도메인에 관한 설정을 하기 위해 사용되는 일련의 문자들을 뜻한다.

TXT 레코드란 텍스트 레코드의 줄임말로, 임의의 문자열로 구성된 값이다. 소유한 도메인에 TXT 레코드를 추가하여 유효한 도메인인지를 판단하는 과정을 거치게 된다.

_acme-challenge.{당신의 도메인} 라는 이름으로 TN_bM8~ 라는 값을 입력해주면 된다.

3. 레코드 생성

이를 위해 AWS Route53 메뉴로 이동하여 레코드 생성을 한다.

유형 부분은 TXT로 변경해준 뒤 이름에는 _acme-challenge를 넣어주고, 값에는 콘솔창에 나와있는 문자를 넣어준다.

실제 레코드가 적용되는데는 몇 분이 걸리기 때문에 조금 기다려준 뒤에 콘솔로 돌아가 엔터를 눌러준다.

4. 레코드 편집

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name:

_acme-challenge.{당신의 도메인}.

with the following value:

zWTgKg3PwwmfNjHEzwjJO76xxb_euhndHcdf8zdKtpA

(This must be set up in addition to the previous challenges; do not remove,
replace, or undo the previous challenge tasks yet. Note that you might be
asked to create multiple distinct TXT records with the same name. This is
permitted by DNS standards.)

Before continuing, verify the TXT record has been deployed. Depending on the DNS
provider, this may take some time, from a few seconds to multiple minutes. You can
check if it has finished deploying with aid of online tools, such as the Google
Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.mytamra.ga.
Look for one or more bolded line(s) below the line ';ANSWER'. It should show the
value(s) you've just added.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

인증 과정이 업데이트가 되어 한번 더 레코드 생성을 해야 한다. 아까 생성한 레코드에서 값만 추가해주면 된다.

값을 하나 더 추가해주고 저장을 누른 뒤 몇분 뒤에 콘솔로 돌아가 엔터키를 누르면 성공적으로 인증서를 발급 받을 수 있다.

어디에 인증서가 저장되었는지는 Certificate is saved at 에서 확인할 수 있고, 그에 대한 key는 Key is saved at 에 저장되어 있다.

/etc/letsencrypt/live/{당신의 도메인}/ 내부에 위치한다.

letsencrypt를 이용해 발급받은 인증서는 3개월마다 갱신을 해주어야 한다. 자동 갱신 설정도 있으니 참고하자.

0개의 댓글