無料のサーバ証明書 Let's Encrypt でwebサイトを常時SSL化

前田です。1月24日(日)は島根県松江市では1991年2月23日以来の真冬日を記録しました。外出はせず、webサーバの移行作業をして過ごしていました。


https by Sean MacEntee

最近、webサイト全体をHTTPSで暗号化して配信する「常時SSL」を耳にすることが多くなりました。暗号化通信により傍受が防止できる、サイト利用者の安心感につながるなどののメリットがあります。

そこで、ファーエンドテクノロジーのサイト www.farend.co.jp も1月25日(月)から常時SSL化してみました。Let's Encrypt という無料の証明書発行サービスを使ったのですが、申請・取得・インストールが非常に簡単にできる仕組みが整えられていて感激しました。

常時SSLのメリット

安全な通信

ブラウザとサーバの間の通信が暗号化されるので、秘密の保護に役立ちます。通信に第三者が密かに介入して改ざんなどが行われる中間者攻撃(man-in-the-middle攻撃)も防げます。

フリーWiFiスポットなど通信傍受しやすい環境からのアクセスも安心できます。

SEOで若干有利

Googleは2014年、ランキングを決定するにあたりHTTPSでの通信に対応しているかどうかを考慮するとウェブマスター向け公式ブログで発表しました。

HTTPSへの対応はコンテンツの質ほどは重視されないようですが、HTTPSに対応するだけでわずかでも点数稼ぎができるのは悪い話ではありません。

利用者の安心感

ブラウザのアドレスバーに表示される鍵マークは安全な通信を示すものとして広く広く認知されていますので、サイトの利用者の方には安心感をもってもらえます。

無料でサーバ証明書が取得できる Let's Encrypt
無料かつ簡単にHTTPS対応

webサイトをHTTPSに対応させるにはサーバ証明書が必要ですが、今回の常時SSL化では Let's Encrypt で取得した無料の証明書を利用しました。

Let's Encryptは無料の証明書を提供するサービスです。運営主体はInternet Security Research Group (ISRG) という団体で、Mozilla、Akamai、Cisco、Facebookなど25の企業・団体がスポンサーとなっています。2015年12月からパブリックベータサービスが開始され、誰でも自由に利用できるようになりました。


Let's Encryptのwebサイト

これまでwebサイトをHTTPS対応にするための大きなハードルはサーバ証明書のライセンス料金がかかることでした。そのため、公開情報を掲示しているだけの、個人情報などを扱わないサイトでは暗号化無しで運用することが多いと思います。Let's Encryptは無料なので、例えば個人ブログサイトなどでも気軽にHTTPS化できます。

メリットは無料であることだけではありません。Let's Encryptでは証明書の取得を自動化するためのACMEプロトコルという仕組みが整備されていて、公式クライアントを使えば申請から取得までを簡単な操作で済ますことができます。Ubuntu上でApacheを使っている場合はwebサーバの設定変更も自動で完了できます。

Let's Encrypt の導入手順
1分で証明書の申請からインストールまで完了!

ファーエンドテクノロジーのサイトをLet's EncryptでHTTPSに対応させた手順を紹介します。基本的には 公式サイトのドキュメント に記載されている通りで特に迷うことはありませんでした。むしろ、あまりにも簡単に常時SSL化が完了したのに驚きました。

サーバの環境

Let's Encryptでは公式クライアントを使って証明書の申請・取得を行います。公式クライアントはほとんどのLinux環境で実行可能ですが、Ubuntu上でwebサーバとしてApacheを使っている場合はHTTPSに対応するためのサーバの設定変更まで自動で行われます。

せっかくなので、CentOS + Apacheの環境で動かしていたサイトをUbuntu + Apacheに移行しました。

公式クライアントによる申請とインストール

細かな手順は 公式サイトのドキュメント をご覧いただくとして、ここではいかに簡単にHTTPSに対応できるのかをスクリーンショット中心に紹介します。

Ubuntu + Apacheの環境で公式クライアント letsencrypt-auto を実行すると、現在そのサーバ上で運用しているバーチャルホストの一覧が表示されます。ここでHTTPS化したいサイトを選択します。今回は www.farend.co.jp をHTTPS化するのと同時に有償のサーバ証明書で運用中の www.farend.ne.jp もLet's Encryptに切り替えるので、二つのホスト名を選択しました。

そのサーバで初めて証明書の申請をするときには連絡先のメールアドレスの入力が求められます。

メールアドレスを入力後 OK で進むと、なんと証明書の申請・承認・ダウンロードまでが即時完了します。通常だと結構手間がかかる作業なのですが、Let's Encryptだと公式クライアントを起動してから数十秒で完了してしまいました。

証明書の取得が終わるとApacheをどのように構成するか問われます。 Easy だとHTTPとHTTPSのどちらでもアクセス可能で、 Secure はHTTPのページにアクセスがあるとHTTPSのページに転送されます。HTTPS化によってページの表示に影響がないか確認してから常時SSL化したいので、まずは Easy を選びました。

"Congratulations!" と表示されました。この画面が表示された時点で、Apacheの設定も変更され HTTPS でアクセスできる状態になっています。サーバ証明書の申請とダウンロード、HTTPS化のためのApacheの設定変更がすごく簡単に完了しました。

サイトが正常に表示されるか確認

HTTPSのページ内で暗号化されていないコンテンツが埋め込まれていると、ブラウザにブロックして表示されないことがあります。トップページを表示させて異常がないことを確認しました。アドレスバーに鍵マークが表示され、また鍵マークをクリックすると証明書の情報も表示されます。

実は一部のブログ記事は画像をHTTPで参照しているためブラウザのアドレスバーに鍵マークが表示されないのですが、大多数のページでは問題ないので当面は許容することとしました。

常時SSL化

表示の確認ができたので、暗号化無しのHTTPのページへのアクセスがあった場合もHTTPSのページに転送する常時SSL化の設定を行います。letsencrypt-auto コマンドを再度実行すれば設定できます。

新規に証明書を取得したときと同じドメインを選んで、

取得済みの証明書の再インストールを指定して、

常時SSLにしたいので、今度は Easy ではなく Secure を選んで、

これでApacheの設定が更新され、常時SSL化できました。

サイト利用者の方が http://www.farend.co.jp/ しても、自動的に https://www.farend.co.jp/ に転送されるようになりました。ファーエンドテクノロジーのコーポレートサイトへのアクセスは必ず暗号化されます。

まとめ

Let's Encryptを使えば無料であることだけでなく、証明書の取得・導入・更新が自動化可能な方法で行えるのが画期的だと思います。このようなサービスが提供されることで、運営するすべてのサイトを常時SSL化することが現実的になりました。ファーエンドテクノロジーでも徐々に運営サイトを常時SSL化する予定です。

無料で証明書が提供されるのはLet's Encryptだけではありません。Amazon Web Servicesも AWS Certificate Manager (ACM) というサービスを発表し、ELBおよびCloudFrontで無料でサーバ証明書が利用できるようになりました。

これらのサービスにより、HTTPS化のための大きなハードルだった証明書料金を無料にするという選択肢ができました。近い将来、規模や用途を問わずwebサイトはHTTPSで配信するのが当たり前で、暗号化無しのサイトへのアクセスは好ましくないとされる時代が到来するかもしれません。

ただ、Let's EncryptやACMで発行されるサーバ証明書はDV(証明書であり、ホスト名の管理権限のみを確認して発行される最も信頼性の低いものです。申請者が www.farend.co.jp というサーバを管理する権限があることは確認されるものの、それがファーエンドテクノロジー株式会社のサーバであることの確認は行われません。サイトの用途によっては、登記簿や電話連絡により実在する企業か審査されるOV証明書、もしくはOV証明書よりもさらに厳格な審査が行われるEV証明書を選択する必要があります。

ファーエンドテクノロジーからのお知らせ(2024/04/24更新)
入門Redmine 第6版 出版記念企画セミナー「Redmineのアクセス制御」【2024/5/30開催】
入門Redmine 第6版(2024年3月23日発売)の書籍から「Redmineのアクセス制御」について解説します。
My Redmine 初回ご契約で「入門Redmine 第6版」プレゼントのお知らせ
Redmineのクラウドサービス「My Redmine」を初めてご契約いただいたお客様にRedmine解説書「入門Redmine 第6版」を進呈いたします。
2024年度ブランドパートナーに島根県在住のモデル ユイさんを継続起用
ユイさん(モデルスタジオミューズ所属)をファーエンドテクノロジーの2024年度ブランドパートナーとして継続して起用します。
My Redmine スタンダードプランおよびAdminサポートデスクプランの料金改定のお知らせ【2024年4月ご利用分より】
2024年4月ご利用分より、My Redmine スタンダードプラン(民間企業・個人向け及び官公庁向け)とAdminサポートデスクプランの料金を改定いたします。
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け