Защитите URL-адрес, который имеет запись cname

У меня есть сайт с субдоменами для каждого пользователя и подстановочный SSL-сертификат

https://user1.mysite.com

https://user2.mysite.com

Вопрос в том, может ли кто-нибудь установить запись cname, такую ​​как user1.theirsite.com → user1.mysite.com, и использовать ли она https?

Будет ли он работать, если они устанавливают SSL-сертификат на своем сервере для защиты соединения?

Спасибо

Ответ 1

Лучшим способом для этого является то, что если вы согласитесь, чтобы ваш сертификат SSL включал их "псевдоним" в качестве расширения Subject Alternate Name в вашем сертификате X.509.

Это подход, используемый некоторыми CDN, когда они размещают сайты https для клиентов - они помещают все известные имена сайтов, размещенные на одном сервере в одном большом сертификате SSL, а затем клиенты используют CNAME для указания своих домен на правом сервере CDN.

Ответ 2

Имя хоста и проверка сертификата (и, фактически, проверка того, что SSL используется вообще), являются исключительно ответственностью клиента.

Проверка имени хоста будет выполняться клиентом, как указано в RFC 2818, на основе имени хоста, которое они запрашивают в своем URL-адресе. Является ли разрешение DNS имени хоста основано на записи CNAME или что-то еще не имеет значения.

Если пользователь вводит https://user1.theirsite.com/ в своем браузере, сертификат на целевом сайте должен быть действительным для user1.theirsite.com.

Если у них есть собственный сервер для user1.theirsite.com, отличный от user1.mysite.com, запись DNS CNAME не имеет смысла. Предполагая, что два хоста эффективно отличаются друг от друга, они могут иметь свой собственный действительный сертификат для user1.theirsite.com и перенаправить на https://user1.theirsite.com/. Перенаправление также будет отображаться в адресной строке.

Если вы действительно хотите иметь CNAME от user1.theirsite.com до user1.mysite.com, они могут предоставить вам свой сертификат и закрытый ключ, чтобы вы также размещали его на своем сайте, используя указатель имени сервера (при условии, что тот же порт, и, конечно же, тот же IP-адрес, поскольку вы используете CNAME). Это будет работать для клиентов, которые поддерживают SNI. Тем не менее, существует определенный риск для них предоставить вам свои личные ключи (что обычно не рекомендуется).

Ответ 3

Установлено и работает следующее:

Запись DNS для a.corp.com → CNAME b.corp2.com → A 1.2.3.4

Haproxy at 1.2.3.4 будет обслуживать сертификат для a.corp.com, и сайт загружается с сервера брандмауэра.

Итак, на вашем сервере вам понадобится user1.theirsite.com cert, и он будет работать.