Рейтинг:0

Как именно работает представление сертификата HTTPS?

флаг ng

Я решаю проблему с поставщиком SAS.Чтобы было ясно, этот вопрос не в том, «как мне это исправить?», И не в том, «что именно вызывает эту проблему?» -- скорее, "как работают эти технологии, чтобы такое сочетание симптомов стало возможным?" У меня уже открыта заявка на поддержку поставщика (и я с меньшим терпением жду, пока она будет передана кому-то достаточно компетентному). Цель этого вопроса — расширить мое собственное понимание того, как эти вещи (обычно?) работают, и какие переменные могут быть в игре, которые я не учел.

Указанный поставщик предоставляет функцию «настройки домена», с помощью которой вы можете получить доступ к их услугам через домен, которым вы управляете. (Вы предоставляете им закрытый ключ, а также сертификат с цепочкой и добавляете запись CNAME, указывающую на домен, находящийся под контролем поставщика.)

У меня есть два «арендатора» с этим поставщиком — один для целей разработки и один для производства. Оба настроены с пользовательскими доменами. Они используют один и тот же сертификат и PK; сертификат имеет производственный домен в качестве своего CN, а домены dev и prod указаны как SAN.

Производственный арендатор работает отлично, поэтому я знаю, что сертификат правильный. Однако, когда я посещаю клиент dev в своем браузере, примерно в 80-90% случаев я получаю ошибку сертификата, и когда я исследую, мой браузер сообщает, что представленный сертификат действителен, но не мой, а скорее один который принадлежит поставщику (и поэтому мой домен не указан как CN или SAN). Я пробовал разные браузеры. я пытался завиток. Я пробовал удаленно подключаться к различным серверам, к которым у меня есть доступ, и проверять оттуда. Мои коллеги, разбросанные по США, тоже пытались. Поведение не зависит от клиентского программного обеспечения, клиентского оборудования, географического положения или конфигурации сети.

В этот момент моего процесса я думаю: «Хорошо, у них есть пул серверов за балансировщиком нагрузки, и у некоторых серверов нет правильного сертификата, поэтому они представляют что-то еще в каком-то запасном варианте. ." Конечно, хорошо, имеет смысл.

Но потом я попытался Инструмент безопасности веб-сайта DigiCert, где вы можете ввести домен, и он оценит правильность вашего сертификата (среди прочего). Используя этот инструмент, я не могу воспроизвести прерывистое поведение; вместо этого он терпит неудачу каждый раз.

Как инженер-программист с несколькими десятилетиями опыта создания веб-сайтов и сервисов в различных стеках, я достаточно хорошо разбираюсь в DNS, HTTPS, сертификатах TLS, конфигурации веб-сервера, сетевой маршрутизации, балансировке нагрузки и так далее. Но я озадачен тем, как валидатор DigiCert может видеть поведение, отличное от того, которое вижу я сам.

Моей первой мыслью была задержка распространения DNS, но DNSChecker указывает на отсутствие такой проблемы. Затем я подумал, что DigiCert может что-то кэшировать на своей стороне, но это будет явным недостатком их инструмента. В обоих случаях вероятность такого объяснения уменьшилась, поскольку такое поведение сохраняется в течение нескольких дней.

Итак, мой вопрос к тем, у кого больше опыта в этом, чем у меня: какие возможные объяснения существуют для того, чтобы опыт инструмента DigiCert отличался от любого другого клиента, который я пробовал?

(Извините, если это не тот сайт SE для подобного вопроса. Это казалось лучшим выбором, чем Network Engineering, и когда я просматривал свои варианты, я не видел других, которые выглядели бы правильно.)

Massimo avatar
флаг ng
Как насчет *спросить продавца*? Мы не можем знать, как работают их системы.
JakeRobb avatar
флаг ng
@Massimo У меня уже есть открытый запрос в службу поддержки, и я с некоторым нетерпением жду, когда он будет передан в их иерархию поддержки. Я прекрасно понимаю, что никто здесь не сможет с полной уверенностью сказать мне, что именно происходит. Как я сказал в вопросе: какие есть возможные объяснения?
Рейтинг:2
флаг ng

Я согласен с вашим предположением, что это может быть вызвано использованием разных сертификатов в разных системах, что может объяснить непоследовательное поведение; в зависимости от того, какие правила сходства использует поставщик для распределения запросов, это также может объяснить, почему кто-то (например, инструмент тестирования DigiCert) постоянно получает неправильные результаты.

Впрочем, пытаться угадать, что происходит, здесь совершенно бесполезно; вы должны сообщить об этой проблеме в поддержку поставщика и спросить их починить это.

JakeRobb avatar
флаг ng
Я немного уточнил вопрос. Цель состоит не в том, чтобы диагностировать проблему, а в том, чтобы найти возможные объяснения, которые могут расширить мое понимание используемых технологий. Вы хорошо заметили, что система балансировки нагрузки может оказаться более сложной, чем я предполагал.Мой опыт работы с циклическими и балансировщиками на основе нагрузки; мне не приходило в голову, что в игре могут быть и дополнительные правила. Я не могу придумать разумного правила, которое привело бы к поведению, при котором некоторые клиенты просто никогда не обращаются к некоторым серверам. Ты можешь?
Massimo avatar
флаг ng
Определенно да. Если этот поставщик представляет собой нечто большее, чем небольшая местная компания, он будет использовать распределенную службу, где вполне возможно, что различные системы не синхронизируются друг с другом. Если сервис масштабируется до географических уровней, разные клиенты будут обращаться к разным конечным точкам в зависимости от их местоположения, и они будут получать разные результаты в зависимости от того, к какой конечной точке попадут их запросы.
JakeRobb avatar
флаг ng
Они довольно большие и широко распространены, но все сервисы, задействованные в моей учетной записи, находятся в одном регионе AWS.
JakeRobb avatar
флаг ng
Я принял этот ответ. FWIW, разрешение пришло, когда я повторно загрузил свой сертификат. Я пришел к выводу, что что-то пошло не так в их процессе, который распределяет сертификаты по соответствующим серверам, и что, по-видимому, у них нет системы для обнаружения или смягчения таких сбоев.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.