今さら聞けない常時SSL化の必要性、費用、導入方法について

昨今IT/ウェブ業界では、常時SSL化が話題になっており、対応を求められることも多くなってきたのではないでしょうか。
当記事では、常時SSLの必要性や、常時SSLを導入するための方法をご紹介いたします。

 

目次

 

常時SSLとは

常時SSLとは、ウェブサイトの閲覧を常にSSLで通信を行うことです。
SSL通信とは、インターネット上の通信を暗号化するため仕組みです。通信を暗号化することで端末とサーバー間の盗聴や、改ざんができなくなります。

少し前のWebでは、個人情報や、クレジットカード番号を入れるようなサイトに対してSSLを導入していました。
しかし昨今では、個人情報を取り扱わないようなサイトでもSSLを導入する、通称「常時SSL」化が進んでいます。

 

常時SSLの必要性

 

SSL通信は元々、クレジットカード番号や個人情報などの重要な情報を、やり取りするページに利用されていました。
しかし非SSL通信でのインターネット利用は下記の危険性があります、

  • 盗聴
  • 改ざん
  • なりすまし

インターネットをより安全に、安心して利用できるように、個人情報などを送受信するサイトはもちろんのこと、情報を発信しているだけのサイトも常時SSLが求められるようになりました。

これらの時代背景から、各ウェブブラウザベンダーでは、2017年から徐々に非SSLサイトに対して、警告を出すようになってきました。
そしてChromeブラウザは、2018年7月より、全てのhttpサイト(非SSL)に対して警告がでるようになり、さらに2018年9月より警告がより目立つように赤色で警告されるようになります。

非SSLサイトの場合

非SSLサイトの場合、Chromeブラウザでは下記の通りアドレスバーに警告がでます。

 

関連記事(外部サイト)

「Google Chrome 62」が正式版に ~HTTP接続のフォームはすべて“非セキュア”扱いへ

「Chrome 68」から全HTTPサイトに警告表示へ--7月リリース

安全性を示すHTTPSのラベルとアイコンがGoogle Chrome 69から削除、一方で非HTTPSページでは赤色反転で危険性を強調

 

常時SSLの必要性の次は、実際にウェブサイトを常時SSLに対応する方法をご紹介いたします。

 

(導入方法)サーバー証明書と価格について

 

常時SSLを利用するには、まずウェブサーバーにSSLサーバー証明書を導入する必要があります。
多くのレンタルサーバーは、無料から20万円くらいまでの証明書が用意されているので、申し込みをしてください。

Let's Encrypt : 無料(手数料などかかる場合あり)
DV、OV、EV証明書 : 3,000円 〜 20万円程度

価格の違いによる、暗号化強度の違いはありませんが、証明書の種類により証明できる種類がことなります。
詳しくは「今さら聞けないSSL証明書とは、DV、OV、EVとは、常時SSLについて」を参照ください。

 

(導入方法)httpから、httpsにリダイレクト

 

サーバー証明書を取得したら、https://~ から始まるURLで、ウェブサイトにアクセスすることができるようになります。
今後 https://~ にサイトのURLを変更しますので、 http://~ に来たユーザーを、 https://~ に転送します。

転送は、サイトのURLが変わったことを検索エンジンに伝えるため、301リダイレクト転送を行います。

手順

* この作業はウェブサイトが表示できなくなる可能性がありますので、必ずテスト環境で検証してから、本番環境に設置してください。
 

  1. ウェブサーバーの直下に「.htaccess」ファイルを追加します。
    すでに「.htaccess」が存在する場合は、ファイルを編集してください。
     
  2. .htaccessファイルに下記のコードを追加します。
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*$) https://example.com/$1 [R=301,L]
    </IfModule>

    2行目(RewriteEngine on):リダレクト処理を有効にします。
    3行目(RewriteCond %{HTTPS} off):http通信でアクセスしてきたら次の処理を実行
    4行目:https:// に301転送します。「example.com」を、ウェブサイトのURLに変更してください。
    すでに「RewriteEngine on」の記述がある場合は、その直下に追記をしてください。

 

(導入方法)内部リンクの変更

 

ページ遷移や、画像パス、CSS・JSパスなどの内部リンクに http:// ~  の記述がある場合、全て https:// ~ に変更してください。

(例)

<a href="http://example.com">
 ↓ ↓ ↓
<a href="https://example.com">

外部へのリンクの場合、その外部サイトが https:// ~ に対応していない場合もありますので、注意してください。

 

(導入方法)Facebook、はてブの引き継ぎ

 

http://~ で、押されたFacebookのいいねや、はてなのブックマークは、URL変更にともないゼロに戻ってしまいます。
これを引き継ぐ方法をご紹介します。

Facebook

Facebookの公式サイトにも掲載がありますが、og:urlを「http://~」に変更し、 http:// から、https:// のリダイレクトをFacebookクローラーの場合のみ、除外します。

HTMLのog:urlを http://~ にする

<meta property="og:url" content="http://example.com/">

 

.htaccessを編集

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_USER_AGENT} !(Facebot|facebookexternalhit/1.1) [NC]
  RewriteCond %{HTTPS} off
  RewriteRule ^(.*$) https://shared-blog.kddi-web.com/$1 [R=301,L]
  </IfModule>

3行目が、Facebookのクローラーを除外する記述で、それ以外はhttp://~ を https://~ にリダイレクトする方法です。

 

確認方法

Facebook Debugerを使い、デバッグをしてください。
下記の通り、Input URLが「https」、og:urlが「http」になっていれば設定完了です。

変更されない場合は、「Scrape Again」ボタンをクリックしてください。

 

はてなブックマーク

はてなブックマークの場合は、ボタン作成用のページから、保存するURLを「http://」のアドレスにし、サイトに設置してください。

 

 

(導入方法)Google Search Console

 

サイトをSSL化することでGoogle Search Consoleで未確認サイトになってしまいます。
Googleがより高度なクロールができるように、Google Search Consoleに追加登録します。

Google Search Consoleにログインし「プロパティの追加」から、https://~ のアドレスを追加します。

サイトマップの登録

  1. Search Console Topの「サイトマップ」をクリックします。
     
  2. サイトマップを追加します。

     
  3. サイトマップの追加完了

サイトマップとは

サイトマップとは、ウェブサイトの構造をリスト化し、検索エンジンやユーザーに分かりやすく伝えることです。
今回の場合は検索エンジンに伝えるためのXML形式のファイルのことです。

WordPressの場合は、Google XML Sitemapsプラグインを導入することにより、サイトマップを生成することができます。

 

さいごに

 

常時SSLに対応していないサイトもまだ多く存在しているのが現状ですが、ユーザーの不安要素や、SEOで不利になるなどありますので、早めの対応を行いたいところです。

レンタルサーバーのCPIでは、シマンテックや、セコムなど各社 SSLを多数取り扱っておりますので、ぜひご検討ください。

 

この記事をシェアする:

Author
この記事を書いた人:阿部 正幸

モチヤ株式会社 阿部正幸

KDDIウェブコミュニケーションズに入社後、CPIブランドのACE01をプロダクトマネージャーとしてローンチし、エバンジェリストとしてイベント登壇を行う。
現在は、KDDIウェブコミュニケーションズを退職し、モチヤ株式会社で、Web制作、受託開発、コンサルティングを行なっている。