티스토리 뷰

개인 프로젝트를 수행하면서 무료로 사용할 수 있는 SSL인증서에 대해서 조사하였으며,

Let`s Encrypt SSL 인증서 발급하여 적용하기로 결정하였다.

 

 

Let’s Encrypt는 일반의 이익을 위해 실행되는 무료, 자동화된 개방형 CA입니다. ISRG(Internet Security Research Group)에서 제공하는 서비스입니다. 웹 사이트에 대해 SSL/TLS(HTTPS)를 가장 사용자 친화적인 방법으로 무료로 활성화하기 위해 필요한 디지털 인증서를 제공합니다. 우리는 더 안전하고 프라이버시를 존중하는 웹을 만들고 싶기 때문에 이 작업을 합니다.

* 출처 : Let`s Encrypt SSL 공식사이트[바로가기]

Let`s Encrypt 몌인 이미지

 

Let`s Encrypt SSL 인증서 발급은 아래 3가지 방식이 존재합니다.

그중, dns 를 이용한 방식으로 진행하였습니다.

  • dns
  • webroot
  • standalon

 

Let 's Encrypt에서 TLS / SSL 인증서를 얻기위한 EFF의 Certbot 도구의 공식 빌드 Docker Image를 제공해주고 있다.

아래 명령어를 통해 간편하게 발급 및 인증절차를 수행하여, 아래 정보를 획득한다.

 

  • DNS TXT
  • Certbot Verify Key
* 도메인 : sample.com

1.인증서 발급요청
docker run -it --rm --name certbot -v '/etc/letsencrypt:/etc/letsencrypt' -v '/var/lib/letsencrypt:/var/lib/letsencrypt' certbot/certbot certonly -d *.sample.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

2.인증서발급 진행
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
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.2-November-15-2017.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: N
Account registered.
Requesting a certificate for *.sample.com
Performing the following challenges:
dns-01 challenge for sample.com

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

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
-- DNS TXT 값을 할당받으며 아래와 같다.
-- _acme-challenge.sample.com
_acme-challenge.sample.com with the following value:
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
- 인증절차를 정상적으로 수행한다면, 아래와 같이 인증키를 발급받게 된다.
[Certbot Verify Key]
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

 

위의 절차까지 진행 되면, 아래의 정보를 획득하며, DNS TXT 레코드를 추가한다.

* DNS설정이 완료될때까지 대기 후, 다음 단계로 넘어가야한다.

만약 실수로 Enter로 넘겼다면, [인증서 발급절차]  명령어를 수행하면

본 단계부터 다시 시작할 수 있다.

 

 

DNS TXT설정

  • DNS TXT
    • _acme-challenge.sample.com
  • Certbot Verify Key
    • [Certbot Verfy Key]

 

DNS 설정 후,  dig 명령어를 통해, 정상적으로 바로 보는지 확인 한다.

# dig +short -t txt _acme-challenge.sample.com
bash: dig: command not found


# yum -y install bind-utils


# dig +short -t txt _acme-challenge.sample.com
"[Certbot Verfy Key]"

 

인증서 발급 완료

  • 아래 경로에 인증서 발급되었음을 확인 한다
    • /etc/letsencrypt/lives/ 
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/lives/sample.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/sample.com/privkey.pem
   Your certificate will expire on 2021-06-21. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again. To non-interactively renew *all* of your
   certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 

 


 

 

Let`s Encrpyt 인증서 발급 후, Container SSL 인증서 적용은

아래 링크를 참고하여 설정 가능합니다.

 

[Docker] Container SSL인증서 - Let`s Encrypt 적용

 


참고.

 - 나무위키 - Let`s Encrypt :: namu.wiki/w/Let's%20Encrypt

 

Let's Encrypt - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

- Docker Hub :: hub.docker.com/r/certbot/certbot

 

Docker Hub

 

hub.docker.com

 

댓글