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 поверх него.