SNI для многопользовательской балансировки нагрузки в 2015 году

Мы являемся мультитенантной службой и прекращаем использование нашего SSL на наших балансировщиках нагрузки (HAProxy + Apache для прекращения SSL), это вызвало проблемы роста из-за особых требований к IP. Но времена изменились, и мы рассматриваем возможность перехода на SNI, поэтому в 2015 году я надеялся получить обоснованное мнение о принятии его в качестве нашего стандарта.

Я собираюсь изложить наши предположения:

  • SSL мёртв (долгоживущий TLS) из-за атаки POODLE,
  • TLS имеет встроенный SNI
  • IE6 / Windows XP (
  • На этом мы прекратили поддержку IE7 и, по сути, IE8

Правильно ли я полагаю, что SNI в настоящее время поддерживается во всем мире?

... а также...

Есть ли сценарии, которые я должен рассмотреть помимо этого, которые повлияют на поддержку?

... и наконец...

Теперь, когда HAProxy 1.5 поддерживает SSL-терминацию напрямую, есть ли у вас какие-либо предостережения, связанные с SNI, которые повлияют на нашу способность развертывать эту услугу?

2 ответа

Решение

Правильно ли я полагаю, что 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 это содержится в 05/2014 Bing, Yahoo, Baidu и других.

Правильно ли я полагаю, что SNI в настоящее время поддерживается во всем мире?

По сути, да - хотя вы, вероятно, столкнетесь с некоторыми крайними пользователями, которые будут жаловаться на поломку, если требуется SNI. Если у вас есть возможность сказать этим людям "используйте браузер этого десятилетия, пожалуйста" для вашей службы, то все готово.

Есть ли сценарии, которые я должен рассмотреть помимо этого, которые повлияют на поддержку?

Поддержка браузерных / клиентских ОС - это большая проблема, хотя я могу представить и другие забавные проблемы с корпоративными сетями, использующими прокси-серверы, завершающие SSL, которые не поддерживают передачу части SNI рукопожатия TLS, что также может нарушить SNI.

Теперь, когда HAProxy 1.5 поддерживает SSL-терминацию напрямую, есть ли у вас какие-либо предостережения, связанные с SNI, которые повлияют на нашу способность развертывать эту услугу?

Я не могу напрямую говорить о предупреждениях с помощью HAProxy - мы используем его завершение SSL, но не SNI поверх него.

Другие вопросы по тегам