ウェブサイトへの接続をセキュリティで保護~SSL設定で通信を暗号化しよう~
SSLとは?
SSLは、Secure Socket Layerの略で、インターネット上で情報を暗号化し送受信できるプロトコル(通信規約)です。
ブラウザとサーバー間のインターネット上でのデータのやりとりを暗号化することで、第三者に情報をのぞかれてしまったり盗まれてしまうことを防ぎます。
逆に暗号化されていないと、ウェブサイトで個人情報やログイン情報を入力して送信した場合、第三者は入力した情報をそのままの状態で見ることができる(=盗まれてしまう)のです。
SSLとTLSの違い
「SSL」を検索キーワードにして調べると「TLS」「SSL/TLS」という言葉も検索結果に出てきます。TLSは、Transport Layer Securityの略です。
サイトの暗号化の技術には歴史があり、最初に導入されたのが「SSL」です。
その後バージョンアップを繰り返し、現在では「TLS」と名前を変えているため、「SSL/TLS」と表記されるようになりました。
ただ「TLS」になった時点では「SSL」という言葉が既に広まっていたため、「TLS」も含めた意味として「SSL」が使われ続けています。
サイトのセキュリティとして使用する場合は、「SSL」「TLS」どちらでも通じますが、バージョンを意識する場合には「SSL」と「TLS」を使い分ける必要があります。
下記は、SSL/TLSのこれまでの公開の歴史です。(2020年9月12日現在)
SSL1.0 | リリース前に脆弱性が見つかったため未公開 |
SSL2.0 | 1994年公開 |
SSL3.0 | 1995年公開 |
TLS1.0 | 1999年公開 |
TLS1.1 | 2006年公開 |
TLS1.2 | 2008年公開 |
TLS1.3 | 2018年公開 |
SSLで保護されたサイトとそうでないサイトの見分け方
SSLで保護されたサイトのURLは「https://」から始まっている
ブラウザのアドレスバーを確認してみてください。
URLが「https://」から始まっていれば、SSLで保護されているサイトです。
SSLで保護されていないサイトのURLは「http://」から始まっている
URLが「http://」から始まっている場合は、SSLで保護されていないサイトで、Microsoft Edgeの場合「セキュリティ保護なし」と表示されます。
※他社サイトのため、URLは画像から削除しています。
Google Chromeの場合は、「保護されていない通信」として警告表示されます。
※他社サイトのため、URLは画像から削除しています。
SSLでの保護はなぜ必要?
ユーザーとサイトの安全のため
「お問合せフォーム」や「予約フォーム」、「ログイン画面」のように個人情報を入力するようなフォームがある場合は、お客様の個人情報やログイン情報を盗まれないようにするため、必ず設定しておきましょう。
入力フォームがない場合でも、SSL化をしておけば見る人に安心感を与えられますし、必要になったときに急いで設定しなくて済みます。
GoogleもSSL化を推奨
また2014年には、GoogleがSSLを推奨する記事を公開しています。
SSLを推奨する理由や、サイトのセキュリティチェックの方法などが書かれています。
HTTPS をランキング シグナルに使用します
Google ウェブマスター向け公式ブログ
Google フレンドリーなサイト制作・運営に関するウェブマスター向け公式情報
SSLを設定するには?
レンタルサーバーでWebサイトを運営している場合は、サーバーの設定画面から無料の独自SSL設定が簡単にできる場合がほとんどです。
エックスサーバーの場合
ログイン後のServerPanelで、「SSL設定」の項目から画面に従って簡単に設定できます。
ロリポップ!の場合
ログイン後の画面で、「独自SSL証明書導入」から画面に従って簡単に設定できます。
ウェブサイトのセキュリティレベルを確認する
上述のとおりSSLには歴史があり、その脆弱性を解消するためにバージョンアップが繰り返されています。つまりSSL化をしたから安心、というわけではなく、適用されているSSLや証明書に脆弱性がないことが重要になります。
脆弱性がないかどうかチェックする方法
SSL Server Testでは、サイトのセキュリティチェックができます。
Hostnameにドメイン名を入力し、Submitボタンを押下します。
セキュリティチェックの結果
診断結果がアルファベットで表示されます。
B以下の場合は、脆弱性が見つかったことになります。
ちなみに現在A判定となっている当サイトは、エックスサーバーの無料独自SSLを使用しています。
SSL設定をしていないと判定エラーになります
SSL設定をしていないサイトは、以下のようなエラー画面となり判定できません。
B判定以下になった場合は
下図の場合は、Protocol Supportが原因でB判定となっています。
脆弱性があるTLS1.0とTLS1.1での接続が、サーバー側で有効になっているようです。
対応について
上記でチェックしたサイトは、ロリポップ!の無料独自SSLを使用しています。
ロリポップ!のWebサーバーが「TLS1.0」と「TLS1.1」での接続を有効にしているため、B判定となっているようです。
ロリポップ!には、こんな記事が出ていました。
2020年8月17日から順次「TLS1.0」と「TLS1.1」を廃止しているようですので、様子を見てからまたセキュリティチェックをしてみましょう。
ロリポップ!の対応が完了したようです!(2020.09.14追記)
ロリポップ!に対応完了の記事が出ていました。
「TLS1.0」と「TLS1.1」を廃止し、もともと対応していた「TLS1.2」に加え、「TLS1.3」を追加したようです。
再度セキュリティチェックを行ったところ、A判定となりました。
さいごに
たくさん書きましたが、一番伝えたかったのはタイトルにもあるように、サイトのSSL化の推奨です。
今回はエックスサーバーとロリポップ!の無料独自SSLを軽く紹介しましたが、現在ご利用中のサーバーに無料の独自SSLがある場合は、数回クリックするだけで設定できる場合がほとんどです。
これを機にぜひぜひ設定をしてみてください!