「常時SSL化って何?どうするの?」を初心者目線で詳しく解説します

鍵:SSLについてホームページ
スポンサーリンク

SSLって何?どうして安全な通信方法なの?

今日はこういった疑問をスッキリ理解できるように初心者目線で解説したいと思います。

  • SSLって何?
  • SSL化の方法はどうするの?
  • SSL化は何のためにするの?
  • SSL化はどうして安全なの?

常時SSL化はホームページ作成の山場の一つです。レンタルサーバーやドメインを契約して、DNS設定やサイト設定で、すでにお疲れだと思います。あとちょっとで、ホームページを作り出すことができますよ。「よくわかんないけど、常時SSL化が出来ていた!」となるように、なるべく分かりやすく解説します。

目次にはリンクが張ってありますので、気になるところに飛ぶことができます

スポンサーリンク

SSLについて

SSLとは通信方法のこと

SSLはSecure Sockets Layerの略語で安全な通信方法のことです。URLの頭の部分を「http://」から「https://」に変えます。そして、URLの前後に鍵マークをつけて、通信が安全かどうかを知らせてくれます。

Microsoft Edge
Internet Explorer

Internet Explorerでは、さくらインターネットのURLのアドレスバーは緑になっています。認証の仕方違いで緑色になっています。EV認証と言われる方法で認証したサイトという意味です。

無料SSLでよく利される「Let’s Encrypt(レッツ エンクリプト)」はドメイン認証です。ブラウザによって「https」の表記が異なりますが基本的には同じです。

SSLの通信方法

SSL化したホームページを開く時に下のやりとりが行われています。

SSLの通信方法:共通鍵と公開鍵
  1. ユーザーが認証を受けたホームページにアクセスする
  2. 見たいホームページのサーバから公開鍵証明書がパソコンに届く
  3. 認証局の情報が書かれている公開鍵証明書とパソコンに登録された認証局と一致するか確認する
  4. 一致したら、公開鍵認証書から公開鍵を取り出す
  5. パソコンは共通鍵を作り、公開鍵で共通鍵のスペアを暗号化する
  6. 暗号化した共通鍵をサーバに送る
  7. パソコンとサーバが共通鍵を持つ
  8. 共通鍵を使った通信となる

SSLの種類

無料SSL、有料SSL

有料SSLで有名なのが「Let’s Encrypt」です。このサイトや奉職する神社のSSLも同じです。無料と有料ではセキュリティの違いはありません。 認証の仕方が異なります。認証方法によって、フィッシング詐欺などのなりすましを防ぐ事ができます。

「Let’s Encrypt」が無料で提供できる理由はのさくらインターネットの「無料SSL証明書Let’s Encryptとは?」によると自動で更新ができるからです。

認証方法(認証書)

認証方法には3種類あります。ドメイン認証(DV)、企業認証(OV)、EV認証です。EVはExtended Validationで、拡張された検証という意味になります。

ドメイン認証企業認証EV認証
ドメイン名登録名義証明
企業の実在証明
厳格な審査
価格1000円~5万円~10万円くらい
信頼度

厳格な審査を通ったEV認証はアドレスバーが緑色になり、組織名が記されます。

ドメイン認証方法について深掘りしたい方はこちらのサイトがおすすめです。 

常時SSL化について

癒やし画像:うさぎ

常時SSL化とは「https」の一本化

常時SSL化とはURLを「https://」で始まるようにすることです。

ただ、ホームページをSSL化しただけでは、「http://」と「https://」の2つの同じ内容のホームページが存在していることになります。これを、httpsのページ一本化する作業が必要になります。URLを1つにすることをURL正規化と呼びます。

このブログでは一連の作業、SSL化しホームページのURLを1本化するまでの作業を常時SSL化として解説しています。

常時SSL化の手順

  1. SSL化する
  2. 「http://」を「https://」にリダイレクトする

現在、ほとんどのWebサイトが「https」から始まるURLになっています。SSLが普及したのは安全面からですが、デメリットがあるからです。そのため、個人情報を送信することがないサイトでも常時SSL化にしています。

常時SSL化をする理由

通信の暗号化を行うことによってセキュリティを高めます。Webサイトの改ざん、通信内容の盗み見、第三者のなりすましを防ぐ事ができます。

また、2014年にGoogleがhttpsは検索順位を決定する要素の1つと公表したことにがあります。・・・こちら

常時SSL化を行っていない場合、アドレスバーに「保護されていない通信」と表示されます。

常時SSL化の目的

  • Web改ざんを防ぐため
  • 通信内容の盗み見を防ぐため
  • 第三者のなりすましを防ぐため
  • SEO対策
  • 「保護されていない通信」と表示させないため

ドメインを取得して、レンタルサーバーを契約した時は、まだURLは「http」のままです。それを認証を行い、サーバ認証書が発行されサーバに登録すると「https」のURLができます。

ホームページのURLがはじめからhttpsであれば簡単なのに、なんでSSL化しなくてはならないのでしょうか?それは、サーバーの証明書を発行する認証局は、レンタルサーバーとは別の組織だからです。

SSL化の手順

SSL化はレンタルサーバーで設定をします。例としてさくらインターネットのレンタルサーバーとコアサーバーをご紹介します。

さくらインターネットの場合

さくらインターネットのSSLは共有SSLと独自SSLの2つがあります。共有SSLは、さくらインターネットが所有する証明書を利用します。そのため面倒な書類提出や設定が簡単な操作で済みます。

独自SSL共有SSL
さくらインターネットの独自SSL証明書さくらインターネットの共有SSL
対象独自ドメイン
独自サブドメイン
初期ドメイン
さくらインターネットのサブドメイン
証明書Let’s Encyptさくらインターネット
証明書の発行先独自ドメインさくらインターネットのドメイン
信頼性高い普通
無料の独自SSLと共有SSLの違い

さくらインターネットの共有SSLとについてはこちらのページ、Let’s Encyptについてはこちらのページをご覧ください。

1.「ドメイン/SSL」のメニューの「ドメイン/SSL」を選びます

2.SSLの設定法を行いたいドメインを選びます。画像は、私が奉職する神社のホームページのドメイン/SSL設定です。既に設定しています。独自ドメインは「SNI」と表示されています。SNIはレンタルサーバなど1台のサーバを共有する場合のサーバ証明書です。これが独自SSLのLet’s Encyptを表しています。

3.初期ドメインとさくらのサブドメインの場合は「共有SSLを利用する」を選びます。独自ドメインの場合は「SNI SSLを利用する」を選びます。

4.以上が、SSLの設定です。しばらくすると「https」で通信できるようになります。

さくらインターネットで常時SSL化について上手く出来ない場合についてまとめました。よかったら読んでみてくださいね。さくらインターネットで常時SSL化が上手くいかない人はコレを試してみて!

コアサーバーの場合

コアサーバーのSSLは「無料SSL」と「独自SSL」の二つになります。

さくらインターネットは独自SSLの中に無料SSLのLet’s Encyptが含まれていますが、コアサーバーの場合は無料SSLにLet’s Encyptが含まれています。また、初期ドメインはすでに共有SSLに設定されておりますので、変更する必要はありません。

違いさくらインターネットコアサーバー
SSLの種類共有SSLと独自SSL無料SSLと独自SSL
初期ドメインSSL設定の必要ありSSL設定済み

1.コントロールパネルを開きます。サイト設定からSSL設定を行いたいドメインを選びます。

2.サイト設定の詳細です。すでに設定されていますが、変更や新しく登録したいときは「サイト設定の変更」ボタンをクリックします。

3.無料SSLを選んで、保存します。

4.しばらくするとHTTPSで通信できるようになります。

コアサーバー設定のサーバ証明書

コアサーバーでの常時SSL化とwwwなしURLについてまとめた記事があります。よかったら読んでみてくださいね。「コアサーバーでの常時SSL化とhttpsかつwwwなしに統一する方法」

httpsに一本化する

リダイレクト

URLが引っ越しした場合や今回のようにhttpをhttpsにしたいときに、URLを自動で転送することを「リダイレクト」と言います。

最近ではサーバーのコントロールパネルからhttpsへのリダイレクトやwwwあり・なしができるよういなりました。コントロールパネルから設定出来る場合やWordPressの場合はこの記事の内容にはあてはまりません。

なので、ご自身が借りているレンタルサーバのマニュアルをもう一度確認して見てください。さくらインターネットの新コントロールパネルではドメインリダイレクト機能が新しく導入されました。

コアサーバーは自動でリダイレクトします。コアサーバーの転送と、さくらインターネットのドメインリダイレクトは302のリダイレクトです。Googleは301のリダイレクトを推奨していますので、手動を選んだ方がいいように思います。

リダイレクトの手順

手順はこんな感じで行います。「.htaccess」ファイルはファイルマネージャーで直接作る方法がありますが、メモ帳などのテキストエディタを使います。サーバーにアップロードする前に、落ち着いてファイルの確認ができるし、バックアップファイルにもなります。

  1. メモ帳を開く
  2. リダイレクトのコードをコピー&ペーストする
  3. 自分のホームページに合うかどうか確認をする
  4. ファイルを保存する
  5. サーバーにアップロードする
  6. ファイル名を「.htaccess」に変える
  7. 転送が出来ているか確認をする

最後に全てのページが転送できているか確認します。

時間をおかずにすぐに対応しますので、ファイルをアップロードしたらすぐに確認ができます。500などのサーバーエラーの場合はファイルの書き間違えが考えられます。なので、もう一度、全角スペースが入っていないか、綴りが合っているかなど確認してみましょう。

リダイレクトが出来ても警告がでる場合はリンクや画像のURLのコードに「http://」となっている可能性があります。ホームページビルダーなどでソース(コード)を確認してみてくださいね。

また、さくらインターネットでは共有SSLを使う際の注意事項があります。私はそれに関しては諦めました~。のちほど説明します。

.htaccessファイルとは

リダイレクトには「.htaccessファイル」を使ったリダイレクトを行います。

.htaccessファイルとは「Apache(アパッチ)」を使っているサーバーでアクセスに関わる設定ができるファイルです。

残念ながら、大抵のレンタルサーバーで使うことが可能ですが、契約者自身の責任で行う為、サポート対象外になります。

.htaccessファイルの書き方

「mod-rewrite」という機能(モジュール)を使います。「mod-rewrite」は、あるURLにきたアクセスを別のURLに転送することができます。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

「RewriteEngine On」は「mod-rewriteを仕様します」という宣言です。.htaccess内に1つだけで大丈夫です。

「RewriteCond %{HTTPS} off」は「http://」のSSL化していないURLでアクセスした場合という意味です。

「RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}」は「https://のアドレスに書き換えてくださいね」という意味になります。

[R=301,L]の「R=301」は恒久的に、「L」は終わりの意味です。R=302やRだけというのもありますが、それは一時的に転送する場合に使います。

wwwなしURLにリダイレクトしたい場合

「httpsのwwwなし」のリダイレクトを.htaccessファイルはこんな感じになります。ご自身のURLに変えてアップロードしてください。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.sample\.com) [NC]
RewriteRule ^(.*) https://sample.com/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

前半の「RewriteCond」と「RewriteRule」はwww付きのURLの場合はwwwなしのURLに書き換えて(リダイレクト)してくださいね、という意味です。「RewriteCond」のURLは.(ドット)の前に\(バックスラッシュ)を入力します。\はお使いの状況によって¥(円マーク)になる場合があります。

後半の「RewriteCond」と「RewriteRule」はHTTPSにしてね、と言う意味ですよ。

自動生成のサイトを利用すれば、色々な機能をそなえたファイルが出来上がりますよ!

.htaccessファイルの置く場所

.htaccessファイルは同じ階層とそれ以下の階層に働きます。

.htaccessファイルは設定したいフォルダより上に、ファイルは同じに置く

なので、HTMLで作ったホームページの場合は、トップページのindex.htmlなどと同じ場所に置くいいですよ。上手く機能が働かない、エラーになった場合は置く場所が間違っていないか確認してみてください。

さくらインターネットでの注意事項

初期ドメインとさくらのサブドメインで共有SSLを設定することで、利用不可のURLがあります。

さくらインターネットのサーバーは「wwwが付いたURL」と「wwwが付いていないURL」を区別することなく、どちらの同じページにアクセスができます。

初期ドメイン:sample.sakura.ne.jp

URLその1:http://www.sample.sakura.ne.jp
→http://www.sample.sakura.ne.jp(使用可)
→SSL化→https://www.sample.sakura.ne.jp(使用不可)

URLその2:http://sample.sakura.ne.jp
→http://sample.sakura.ne.jp(使用可)
→SSL化→https://sample.sakura.ne.jp

例えば、初期ドメインが「sample.sakura.ne.jp」だとします。「http://www.sample.sakura.ne.jp」と「http://sample.sakura.ne.jp」が存在し、この2つをSSL化します。HTTPSで通信できるようになり、アドレスが「http://www.sample.sakura.ne.jp」「http://smple.sakura.ne.jp」「https://www.sample.sakura.ne.jp」「https://sample.sakura.ne.jp」の4つになります。

しかし、「https://www.sample.sakura.ne.jp」だけは使えないので、「https://www.sample.sakura.ne.jp」のURLにアクセスしようとすると「このサイトは安全ではありません」の警告文がでます。でも、「Webページに移動(非推奨)」を選べばリダイレクトされます。

なんだかややこしいので、共有SSLを設定する場合は、wwwが付かないURLで運用することをオススメします。

詳しくはこちらのページをご覧ください。

私の場合は諦めました

私が奉職する神社のホームページの旧サイトはさくらインターネットのサブドメインで運用しています。

旧サイトを常時SSL化したときに警告がでるので、サポートセンターに問い合わせをしました。その時の解答を消してしまったので詳しい話は忘れましたが、「https://www」のページは存在しないので、警告がでるシステムになっています、と説明されたように覚えています。

私の場合は旧サイトであるし、神社サイトはマイナーだし、メインはwwwなしURLだから、このままでいいや~、と諦めました。

共有SSLを使われる場合は、よ~く検討してから設定ください。できたら、ドメインは年間利用2000円以内ですので、独自ドメインを持つことをオススメしますよ。

最後に

なんとなくイメージだけでも掴んでいただけたでしょうか?鍵って言われても、よくわからないですよね。技術は分からなくても、ホームページを公開するときには必要な技術です。お問い合わせフォームやショッピングサイトには重要です。

リダイレクトに失敗する場合は、「よくあるリダイレクト失敗:DLG_FLAGS_SEC_CN_INDVALD」を参考にして貰えると嬉しいです。

SSL証明書は戦略的に使う

神社のホームページは性質上無料SSLで十分だと思います。

でも、信頼性やセキュリティ意識をアピールするために有料SSLの導入もアリなんじゃないでしょうか。有料SSLの場合、「信用できるサイトですよ」っていう認証局のバナーをホームページに貼ることができます。

ドメインサービス会社かレンタルサーバーも有料SSLを提供しています。レンタルサーバー独自のプランもありますからあなたが契約しているサービスのところで確認してみてくださいね。

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