無料で使えるSSL。Let’s Encryptのインストール 方法

スポンサーリンク
サーバー
スポンサーリンク
2017年8月8日以降にリリースされるGoogle Chromeにおいて警告/エラーが表示されるおそれがございます。

と、SSLの販売会社から連絡が来ました。

対象のSSL証明書は以下を満たす場合、上記の警告/エラー対象になるとのことでした。
– 2015年6月1日より前に発行され、2017年8月31日以降の有効期限を持つ
– 2016年6月1日より前に発行され、2018年1月18日以降の有効期限を持つ

この際なので、無料で利用できる Let’s Encrypt に変更したいと思います。

以前紹介した、有料のSSLをインストールするよりも簡単です。5分もかからずに終了します。

【簡単5ステップ!SSL導入】Rapid SSLの導入・設定してみた!
SSLを入れると安心感がまして、コンバージョンが上がりますよって、営業の電話がかかってきた。 既に導入してますよー、って返したらそこよりも安い料金でSSL使えますよーとの事。 それで社内でSSL変更しようかって話になった...
スポンサーリンク

Let’s Encryptのインストール

sudo curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto
sudo chmod 700 /usr/bin/certbot-auto

Let’s Encrypt 証明書の作成

sudo /usr/bin/certbot-auto certonly --webroot -w ドキュメントルート --email メールアドレス --debug -d ドメイン
ドキュメントルート は、対象のドメインが格納されているディレクトリを指定。
メールアドレスにはメール受信出来る メールアドレスを指定。
ドメインには対象のドメインを記述 (wwwがついているドメインはwwwをつけること)。

メールアドレスに確認のメールが届きます。Click this link to confirm your email:と書かれている下のURLをクリックすればOKです。

関連するパッケージが自動で更新・インストールされます。完了すると以下のディレクトリに、鍵と証明書が格納されます。

/etc/letsencrypt/live/先程入力したドメイン/fullchain.pem
/etc/letsencrypt/live/先程入力したドメイン/privkey.pem

証明書をサーバーで指定

サーバーの設定ファイル /etc/httpd/conf.d/ssl.conf に以下を記載します。

SSLCertificateFile /etc/letsencrypt/live/先程入力したドメイン/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/先程入力したドメイン/privkey.pem

サーバー再起動

sudo service httpd restart

このままだと、Let’s Encrypt は3ヶ月間で有効期限が切れてしまうため、自動で更新するようにします。

Let’s Encrypt 証明書の自動更新

sudo /usr/bin/certbot-auto renew --post-hook "sudo service httpd restart"

期限があるうちはrenewコマンドはスキップされるので、「Cert not yet due for renewal」とターミナルに表示されればOKです。

cronにrenewコマンドを登録

sudo vim /etc/cron.d/letsencrypt
00 03 * * 1 root /usr/bin/certbot-auto renew --post-hook "service httpd restart"

上記のCronで毎週月曜の03時にrenewコマンドが走ります。

セキュリティを高めるには下記の設定をしましょう。

SSLCipherSuite等の設定を行います。

SSLCipherSuiteの設定方法。SSL Server TestでAを取る。
QUALYS SSL LABSという会社のサービスで、「SSL Server Test があります。 Let’s Encrypt等のSSLをVPSにインストールしただけの状態だと、以下のようにC判定になります。 ...