2018年3月31日土曜日

Ubuntu で Let's Encrypt で証明書を取得

概要

過去に CentOS で取得しました
今回は Ubuntu で取得してみました
少しやり方が変わっていので備忘録として残りしておきます

環境

  • Ubuntu 16.04
  • letsencrypt 0.4.1-1

letsencrypt コマンドのインストール

  • apt -y install nginx
  • apt -y install letsencrypt python-letsencrypt-apache

nginx はドメインが自分のものか証明するために必要になります
python-letsencrypt-apache をインストールすると apache2 もインストールされてしまうので不要であればアンインストールしてください

ファイアウォールの設定

  • ufw disable

80, 443 ポートをオープンにすれば disable にしないでも OK です
AWS などで他にファイアウォールを使って場合はそちらも 80, 443 ポートで通信できるようにしておいてください

証明書の取得

  • systemctl stop nginx

事前に nginx は停止しておきましょう
letsencrypt コマンドでサーバを立ち上げるので停止しておく必要があります

  • letsencrypt certonly --standalone -d admiral.cm-system.ga

メールアドレスを登録します
ubuntu_letsencrypt1.png

あとは規約に同意するだけです
ubuntu_letsencrypt2.png

成功すると以下のログが表示されます

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/www.test100-domain.ga/fullchain.pem. Your cert
   will expire on 2018-06-24. To obtain a new version of the
   certificate in the future, simply run Let's Encrypt again.
 - If you like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le
  • ls /etc/letsencrypt/live/www.test100-domain.ga/

で以下のファイルが作成されています

  • cert.pem -> 証明書
  • chain.pem -> 中間証明書
  • fullchain.pem -> 証明書 + 中間証明書
  • privkey.pem -> 秘密鍵

最後に

Ubuntu で Let’s Encrypt からサーバ証明書を取得してみました
かなり簡単になっていた印象です
はまりポイントは DNS の A レコードがちゃんと設定されているかどうかとサーバの 80, 443 ポートがちゃんとオープンになっているかかなと思います

あまりセキュリティ的にはよろしくないですが一瞬だけフルオープンにするのはありかなと思います

0 件のコメント:

コメントを投稿