SSL
SSL証明書
letsencrypt

15秒でわかるLet's Encryptのしくみ~無料で複数ドメイン有効な証明書作成~

概要

medium( https://medium.com/ )というブログは自分のドメインを付与したら、
無料で且つ自動でSSL証明書を取得しブログに付けてくれる。
使われているのはLet's Encryptというサービス。
無料でSSL証明書が取得できるサービスである。

Let's Encryptの特徴として、
SSL証明書の有効期限が約3ヶ月と極端に短い。
その為、cronで定期的にLet's Encryptを更新する手順を盛り込み、
自動で半永久的に更新させるのが定番である。

15秒でわかるLet's Encryptのしくみ

1) DNSサーバにAレコードを登録する

1.JPG


2) 証明書作成プログラムを実行する
2.JPG


3) CAはDNSサーバへAレコードを問い合わせる
3.JPG


4) CAがクライアントのファイルを確認
4.JPG


5) 証明書の作成
5.JPG

導入手順

複数ドメインを作成したい場合を考慮し、複数まとめて作成する手順。
(CentOS 7 を想定)

tsukada.test.jp
sumito.test.jp
coco.test.jp

の3ドメインを1枚の証明書に入れる手順。
(1ドメインの証明書だけ作りたいのであれば、単純に対象を削ればOK。)

cd /usr/local/src
git clone https://github.com/certbot/certbot
cd certbot/
./certbot-auto certonly --no-self-upgrade -n --webroot --agree-tos --email webadmin@test.jp -w /var/www/html -d tsukada.test.jp -d sumito.test.jp -d coco.test.jp --expand

cronに登録

# crontab -l
0 1 1 * * /usr/local/src/certbot/certbot-auto renew --force-renew && service httpd restart

まとめ

無料で利用できる為、「そもそもSSL証明書って何を証明するんだっけ?」という議論になりかねない。
Let's Encryptを使った証明書はエラーにはならないものの、
証明書の中身をエンジニアが見ればLet's Encryptで作ったものだとすぐに分かる。

サービスで使う場合は、従来通り有料で購入した方がよいが、
社内で使うサービスであれば、Let's Encryptで十分な場合も多い。
なによりcronに組み込む事により更新が自動というのも非常に心強い。

昔はテスト用のSSL証明書を作るのに、
自らが認証局となり自分自身を証明する通称「オレオレ証明書」が一般的だったが、かなり便利な時代になった。