본문 바로가기

개발/리눅스

Let's Encrypt 인증서 설치 및 적용하기 #1


인터넷 통신에서 보안은 매우 중요하다. 보안을 강화하기 위해서 TLS(SSL)를 적용을 하는것이 좋겠습니다.

인증서를 발급받는건 유료이지만 Let's Encrypt에서 무료로 발급 받아 적용할 수 있습니다.


유료는 갱신 단위가 1년이지만 Let's네는 90일입니다.

귀차니즘이 오는게 눈에 보이네요(...) ← crontab 을 이용해 자동으로 갱신 가능합니다.



내 티스토리(playon.tistory.com)도 관리자 설정메뉴 돌아다니다가 있길래 냉큼 적용했습니다.

(관리자 > 관리 > 블로그 > 주소 설정 > 보안접속을 사용합니다.)



아래 순서는 나중에 또 적용하기 위해 적어 놓는거라서 서버 환경마다 다를 수 있지만

비슷한 부분이 있으면 참고가 될 듯 합니다.




1. https://certbot.eff.org 접속


내게 맞는 웹서버와 OS를 골라 놓습니다. 저는 아파치랑 CentOS 를 선택 해 놓고






2. 적용할 서버(내 서버)에 접속해서 다운로드 받을 디렉토리 생성

# cd /usr/local/src
# mkdir certbot
# cd certbot





3. 1번에서 나온 내용에서 install 부분 실행(certbot 다운로드)

# wget https://dl.eff.org/certbot-auto
--2018-10-17 11:47:29--  https://dl.eff.org/certbot-auto
...
...
2018-10-17 11:47:30 (841 KB/s) - “certbot-auto” saved [62299/62299]





3-1. 다운로드한 파일 권한주기(755)

# chmod a+x certbot-auto





4. 인증서 다운로드

아래 형식으로 받을 수 있습니다. 이메일은 혹시나 필요한 정보가 올지 모르니 입력하고 -d 하고 인증서 발급 할 도메인을 입력합니다.

# ./certbot-auto certonly --webroot --webroot-path=/path/to --email master@email.com -d domain.com -d www.domain.com


처음 실행이라면 certbot 실행에 필요한 패키지들이 자동으로 다운받아 설치됩니다.

Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: ftp.neowiz.com
 * epel: mirror.premi.st
 * extras: ftp.neowiz.com
 * rpmforge: ftp.neowiz.com
 * updates: ftp.neowiz.com
Package openssl-1.0.1e-57.el6.x86_64 already installed and latest version
Package openssl-devel-1.0.1e-57.el6.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package augeas-libs.x86_64 0:1.0.0-10.el6 will be installed
---> Package ca-certificates.noarch 0:2015.2.6-65.0.1.el6_7 will be updated
---> Package ca-certificates.noarch 0:2018.2.22-65.1.el6 will be an update
...
...
...
Is this ok [y/N]: y ← 설치할꺼냐고 물어보는데 당연히 yes

...
...
...
Complete!






5. 약관동의

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

가볍게 동의 해 주고






6. 메일 받으니?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing 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

메일링 받을거냐고 하는거 같은데 안받을래요.






7. 인증서 발급 완료

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for domain.com
http-01 challenge for www.domain.com
Using the webroot path /path/to for all unmatched domains.
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/domain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/domain.com/privkey.pem
   Your cert will expire on 2019-01-15. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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


주황색 부분에 인증서 발급에 필요한 경로를 썼다고 나오고(/home/user1/userid/public_html 이런식?)

핑크색 부분에 인증서가 발급된 경로와 파일이 나오고

초록색 부분에 인증서 만료일 날짜가 나옵니다.



옛날에 할땐 좀 복잡했던거 같은데 요즘껀 버전업이 돼서 그런지 옛날보다는 쉽네요.

그래도 정보가 더 필요하면 https://certbot.eff.org/docs/using.html 여기에서 도움을 받을 수 있습니다.