この記事は私が100社以上のSSL設定をしてきた得た苦労や注意点を整理し、エンジニアでない人にSSLとはどういうものか、どういう作業が発生するのかを簡単にまとめたものです。
目次
- GoogleがSSLを推進する理由
- SSL証明書の費用の違い
- SSL証明書のインストールについて
- SSL設定のフロー
- その他注意点
最近ネットサーフィンをしていると、こういうマークを目にする機会が増えたと思います。Google ChromeがSSLの対応をしていないウェブサイトの表示に警告を出すようになりました。この背景にはどういう事情があるのでしょうか。それはGoogleが営利目的の企業だからです。どういうことか詳細に説明していきましょう。
Googleは広告収入が売上の大半を占めています。Googleがこの収入をさらに増やすにはどうすればいいか?それはインターネットや検索をより快適なものにする必要があります。インターネットが快適であればあるほど、インターネットの利用者は増えて、広告の利用者も増える。多くの人はGoogleを使うのにお金を払うことはないから気づきにくいかもしれませんが、Googleは営利企業なのです。ではSSLとインターネットが快適であることはどういう関係があるのか?それがおおありなのです。
GoogleがSSLを推進する理由
SSLとはネット上のデータを暗号化して通信する仕組みのことで、Secure Sockets Layerの略です。RSAという桁数の大きい素因数分解の組み合わせは見つけるのが困難という仕組みを利用した高度な暗号化の技術が用いられ、そのセキュリティを担保しています。
SSLはかつてはECサイトなどのように個人情報やカード情報などのやりとりの際にだけ使用されていましたが、最近は個人情報のやりとりに関係なくウェブサイト全体にSSLを適用する「常時SSL」というのが主流になりつつあります。なぜか?SSLを申し込む際、発行機関に個人情報を提供します。認証レベルの高いSSLの場合はかなり厳密な本人確認、在籍確認があります。つまり、インターネットを利用して悪企みをしている人はSSLを申し込みにくいのです。これがGoogleが「インターネットを快適にして広告収入を増やそうとしている」とつながってきます。インターネットから犯罪の温床になるような悪質なサイトを少しでも排除することができれば、それだけインターネットは快適になります。結果としてGoogleの広告収入が増える。こういうコンセプトに基づいてgoogleは常時SSLを推進しているのです。
SSL証明書の費用の違い
SSL証明書には年間5万円と高額なものから(もっと高いのもあります)、年間1,000円もしないものまで幅広い値段の証明書があります。Appleのサイトをサイトをみれば分かりますが、URLが表示されるアドレスバーに法人名が表示されています。これは高いタイプで審査が厳しく発行に時間がかかります。一方、1,000円未満の証明書は審査がゆるく発行されるのも早いです。安い証明書だとブラウザの対応率が低い場合があります。ま、安いので文句は言えませんが、小さな会社や個人経営レベルの美容室などはこの価格帯のSSL証明書で十分です。
ほかにAWSを利用していれば使えるSSL証明書や、無料SSLの「Let’s Encrypt」などもあります。Let’s Encryptは更新が3ヶ月おきと頻度が高く手間がかかるので、自動で更新する必要があります。
SSL証明書のインストールについて
SSL証明書はサーバーにインストールする必要があります。レンタルサーバーの場合は簡単に設定できますが、専用サーバーの場合はエンジニアでないと対応できません。このインストール作業にエンジニアの人件費がかかるので、インストール作業が発生します。自社にエンジニアがいればいいですが、そんな会社は稀でしょう。自社で対応できない場合は、外部に発注するしかありません。
SSL証明書のインストールは専門的な作業のため2万円とか3万円とか、あるいはもっとする場合もあります。
SSL設定のフロー
SSLを申し込み証明書のインストールが完了するまでの基本的な流れは以下の通りです。
- 秘密鍵とCSRを作成する
- 証明書を申し込む
- 認証ファイルを設置する
- 証明書が発行される
- サーバーに証明書をインストールする
- URL正規化をする
- フロントの確認
いきなり秘密鍵とかCSRという言葉が出てきて面くらいますが、これは避けては通れないです。サーバーにログインし秘密鍵とCSRを作成します。いきなりハードルが高いですが、代行でファイルを作成してくれるサービスやツールがあるかもしれません。注意すべきは作成した秘密鍵をなくさないことです。秘密鍵をなくすとCSRの作成からやりなおす必要があるからです。
また、HTMLにhttpから始まる絶対パス記述の外部ファイルがある場合は相対パスに書き換えるか、httpsから始まるURLに変更する必要があります。けっこうめんどいし、ページ数が多いとかなり大変です。
その他注意点
SSLは一度設定するとはずすという選択肢が事実上ありません。なぜならURL正規化をすると検索エンジンにhttpsで登録されるからです。一度設定した後で費用を惜しんでSSLをはずすくらいなら、最初からしないほうがいいでしょう。