Let's Encrypt 와일드카드 인증서

목차

    Let's Encrypt에서 와일드카드 인증서를 발급하기 시작한지 꽤 오랜 시간이 흘렀다.

    내 서버에는 이미 적용하여 사용중인데 이제야 포스팅을 해본다.

     

    일단 나는 우분투에서 인증서를 발급받았으므로 우분투 기준으로 설명한다.

    윈도우에서도 가능하다고 하는데 사용해보진 못했고 필요한 사람은 아래 링크를 확인해 보기 바란다.

    https://github.com/PKISharp/win-acme/releases

     

    PKISharp/win-acme

    win-acme - A Simple ACME Client for Windows (for use with Let's Encrypt) - PKISharp/win-acme

    github.com

     

    참고) 아래 진행방법은 모두 수동으로 진행하는 방법이며 클라우드플레어 등의 dns에서는 api를 통해 더 간편하게 진행이 가능하다고 한다.

     

    1. certbot 설치 (적당한 경로 or 사용자 home 디렉토리에서 시작한다.)

     

    더보기
    git clone  https://github.com/certbot/certbot
    cd certbot
    sudo ./certbot-auto --os-packages-only
    python3 ./tools/venv.py

    2. certbot 실행 환경 진입

    더보기

     

    source venv/bin/activate

    위 명령을 실행하면 프롬프트 앞에 (venv)가 붙으며 certbot 실행환경으로 진입한다.

    3. 인증서 발급 요청

    더보기
    sudo ./venv/bin/certbot -d *.domain.com  --email user@mail.com --text --agree-tos --server  https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --expand --renew-by-default  --manual-public-ip-logging-ok certonly

    *.domain.com과 user@mail.com 을 본인 환경에 맞게 기입한다.

    4. dns txt 레코드 수정

    더보기

    위 과정까지 끝나면 아래 그림과 같은 화면과 함께 화면이 멈춘다.
    화면에서 표시된 _acme-challenge.domain.com 레코드를 dns 서버에서 TXT 레코드로 등록한다.
    값은 노란색으로 표시한 부분을 복사하여 붙여넣는다.
    dns에 등록하게 되면 전파시간이 있기 때문에 잠시 기다렸다가  엔터키를 누른다.

    5. 인증서 발급 완료

    더보기

    위 과정이 끝나면 발급과정이 완료된다.
    발급된 인증서는 /etc/letsencrypt/live/domain.com/ 경로에서 확인할 수 있다.
    아래 명령으로 현재 사용자에게 인증서가 있는 디렉토리의 권한을 부여해준다.

    sudo chown [사용자명] /etc/letsencrypt/live


    생성된 파일은 총 5개이며 이중 인증서 파일은 pem 확장자로 된 4개 파일이다.

    6. 인증서 적용

    더보기

    cert.pem - 인증서
    chain.pem - 인증서 발급자
    fullchain.pem - cert.pem과 chain.pem을 하나로 합쳐놓은 파일
    privkey.pem - 암호를 해독하는 개인키

    시놀로지 DSM의 경우 privkey.pem 파일과 cert.pem 파일만 등록하면 사용 가능하다.

    7. (기간 종료 전) 인증서 갱신

    더보기

    3번 과정에서 --email 옵션을 사용한 경우 인증서의 만료기간(90일)에 가까워지면 메일이 온다.
    이때 갱신 작업을 해주고 갱신된 인증서를 사용해야 계속 사용할 수 있다.
    갱신하지 않고 그대로 두면 인증서가 그대로 만료되어 사용할 수 없으며 갱신할 수 없게 된다.
    즉, 인증서 발급을 처음부터 다시 진행해야 한다. (2번 과정부터 진행하면 된다.)
    갱신작업은 아래 명령을 차례로 실행시키면 된다.

    cd certbot
    source venv/bin/activate
    sudo ./venv/bin/certbot renew

     

    댓글