Let’s Encrypt(レッツエンクリプト)とは

無料で使えるSSL/TLS証明書発行サービスです。
2016年4月12日から正式サービスが開始しましたが、すでに、2015年9月のスタートから、170万以上の証明書を発行しているそうです。

Let’s Encrypt – Free SSL/TLS Certificates

SSL/TLSとは

SSL/TLSとは、インターネットを暗号化して、送受信できる仕組みです。
昔から、ネットショップなどで買い物をする際、クレジットカードなどの情報を安全にやり取りするために使われています。
そして、Googleが常時SSL/TLSを推奨し、普通のWebサイトでも暗号化が求められる時代になってきました。

SSL/TLSは、手続きが面倒で、有料であることが多いですが、Let’s Encryptは、違いました。

事前準備

ツクメモは、さくらVPSなので、そちらで作業いたします。
サーバーはApacheです。
Let’s Encryptを入れる前に、インストールされている必要があるパッケージを確認します。
バージョンの確認ができれば大丈夫でしょう。

SSL/TLS通信のための443ポートを確認

SSL/TLS通信のための、443ポートが開いているか、確認します。
こんな感じででれば、大丈夫だと思います。

Let’s Encryptのインストール

Let’s Encryptでは、環境にあわせて、いくつかのプラグインが提供されています。
今回は、あまり環境に左右されないwebrootで証明書を取得します。

セットアップ

まず、ダウンロードとインストールを行います。

証明書の取得

webrootコマンドで、ドキュメントルートドメイン名をオプションに設定します。

lets_mail

コマンドで、メールアドレスを設定しませんでしたが、ここで聞かれました。

lets_agree

オプションについて

certonly 証明書の取得のみを行います。
–webroot ドキュメントルートに、認証用ファイルを生成します。
-w ドキュメントルートを指定します。
-d 証明書を取得するドメイン名を指定します。
複数設定できます。

証明書をサーバーに設定

以下の場所に証明書が取得されるので、vhosts.confssl.confなどに設定してください。

証明書
/etc/letsencrypt/live/tukumemo.com/cert.pem

証明書+中間CA証明書
/etc/letsencrypt/live/tukumemo.com/fullchain.pem

秘密鍵
/etc/letsencrypt/live/tukumemo.com/privkey.pem

中間CA証明書
/etc/letsencrypt/live/tukumemo.com/chain.pem

Apacheのバージョンでも少し書き方が違うようなので、適宜確認してください。

confファイルのチェック

設定にエラーがないことを確認しましょう。

自分に起きたエラー

私の場合、こんなエラーに遭遇しました。

mod_sslを有効にする

confのどこかにmod_sslを有効にする記述を入れます。

証明書のパーミッション

証明書のパーミッションを変更しました。

.htaccessにリダイレクトを入れる

アクセスされたとき、httpsになるように.htaccessにリダイレクトの設定を記入します。

証明書を自動更新

証明書を自動更新するためにcrontabに登録します。
crontabとは、設定した時間になったらスクリプトなどを実行してくれるコマンドです。

SSL/TLSの問題

こうして、tukumemoがSSL/TLSになったのですが、いくつか問題が起きました。

Amazonのアフェリエイト

Amazonのアフェリエイトがhttpsに対応していないです。

そこで、iframeを利用した公式のものではなく、アフェリエイトタグを生成するWebサービスを利用します。
他にもいろいろありましたが、ツクメモでは、こちらを採用いたしました。

amazlet

出力されたタグは、書き換えできるので、httpsでない画像部分を書き換えます。

http://ecx.images-amazon.comhttps://images-na.ssl-images-amazon.comに変えると、大丈夫になります。

いまのところ、手動なので、全ページに適用しておりません。

はてなブックマーク

すごく困ることではありませんが、httpのときに頂いたブックマークが0になってしまいました。

まとめ

root権限でアクセスできるサーバーが必要になるので、それ自体の敷居は高いと思いますが、すでに環境があって、SSL/TLSにしていない場合、結構簡単にできるので、やってみてはいかがでしょうか。
では!

暗号技術入門 第3版 秘密の国のアリス
SBクリエイティブ (2015-09-17)
売り上げランキング: 13,941