ユーザ用ツール

サイト用ツール


letsencrypt

let's encrypt

無料SSL証明書であるletsencrpytをubuntu18.04に導入する方法

sudo apt-get install certbot

証明書作成

サーバ証明書

sudo certbot certonly --webroot -d www.domain.com -w /var/www/html

で自動的に証明書の作成とサーバの存在チェックが行われる

自動更新

sudo certbot renew  --post-hook "systemctl restart httpd.service"

ワイルドカード証明書

ワイルドカード証明書 dns経由で取得

certbot certonly --manual -d *.hoge.com \
  --email mail@maildomain.com \
  --agree-tos  \
  --manual-public-ip-logging-ok  \
  --preferred-challenges dns-01  \
  --server https://acme-v02.api.letsencrypt.org/directo
#DNSに設定すべきTXTの内容が表示され、ENTER押下待ちとなる。

DNSのTXTレコードの設定を行う。(TTLに注意)

dig -t txt _acme-challenge.xxxx.com
dig -t txt _acme-challenge.xxxx.com @8.8.8.8

TXTレコードの内容が書き換わっていたら \ ENTERを押す

出来上がるファイル

  1. cert.pem サーバ証明書 SSLCertificateFile
  2. chain.pem 中間CA証明書 SSLCertificateChainFile
  3. fullchain.pem サーバ証明書+中間CA証明書を結合したもの SSLCertificateFile
  4. privkey.pem サーバ証明書の秘密鍵 SSLCertificateKeyFile

apacheの設定

sslを有効にする

a2ensite default-site.conf

apache(2.4.8 未満)

/etc/apache2/enable-site/default-ssl.conf

SSLCertificateFile      /etc/letsencrypt/live/xxxx.com/cert.pem
SSLCertificateKeyFile   /etc/letsencrypt/live/xxxx.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/xxxx.com/chain.pem

apache(2.4.8 以上)

/etc/apache2/enable-site/default-ssl.conf

SSLCertificateKeyFile   /etc/letsencrypt/live/xxxx.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/xxxx.com/fullchain.pem

firewallの設定

  • ufwを設定確認
  • クラウドで動いているならインフラ上のhttps(443)を利用可能とする。

証明書の更新

証明書の有効期間は90日なので定期的に更新する必要がある。\

certbot renew

※ワイルドカード証明書の場合は取得と同じ手順(再取得)

有効期間の確認方法

certbot certificates

証明書の失効削除

certbot revoke --cert-path=/etc/letsencrypt/live/xxxx.com/cert.pem
letsencrypt.txt · 最終更新: 2020/09/25 16:13 by nabezo