SSL(https)サイトで「危険なサイトです」みたいのが出る原因と対策

2013年9月 8日 11:38 

  • このエントリーをはてなブックマークに追加
  • Clip to Evernote
  • Yahoo!ブックマークに登録
個人情報を扱うようなホームページだとセキュリティ面への配慮からSSL(https:// ~で始まるやつ)を使うことが多いですよね。
面倒な手続きも済ませて、「これで安全なホームページになったぜ」と意気揚々リンクを押したら【このサイトは危険です。本当に開きますか?】みたいなアラートが表示されたときの悲しみと言ったら。。
せっかくSSLを導入しても、これではむしろユーザさんの不安を煽るばかりです。
その原因と対処法をご紹介します。

SSLとは

そもそも"SSL"ってなんなんでしょうか。

Netscape Communications社が開発した、インターネット上で情報を暗号化して送受信するプロトコル。現在インターネットで広く使われているWWWやFTPなどのデータを暗号化し、プライバシーに関わる情報やクレジットカード番号、企業秘密などを安全に送受信することができる。

SSLは公開鍵暗号や秘密鍵暗号、デジタル証明書、ハッシュ関数などのセキュリティ技術を組み合わせ、データの盗聴や改ざん、なりすましを防ぐことができる。OSI参照モデルではセッション層(第5層)とトランスポート層(第4層)の境界で動作し、HTTPやFTPなどの上位のプロトコルを利用するアプリケーションソフトからは、特に意識することなく透過的に利用することができる。SSL 3.0をもとに若干の改良が加えられたTLS 1.0がRFC 2246としてIETFで標準化されている。

参照元:IT用語辞典

なんだか小難しいですが、要は「http://~と違って暗号化して通信してるよ!」ってことですね。

原因

結論から言うと、このアラートの原因はSSLを使用したページ内に、非暗号化通信が含まれていることです。
ちょっとイメージがしにくいと思うので、「危険ですよ」なホームページのソースを見てみます。
source.gif
赤線の部分に注目してください。
このページはSSLを導入しているのに、aタグやimgタグの中にhttpsに暗号化されていないURLが含まれています。
imgタグに含まれるURLは、運用途中にSSLを導入した場合によく見落としがちなパターンですね。

つまり、ブラウザがこのページを読み込む際に「暗号化ページだけど暗号化されていないURLが入っているから、危険かもしれないよ!」と判断し、件のアラートが出るようです。

対策

「じゃあURLをhttpsに直しちゃえば良いじゃん!」と思いますが、ひとつ注意しなくてはいけない点があります。
SSL化している自分のホームページ内のファイルへリンクする場合はそれで問題ないのですが、
外部でSSLを導入していないホームページへリンクする際は、勝手にhttpsに変更しても404になるだけなので、別の対処を行いましょう。

その対処とは、「http:」部分を削除することです。
たとえば以下の様な形で変更します。
● <a href="http://hogehoge.com">このサイトは危険です。本当に開きますか?</a>
● <a href="//hogehoge.com">このサイトは安全です。今すぐ開いてみましょう!</a>

僕も調べるまでは知らなかったのですが、http:部分がなくても、URLとは認識されるらしいです。
ソースをよく見て回ると、Facebookのウィジェットなどはすでにデフォルトでhttp:なしになっているようでした。
SSLありなし、どちらのホームページにも使用される可能性のあるツールなどは意識しておいた方が良いかもしれませんね。

シェアする

  • このエントリーをはてなブックマークに追加
comments powered by Disqus

Twitter

Facebookページ


Clip to Evernote このエントリーをはてなブックマークに追加
Yahoo!ブックマークに登録

月別アーカイブ

  • セーノのtwitter
  • セーノのfacebookページ
  • セーノのmixiページ
  • セーノのwordpressブログ
  • セーノのgoogle plusページ