SSLとウェブ解析をまとめた

Photo by Pixabay on Pexels.com

SSL/TLS

(以下SSL)はSSL(Secure Sockets Layer)とTLS(Transport Layer Security)。

インターネット上での送受信を暗号化する仕組み(プロトコル)。TSLとSSLの違いはプロトコルのバージョンの違いで、ここではSSLと表現。
主にウェブサイトとユーザーが送受信する情報を暗号化するために利用をします。サイトの管理者は送信される情報を第三者の傍受を防ぎ、情報が改ざんがないことを証明できる。

以前から決済や個人情報の送信フォームでsslは使われていましたが、2014年に大手検索サイトのGoogleは、ユーザが安全にサイトを閲覧できるよう、SSL実装の有無を検索結果の基準の1つとすることを発表。
それからウェブサイト全体にSSLを実装したウェブサイトが推奨してる。

「共通鍵暗号方式」と「公開鍵暗号方式」

SSL では「共通鍵暗号方式」と「公開鍵暗号方式」の両方を用いて、インターネット上のデータ通信を暗号化することで第三者から盗聴を防ぐ。
SSL通信において、ウェブサイト所有者は鍵・証明書発行者の署名データ(ネット上の実印のようなもの)を持つSSL証明書を利用するため、提供者情報を登録する必要がある。この情報をユーザーはSSL証明書で確認できる。具体的にはブラウザのURLを表示しているところにあるカギマークのところで確認できる。


それまでSSLはどのウェブサイトにも必要な手段にもかかわらず、高く(数万円~数十万円)、手続きが面倒。ところがLet’s Encryptのおかげで誰でも、いつでも、簡単にSSLが利用できる。
個人で設定するには多少専門知識が必要になりますが、今多くにウェブサーバーでこの無償のSSLを利用できる。

ウェブサイトに途中からsslを実装する場合

ウェブサイトに途中からsslを実装した場合には、httpでのアクセスをhttpsにリダイレクトすると常時sslにより暗号化されたコンテンツを表示できる。
また多くの場合は以前の検索エンジンでの評価を引き継ぎたいでしょうから、単純なリダイレクトではなく、恒久的なコンテンツに移動を伝える、ステータスコード301でリダイレクトをかけるようにすること。
そのためにサーバーの設定を変更し.htaccessというウェブサーバー設定用のファイルを以下のように書き換える。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

Example.comは自社サイトurlに。

これでsslに関する設定は完了。なおwordpressなどのcmsではサイトアドレスもhttps変更が必要だったり、環境によって追加の変更が必要なので注意すること。

そこで解析はこう変わる

![ツールの方式とSSLページ解析の注意点](表4-4-5.xlsx)

 

ケース 注意点
ウェブサーバーのログファイル SSLで暗号化されたウェブサイトであっても、コンテンツを配信したときにはその記録が残ります。一般的な設定では非SSLサイトとは別のログファイルに保存されるため、非SSLサイト→SSLサイトのようにプロトコルをまたぐページ遷移は、両方のログファイルを適切につなぎあわせないと、正確なアクセス解析は行えません。
パケットキャプチャ方式の場合 SSLでは「サーバー秘密鍵」と呼ばれるデータを使って暗号化したデータを解読(復号)します。そのためパケットキャプチャ方式においては、データ収集用の機器にサーバー秘密鍵をインストールしておく必要があります。
ウェブビーコン方式の場合 通常のウェブサイト同様、計測コードをページに挿入することでアクセス状況を収集できます。ただし、ウェブビーコンを受け付けるサーバーもSSLで暗号化しておかなければ、ユーザーのブラウザーに「一部のコンテンツは暗号化されていません」といった警告が表示されるので、注意が必要です。
Toshiaki Ejiri: Born in Fukushima, working as web analytics consultant since 2000.