====== 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を押す ==== 出来上がるファイル ==== - cert.pem サーバ証明書 SSLCertificateFile - chain.pem 中間CA証明書 SSLCertificateChainFile - fullchain.pem サーバ証明書+中間CA証明書を結合したもの SSLCertificateFile - 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