Let’s Encrypt - WindyHana's Solanara

목차

개요

인증서 발급

acme.sh 사용
솔라리스에서는 Let’s Encrypt 에서 제공하는 Certbot을 설치하려면 약간의 번거로움이 있다. 따라서 A pure Unix shell script implementing ACME client protocol에서 제공하는 ACME 클라이언트를 사용했다.
  1. 윈디하나의 솔라나라: OpenSSL을 참고해 OpenSSL 을 설치한다. PATH경로에 설치한 OpenSSL 이 실행되도록 수정해야 한다. 정상적으로 설정되었다면 아래와 같이 나올 것이다.
    windy@wl ~ $ which openssl
    /usr/local/bin/openssl
    
  2. acme.sh 설치

    스크립트를 다운받아 설치한다.
    windy@wl ~ $ mkdir acme
    windy@wl ~ $ cd acme
    windy@wl ~/acme $ export ACME_USE_WGET=1
    windy@wl ~/acme $ wget https://get.acme.sh
    windy@wl ~/acme $ bash index.html 1)
    windy@wl ~/acme $ cd ~/.acme.sh 2)
    
    1) 바로 위 커맨드에서 받은 셸 스크립트를 실행해 설치한다.
    2) ~/.acme.sh/디렉토리가 생성된다. 모든 인증서는 이 디렉토리에 저장된다.
  3. 인증서 발급

    도메인을 소유하고 있고, 도메인을 웹 서버에 정상적으로 설정하여 http 프로토콜로는 정상적으로 웹 서비스 중이라면, 간단하게 발급받을 수 있다. 서버 도메인과 루트 디렉토리를 정해서 acme.sh 를 실행시키면 된다.
    windy@wl ~/.acme.sh $ ./acme.sh --issue -d www.solanara.net -w /DOCUMENTROOT/OF/HTTP/WWW.SOLANARA.NET 1)
    windy@wl ~/.acme.sh $ ./acme.sh --issue --keylength ec-384 -d www.solanara.net -w /DOCUMENTROOT/OF/HTTP/WWW.SOLANARA.NET 2)
    
    1) RSA 인증서가 발급된다. 발급되는 위치는 ~/.acme.sh/www.solanara.net 이다.
    2) ECC 인증서가 발급된다. 발급되는 위치는 ~/.acme.sh/www.solanara.net_ecc 이다.
    acme.sh의 주요 파라메터는 아래와 같다.
  4. 인증서 확인

    다운로드한 인증서를 확인한다.
    windy@wl ~ $ ls -al ~/.acme.sh/www.solanara.net
    -rw-r--r--   1 windy    staff       1.6K  7월 21일  19:39 ca.cer
    -rw-r--r--   1 windy    staff       3.4K  7월 21일  19:39 fullchain.cer
    -rw-r--r--   1 windy    staff       1.8K  7월 21일  19:39 www.solanara.net.cer
    -rw-r--r--   1 windy    staff        576  7월 21일  19:39 www.solanara.net.conf
    -rw-r--r--   1 windy    staff        940  7월 21일  19:39 www.solanara.net.csr
    -rw-r--r--   1 windy    staff        175  7월 21일  19:39 www.solanara.net.csr.conf
    -rw-r--r--   1 windy    staff       1.6K  7월 21일  19:39 www.solanara.net.key
    windy@wl ~ $ ls -al ~/.acme.sh/www.solanara.net_ecc
    -rw-r--r--   1 windy    staff       1647  3월  2일  16:28 ca.cer
    -rw-r--r--   1 windy    staff       3209  3월  2일  16:28 fullchain.cer
    -rw-r--r--   1 windy    staff       1562  3월  2일  16:28 www.solanara.net.cer
    -rw-r--r--   1 windy    staff        583  3월  2일  16:28 www.solanara.net.conf
    -rw-r--r--   1 windy    staff        493  3월  2일  16:28 www.solanara.net.csr
    -rw-r--r--   1 windy    staff        175  3월  2일  16:28 www.solanara.net.csr.conf
    -rw-r--r--   1 windy    staff        359  3월  2일  16:28 www.solanara.net.key
    
    크론에 아래와 같이 자동으로 등록된다.
    windy@wl ~/.acme.sh $ crontab -l
    10 0 * * * /export/home/windy/.acme.sh/acme.sh --cron --home /export/home/windy/.acme.sh > /dev/null
    
  5. 인증서 설치

    인증서를 웹 서버에 설치한다. 아파치 웹 서버의 경우 아래를 참고해 설정하자. 윈디하나의 솔라나라: OpenSSL - 서버 - 설정하기도 같이 보면 도움 될것이다.
    SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:!DHE:!SSLv3:!SSLv2:!aNULL:!MD5
    SSLHonorCipherOrder On
    
    SSLCertificateFile "/export/home/windy/.acme.sh/www.solanara.net/www.solanara.net.cer"
    SSLCertificateFile "/export/home/windy/.acme.sh/www.solanara.net_ecc/www.solanara.net.cer"
    SSLCertificateKeyFile "/export/home/windy/.acme.sh/www.solanara.net/www.solanara.net.key"
    SSLCertificateKeyFile "/export/home/windy/.acme.sh/www.solanara.net_ecc/www.solanara.net.key"
    SSLCertificateChainFile "/export/home/windy/.acme.sh/www.solanara.net/ca.cer"
    
    아파치 웹 서버에서, SSL 인증서및 https 설정에 대한 전반적인 사항은 윈디하나의 솔라나라: 아파치 웹 서버 (작성중)를 참조하자.

인증서 계층 구조

발급된 인증서는 아래와 같은 계층(hierarchy)을 가지고 있다.


SSL 인증서가 제대로 설치되어있는지 Qualys SSL Lab에서 검사해보자. 솔라나라의 경우 아래와 같이 나온다.


RSS ATOM XHTML 5 CSS3