低価格で高機能。カスタム自由な EC システム

MTコマースの常時SSL(AOSSL)対応について

MTコマースは次のリリースを3月初旬に予定しています。このリリースで常時SSL(以下AOSSLと記載)に対応します。
今回は、リリースに先立ってMTコマースで運用しているECサイトをどのようにAOSSL対応させるかご説明いたします。

AOSSLとは

まずは、そもそもAOSSLとはどういうものなのか、整理したいと思います。
これまで、個人情報やID/パスワード、クレジットカード情報など機密性の高いデータを送受信するページに限り、通信を暗号化する方法としてHTTPS(SSL暗号化通信)を行なっていましたが、これをサイト全てのページを対象にHTTPS通信を適用するのがAOSSLです。

なぜ、AOSSL対応するのか

では、なぜAOSSLが広まってきているのでしょうか。
近年、スマートフォンやタブレットの普及、公衆無線LAN(Wi-Fi)スポットの拡大により、屋外で手軽にインターネットを利用できるようになりました。しかし、公衆無線LANを利用した通信は送受信中のデータを第三者に覗き見されるリスクがあるため、常にデータを暗号化した上で送受信するAOSSLが必要性が高まってきています。

このような背景の中で、昨年、Google Chrome のバージョン56ではHTTPのページでID、パスワード、クレジットカードなどの個人情報を入力する項目があれば、「保護されていません(Not Secure)」という警告が表示されるようになりました。
さらに、9ヶ月後のバージョン62からはサイト内検索など含めて全てのテキストボックスが設置されているページは、HTTPで接続しているだけで警告の対象になりました。

入力フォームに何か入力すると、アドレスバーの部分に上記のメッセージが表示されるようになります。
Googleの公式アナウンスの後半には、将来的にHTTPのページはすべて警告を表示する予定である旨が掲載されています。
Next Steps Toward More Connection Security  参照)

本筋から少し外れますがSSL証明書の期限が切れているなど、HTTPS通信自体に何らかの問題がある場合は、上のような警告が表示されます。

MTコマースのECサイトでAOSSL対応するには

それでは、AOSSL対応をMTコマースで行う際に、どのようにすればいいのかご説明します。

まずは mt-config.cgi の「ShopForceSSL」の値を「2」にしてAOSSLの設定を有効にします。ちなみにこの「ShopForceSSL」の値が「1」だとログインページや会員登録ページなど個人情報を扱うページは強制的にSSL通信になります。「0」だと個人情報を扱うページでも強制的にSSL通信を行いません。

ShopForceSSL  2

次にConfig.pmの設定を変更し、Cookie のセキュア属性が有効になるように設定します。

COOKIE_SECURE => 1,

この2つの設定で、レジやマイページなど動的なページは対応がされました。ただこれではサイト全体の対応はまだ出来たことにはなりません。
MTコマースは、トップページや商品詳細ページは静的なページとして生成しています。その他、特集ページやお知らせページなどへの対応が必要になります。

HTTP通信でアクセスされた場合、HTTPS通信にリダイレクトさせる設定をWebサーバーで行います。下記にnginxの設定例を記載します。

server { listen 80; server_name domainname localhost; add_header Vary Upgrade-Insecure-Requests; if ($http_upgrade_insecure_requests = "1") { return 307 https://$host$request_uri; } return 301 https://$host$request_uri; }

コンテンツ内の画像リンクなどに http:// というURLが残っていると、ブラウザは「これは安全なWebサイトではない」と認識してしまいますが、HTTPレスポンスで以下のヘッダを返すことで、Webページ内の画像のリンクURLが http:// になっていても、ブラウザが https:// として扱ってくれます。
Upgrade Insecure Requests  参照)

Content-Security-Policy: upgrade-insecure-requests

以上、AOSSL対応が必要になった背景とMTコマースでのAOSSL対応方法をご説明しました。これからサイトをリニューアルする際はAOSSLの検討が必須になるかと思います。ご参考になれば幸いです。

作成日: