Вопрос: OpenSSL возвращает другой сертификат SSL, который отображается в Chrome


При запросе кода CDN Sparkfun с использованием OpenSSL со следующей командой:

openssl s_client -showcerts -connect dlnmh9ip6v2uc.cloudfront.net:443

Общее имя, возвращенное в сертификате, *.sparkfun.com, который не проверяется, но если вы загружаете хост в Chrome, общее имя отображается *.cloudfront.net

Что здесь происходит?

Это вызывает проблему, потому что среда, в которой я подключаюсь SSL через Squid SSL_Bump, генерирует сертификат, подписанный моим локально доверенным ЦС для домена. Это работает для всех доменов, но выше, поскольку CN не совпадает с новым сертификатом, созданным с использованием OpenSSL.

РЕДАКТИРОВАТЬ - Я проверил то же самое с OpenSSL на сервере в удаленном центре обработки данных, который имеет прямое подключение к Интернету без каких-либо прокси или фильтрации.

РЕДАКТИРОВАТЬ - Проблема связана с SNI, как принято, но для заполнения информации о том, почему это вызывает проблему с Squid и SSL_Bump:

Этот проект не будет поддерживать пересылку указателя имени сервера SSL   (SNI) на исходный сервер и будет оказывать такую ​​поддержку   немного сложнее. Однако перенаправление SNI имеет свои собственные серьезные   проблемы (выходящие за рамки настоящего документа), которые намного перевешивают   добавлены трудности с отправкой.

Взято из: http://wiki.squid-cache.org/Features/BumpSslServerFirst


12
2018-05-11 06:59


Источник




Ответы:


CloudFront использует SNI, способ использования нескольких сертификатов на одном IP-адресе. Все современные браузеры поддерживают это, как и команда s_client openssl, но s_client не волшебным образом это делает. Вы должны сказать ему, чтобы использовать его:

openssl s_client -servername dlnmh9ip6v2uc.cloudfront.net  -connect dlnmh9ip6v2uc.cloudfront.net:443 -showcerts

17
2018-05-11 07:23



Яай Деннис, это мой "оооо, я не знал, что«Сортировка для SF сегодня, и это еще не 9 утра! +1 от меня. - MadHatter


Поддержка Chrome SNI, сообщая серверу, какой сертификат отправить. s_client команды нет.

Более подробная информация о использовании SNI CloudFront Вот,

Когда вы используете SNI Custom SSL, некоторые пользователи могут не иметь доступа к вашему контенту, потому что некоторые старые браузеры не поддерживают SNI и не смогут установить соединение с CloudFront для загрузки HTTPS-версии вашего контента. Для получения дополнительной информации о SNI, включая список поддерживаемых браузеров, посетите наш Вопросы-Ответы стр.

а также:

SNI Custom SSL использует расширение SNI протокола Transport Layer Security, которое позволяет нескольким доменам обслуживать SSL-трафик по одному и тому же IP-адресу, включая подключение к узлу, с которым подключаются пользователи. Как и в случае с выделенным IP-интерфейсом SSL, CloudFront поставляет контент с каждого края Amazon CloudFront и с той же безопасностью, что и специальная функция специального назначения SSL. SNI Custom SSL работает с большинством современных браузеров, включая Chrome версии 6 и более поздние версии (работает в Windows XP и более поздних версиях или OS X 10.5.7 и более поздних), Safari версии 3 и выше (работает в Windows Vista и более поздних версиях или Mac OS X 10.5. 6. и более поздние версии), Firefox 2.0 и более поздних версий, а также Internet Explorer 7 и более поздних версий (работает в Windows Vista и более поздних версиях). Старые браузеры, не поддерживающие SNI, не могут установить соединение с CloudFront для загрузки HTTPS-версии вашего контента. SNI Custom SSL доступен без каких-либо дополнительных затрат, помимо стандартной передачи данных CloudFront и оплаты сборов.


8
2018-05-11 07:18



s_client поддерживает SNI только отлично ... - Dennis Kaarsemaker
+1 от меня в любом случае, из-за отличной документации. - MadHatter
Я не сказал s_client не поддерживает CLI. Я сказал, что s_client команды (в OP) нет. - David Schwartz
@DavidSchwartz - На самом деле мой клиент OpenSSL поддерживает SNI, и я могу проверить, используя информацию, описанную здесь. - Geoffrey
@Geoffrey Я согласен. Это команда в OP, которая не поддерживает SNI. - David Schwartz