今回、ウェルカートを使ったイプシロンのクレジット決済を導入したのですが、イプシロンのSSL接続環境が
PCIDSS v3.1基準に準拠するため、2018年6月以降は本番環境につきましてもTLS1.2通信以上のみ接続可能な環境
上記のようになるようです。これに伴い、ウェルカートの決済プラグインも2017 年春より TLS1.2 のみとなっています。
この他にも、ウェルカートを使った構築の場合下記のサーバーで不具合が出やすいそうです。
ロリポップ・お名前.com(共用):処理能力オーバーによる、クレジット決済エラーが頻発しています。
WPX(Xserver):キャッシュ関連や原因不明の不具合がWelcartに発生しています。
また、 2017年1月1日以降もSHA-1のSSLサーバ証明書が導入されているサイトは、マイクロソフト社をはじめとしポリシーに準拠しないウェブサイトは各ブラウザからアクセスできなくなる、または警告メッセージが表示されるそうです。詳細は「ブラウザベンダによるSHA-1廃止ポリシー」
SSLのバージョンの重要性
※SSL(Secure Sockets Layer)/TLS(Transport Layer Security)とは
インターネット上で通信を暗号化し、第三者による通信内容の盗み見や改ざんを防ぐ技術です。SSL/TLSを利用すると、ウェブサイトから入力する個人情報やクレジットカード情報などの大切なデータを安全にやりとりできます。
URLがhttpsで始まっているサイトや、アドレスバーに鍵のマークで出ているサイトはSSLを導入しているサイトになります。
問い合わせフォームやショッピングサイトを導入するならSSLの設定をした方が良いと言うか、必須なんですがここはまだ導入していないです…
今回は、SSLが必須のショッピングサイトの構築とクレジット決済の導入の案件でした。
カート部分(商品の掲載-お客様情報の入力-カートシステム)は問題なく動いたけれど、クレジット決済でエラーが出ました。
クレジット決済の導入は、何度行ってもどこかでエラが一度は出るので1回目のテストでエラーが出ても「まぁそうだよね」くらいに考えていたけれど、エラーの原因がサーバー設定(SSLのバージョン)だったので、私が出来る作業は原因の追究まででした。
●吐き出されたエラー
*Warning*: fsockopen(): unable to connect to ssl://beta.epsilon.jp:443 (Unknown error) in
SHA-1ハッシュアルゴリズムの危殆化を背景に、シマンテックは電子証明書のSHA-2への移行を推奨しています。
電子証明書に利用されている暗号アルゴリズムの安全性は技術の進歩により徐々に低下していきますが、その中でも、ハッシュ関数「SHA-1」は実際に解読されるリスクが高まっているとされています。
暗号アルゴリズムの安全性を評価する機関のひとつであるNIST(アメリカ国立標準技術研究所)では、米国政府系システムにおいてハッシュ関数「SHA-1」は最長2013年末までに利用停止という勧告を出しています。これに続き、2013年にはマイクロソフト社がSHA-1廃止ポリシーを発表し、グーグル社、MozillaもSHA-1廃止プランを発表しました。
参照元:ハッシュアルゴリズムのSHA-1からSHA-2への移行に関して
難しいことが書いてありますが、私の解釈で
ハッシュ関数「SHA-1」だと暗号化していても突破されて盗むことが簡単だから使えなくするよ
と言うことなんだなと(笑)接続エラーも通信プロトコルのバージョンの相違から来ているから、バージョンをあげてもらおう!とサーバー管理会社に問い合わせを入れたら
「ご利用のサーバー環境ではご指定の接続環境を提供できません。変更が不可能になります。
ご利用のサーバーではTSLは1.0 SSLはv2およびv3迄の対応となっており、それ以外の暗号化通信の手段はご利用いただけません。」
と、私にとってはガビーン以外では表せないお返事が来てしまいました。
リアルに「Oh, my god!」って声に出ました。
プランAがダメならB?いや、Bもダメじゃん
好きな仕事をしていても辛いかもって時が来た(笑)
自分の手に負えないトラブルとエラーの解決策が見つからない場合は、さすがの私もプチっとパニックなります。このお返事をもらって速攻で決済会社へ問い合わせを入れた所、
お問い合わせの件、弊社テスト環境につきましてはTLS1.2通信以上のみ接続可能となります。
なお、本番環境につきましてはTLS1.0通信以上であれば現時点で接続可能でございますが、PCIDSS v3.1基準に準拠するため、2018年6月以降は本番環境につきましてもTLS1.2通信以上のみ接続可能な環境となりますことをご了承ください。
何卒よろしくお願いいたします。
来年の6月以降は使えなくなってしまうなら、サーバーを変えなきゃならない。
プランAもBも使えず、他の決済を導入しようかとも思ったけれど、最終的にはどこもTLS1.2通信以上のみ接続可能な環境との見解なのでサーバーの変更が解決策になりました。
サーバー選びの重要性
自分でドメインを取得してサーバーも借りてサイトを作っている場合、どこのサーバーと契約すれば良いのか迷ってしまうという相談が多くあります。
基本的にはどこでも大丈夫なんですが、ある程度のサーバー構築や技術的な知識があるなら、今回のような問題が起きた時も原因と解決策を見つけることができますが、そこまでの知識はないなと言う方は、多少ランニングコストが掛かってしまっても、管理とメンテナンスをしっかり行っている会社を選んだ方が良いと思います。
私が今まで使って来て、大きなトラブルも起きずに対応も良かった会社は下記のホスティングサービスです。
ASJサーバー
ASJサーバーは17年使用していますが、今まで一度も不具合が発生したことはありません。
サポートや対応もよく、ストレスなく利用することができます。
少しだけサーバーの知識が必要ですが、普通のホームページの運用から独自ドメインでのオンラインショップの構築まで幅広く対応できます。
hetemail-ヘテムル
こちらも9年使っていますが、大きな問題やトラブルが起きたこともありません。
サーバーのメンテナンスや新しい技術も早く取り入れられており、使い勝手も良いサーバーです。