当社はマルチテナント サービスであり、ロード バランサー (SSL 終了用の HAProxy + Apache) で SSL を終了していますが、専用 IP 要件により成長痛が生じています。しかし、時代は変わり、当社は SNI への移行を検討しているため、2015 年にこれを標準として採用することについて、知識のある意見を期待しています。
私たちの仮定を概説します。
- POODLE攻撃によりSSLは消滅(TLS万歳)
- TLSにはSNIが組み込まれている
- IE6 / Windows XP (< SP3) は多くの理由で廃止されていますが、その最大の理由は XP が EOL になることです。
- 現時点ではIE7と実質的にIE8のサポートは終了しています。
SNI は現在基本的に世界中でサポートされていると考えてよろしいでしょうか?
... そして ...
これ以外にサポートに影響する可能性のある考慮すべきシナリオはありますか?
... そして最後に ...
HAProxy 1.5 が SSL ターミネーションを直接サポートするようになりましたが、このサービスを展開する能力に影響する、SNI に直接関連する注意事項はご経験上何かありますか?
答え1
SNI は現在基本的に世界中でサポートされていると考えてよろしいでしょうか?
ブラウザを考慮すると、はい。
他の種類のアプリケーションを扱わなければならない場合、実際にはそうではありません。
- Python 3はサポートされていますが、Python 2.7はリリースされたばかりのバージョン2.7.9でのみサポートされています。
- Android のサポートは限られています。HTTPUrlConnection は長い間サポートされていましたが、SDK にはより高度な機能のための古いバージョンの Apache HTTPClient が含まれていて、このバージョンでは SNI がサポートされていませんでした。最新の SDK で状況が変わったかどうかはわかりません。
- JavaはJDK 1.7でのみサポートされました
- 検索エンジン用のクローラーの中には、SNIをサポートしていないものもまだある。https://www.mnot.net/blog/2014/05/09/if_you_can_read_this_youre_sniingこれには、2014 年 5 月の Bing、Yahoo、Baidu などが含まれています。
答え2
SNI は現在基本的に世界中でサポートされていると考えてよろしいでしょうか?
基本的には、はい。ただし、SNI が必要な場合、機能不全について苦情を言う一部の特殊なケースのユーザーに遭遇する可能性があります。そのようなユーザーに、サービスには「この 10 年間のブラウザーを使用してください」と伝える能力があれば、準備は完了です。
これ以外にサポートに影響する可能性のある考慮すべきシナリオはありますか?
ブラウザ/クライアント OS のサポートは大きな問題ですが、TLS ハンドシェイクの SNI 部分の受け渡しをサポートしていない SSL 終了プロキシを使用している企業ネットワークでは、SNI も壊れるため、他にも面白い問題が発生することが想像できます。
HAProxy 1.5 が SSL ターミネーションを直接サポートするようになりましたが、このサービスを展開する能力に影響する、SNI に直接関連する注意事項はご経験上何かありますか?
HAProxy の注意事項については直接お話しできません。SSL ターミネーションは使用していますが、その上で SNI は使用していません。