Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから
公開日:2016年10月1日
最終更新日:2016年10月3日

無償SSL/TLS証明書の Let's Encrypt の設定が劇的に簡単になっていた

はじめに

無償で使用できる SSL/TLS 証明書の Let’s Encrypt は、以前から簡単に SSL/TLS 証明書を取得できたのですが、仕組みがバージョンアップしてさらに簡単になっていましたのでその手順をご紹介します。

以前、正式版リリース時に行った以下の設定方法は今も有効ですのでご心配なく。新しい方法は、環境によって動作しないことがあるようなので以下の方法があるということは知っておいてもよいかもしれません。

今回は、CentOS 7 + Apache に Let's Encrypt の SSL/TLS 証明書を設定します。

事前準備

SSL/TLS 証明書をインストールする前に、以下の事前設定を行っておきましょう。

まずは以下のパッケージをインストールします。

そして下記のように、Apache のバーチャールホスト名の設定を行います。この設定が行われていないと、後で SSL/TLS 証明書のインストールができないのでご注意ください。なお、今回のサーバー名は www.aruse.top とします。

環境によって、ファイアウォールが通信をブロックしていることがあるので、その場合は通信を許可するようにしてください。設定方法は、以前の記事を参照してください。

SSL/TLS 証明書のインストール 

Certbot というサイトにアクセスして、OS と Web サーバーを選択すると、インストール手順が表示されます。

今回は、CentOS 7 + Apache なので、以下のように選択しました。

Pic01

以下のコマンドで EPEL リポジトリと Certbot のパッケージをインストールします。

そして以下のコマンドを実行すると、ウィザードが立ち上がります。

ウィザードが起動すると、以下のように HTTPS にするサーバー名を尋ねてくるのでチェックを入れたまま<了解>を選択します。

Pic02

メールアドレスを入力して<了解>を選択します。

Pic03

利用規約に同意して<Agree>を選択します。

Pic04

なんと!たったこれだけのステップで SSL/TLS 証明書のインストールができてしまいました!驚きの進化ぶりですね!

Apache などの設定

Apache 2.4.8 未満の場合は、 サーバー証明書、中間証明書、秘密鍵 が必要で、Apache 2.4.8 以上の場合や Nginx の場合は、サーバー証明書+中間証明書、秘密鍵が必要になります。

CentOS 7の Apache はデフォルトで Apache 2.4.6 なので、サーバー証明書、中間証明書、秘密鍵 の指定が必要です。

以下の場所にインストールされた SSL/TLS 証明書が保存されています。

ssl.conf の設定を行います。

httpd.conf の設定を行います。

Apache を起動して、https://www.aruse.top  にアクセスしてみると問題なく設定出来ていることが分かります。

Pic05

SSL/TLS 証明書の詳細を確認すると、Let’s Encrypt から正しい SSL/TLS 証明書が発行されていることが分かります。

Pic06

自動更新の設定

Let’s Encrypt の SSL/TLS 証明書の認証期間は90日間しかないので、期限が来る前に自動で更新できるようにする必要があります。

まず、以下のコマンドを実行して自動更新が正しく実行されるか確かめます。

問題なく実行されたようです。そうしたら、以下のコマンドを cron か systemd のタスクに登録して定期的に実行できるようにします。

今回は crontab に、root ユーザーで毎日2回実行するように設定してみます。それは、更新に失敗する可能性があるので、1日に2回実行することが推奨されているためです。

まず、以下のようにユーザーと -e オプションを付けて実行します。

するとテキストエディタが表示されるので、以下のように設定して保存します。タスク実行の度に毎回メールが飛んでくるのはうっとうしいので、メールの通知を無効にしています。

これで毎日必要があれば SSL/TLS 証明書が更新されるので、問題なく HTTPS のサイトを運用することができます。

おわりに

新しい Let’s Encrypt の SSL/TLS 証明書の設定方法をみてきましたが、いかがだったでしょうか。

Apache などの設定はありますが、SSL/TLS 証明書のインストールがこれだけ簡単になったのは画期的なことだと思います。

常時 HTTPS 化がますます進みますね。


スポンサーリンク




カテゴリー:ブログ

Twitter でも、いろんな情報を発信しています。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA