Let's Encrypt Certbot이란

황제낙엽 2020.07.14 05:00 조회 수 : 987

sitelink1 https://lynlab.co.kr/blog/72 
sitelink2 https://certbot.eff.org/instructions?ws=other&os=windows 
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  

Certbot이란

  Certbot은 Let's Encrypt의 인증서를 발급 받는 방법중 하나

    단점1, certbot은 python 및 몇몇 네이티브 라이브러리에 의존성이 있다

    단점2, OS마다의 패키지 안정성 문제로 동작 오류가 발생하는 경우가 많다

 

Certbot의 도메인 소유 인증 절차

  1. 웹 서버를 통한 도메인 인증

    서버를 운영중인 환경에서 Certbot이 직접 웹 서버를 띄운 뒤, URL을 통해 해당 웹 서버로 접속을 시도하여 도메인의 소유를 검증하는 방법이다

    예를 들어 yourdomain.com이라는 도메인의 인증서를 발급받고자 한다면, 

    certbot은 yourdomain.com/.well-known/acme-challenge URL을 통해 서버에 접속하여 실제 발급을 시도 중인 서버가 맞는지 확인하게 된다

  

    - 장점

        대부분의 경우에 쉽고 간단 (명령어 한 줄로 인증서 발급부터 nginx, haproxy 등의 리버스 프록시 인증서 셋팅까지 자동)

    - 단점

        운영중인 환경에서는 인증서를 발급 받기 위해 서비스를 잠시 내려야한다 (80/443 포트로 직접 웹 서버가 떠야하기 때문)

        방화벽이 엄격하게 설정된 경우에는 발급 과정이 번거롭다

        Certbot은 접속할 URL 경로를 수동으로 지정할 수 없기 때문에, 위에서 언급한 .well-known/acme-challenge 경로를 방화벽에서 오픈해야 한다

 

  2. DNS를 통한 도메인 인증

    인증 토큰을 TXT 레코드로 등록하여 도메인의 소유권을 인증한다 (대부분의 서비스에서 많이 사용하는 방식)

 

    - 장점

        운영중인 환경에서도 쉽게 발급이 가능 (서버 환경 설정이 필요없음)

    - 단점

        DNS 레코드를 등록해주는 절차가 번거로울 수 있다

        개인 단위에서는 문제가 없겠지만, 단체나 회사에서 관리하는 도메인의 경우 레코드를 건드리는게 불가능할 수도 있다

        DNS 전파 시간을 기다려야한다

 

Certbot 도움말 : certbot --help