無料SSL「Let’s Encrypt」をさくらのVPSに導入しました。

SSLの費用って高いですよね。
最近は安いものもありますが、シマンテックのようなちゃんとした企業の認証となると、とても高価です。

そこで、僕も最近知ったばかりの無料SSL「Let’s Encrypt」を導入することにしました。

Let’s Encrypt 総合ポータル

Let’s Encrypt は、認証局(CA)として「SSL/TLSサーバ証明書」を無料で発行するとともに、証明書の発行・インストール・更新のプロセスを自動化することにより、TLS や HTTPS(TLSプロトコルによって提供されるセキュアな接続の上でのHTTP通信)を普及させることを目的としているプロジェクトです。
非営利団体の ISRG (Internet Security Research Group) が運営しており、シスコ(Cisco Systems)、Akamai、電子フロンティア財団(Electronic Frontier Foundation)、モジラ財団(Mozilla Foundation)などの大手企業・団体が、ISRG のスポンサーとして Let’s Encrypt を支援しています。

導入について

Let’s Encrypt の使い方を見ていただければ、ほぼほぼわかるかと思います。

一応、自分の手順も載せておきます。
OS:entOS release 6.8 (Final)

yumでepel-releaseも入れているはずですが、yumでインストールできず、wgetにて持ってきました。

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto

落としてきたcertbot-autoを実行すると、対話形式でインストールが進められます。

どのドメインでhttpsを使うのかを聞いてくれたり、
以下のように、httpsへリダイレクトするかどうかまで確認してくれます。
この段階で確実にhttpsで動く保証がなかったので、僕は「1: Easy」にしました。

========================================================
Please choose whether HTTPS access is required or optional.
——————————————————————————-
1: Easy – Allow both HTTP and HTTPS access to these sites
2: Secure – Make all requests redirect to secure HTTPS access
——————————————————————————-
Select the appropriate number [1-2] then [enter] (press ‘c’ to cancel):
========================================================

インストールの段階でポート443を開いていないとインストールが完了しないので注意してくださいね。

インストールは思っていたよりもずっと簡単でした。

苦戦したポイント

SSLチェッカーにかけるとCommon Nameが違うと言われる

インストールが完了した時点で、/etc/httpd/conf.d/以下に、それまで使っていたconfにSSLの設定を追加する形で、新しいconfファイル(***-le-ssl.conf)を作ってくれています。
その中に、SSLCertificateFile、SSLCertificateKeyFile、SSLCertificateChainFileを書いてくれていて、めちゃくちゃ親切!
でも、それだけでは動きませんでした。

SSLチェッカーにかけると、Common Nameが違うと言われる始末です。
Common Nameには、www****.sakura.ne.jpという標準ホスト名が出ていました。

結果的には、
/etc/httpd/conf.d/ssl.confの

VirtualHost _default_:443から
閉じタグの/VirtualHostまでをばっさり消すと動きました。

defaultの中にSSLCertificateFile等の初期設定が書かれていて、
そちらが使われてしまっていたのではないかと思われます。

ちゃんと動くようになってからは、SSLチェッカーでA判定ゲットです。

証明書の有効期限が3ヶ月しかありませんので、自動更新の設定が必要です。
僕は、Let’s encrypt運用のベストプラクティスの「証明書の更新」を参考に、cronに設定しました。

自分も含めですが、ssl.confのところでハマる方はいるのではないでしょうか。
同じ現象で困っている人の役に立てば幸いです。

コメント

タイトルとURLをコピーしました