Я просто попытался купить Comodo Positive SSL, но он был отклонен из-за того, что не поддерживает общедоступный IP-адрес, а вместо этого они поддерживают только доменное имя.
Кто-нибудь знает поставщика сертификатов SSL, который поддерживает общедоступный IP-адрес вместо доменного имени?
У моей компании есть выделенный сервер, размещенный в хостинговой компании, который используется для запуска багтрекера для нескольких проектов (для нескольких клиентов). Поскольку он используется только для отслеживания ошибок, нам не нужно доменное имя (наши клиенты получают к нему доступ, вводя общедоступный IP-адрес в своем браузере).
Я думаю, вы можете это сделать, но не так, как вы пытаетесь это сделать.
Сертификат SSL - это утверждение, связывающее открытый ключ шифрования со структурой X.500, которая включает элемент CN или Common Name; подписанный сертификат - это один из таких сертификатов, когда привязка проверяется сторонним центром сертификации с использованием открытого ключа, уже известного конечным пользователям (этот стек сертификатов центра сертификации (CA), хранящийся внутри вашего браузера).
Когда вы посещаете веб-сайт, защищенный SSL, с помощью браузера, подписанный CN становится известен браузеру. Что браузер решит с этим делать, зависит от браузера. Браузеры, о которых я знаю, сравнивают его с запрошенным именем хоста и ошибкой, если оно отличается (или если эта сертифицированная привязка не выдерживает анализа, например, сертификат подписи не известен браузеру или привязка отсутствует - актуально, но это уже другая проблема). В принципе нет ничего, что мешало бы вам получить публично подписанный сертификат, в котором CN - это IP-адрес, а не FQDN (полное доменное имя) [1], но это не заставит браузер волшебным образом сравнивать CN с IP-адресом, а не с запрошенным именем хоста.
Я подозреваю, что самый простой способ решить вашу проблему - это запустить собственный центр сертификации, что легко сделать, и существует множество общедоступных руководств; один Вот. После того, как конечные пользователи импортируют ваш ЦС в свои браузеры, все созданные вами сертификаты будут приняты как действительные.
Тогда у вас может возникнуть вторая проблема, связанная с тем, что вы захотите запустить множество сайтов NameVirtualHost на одном IP-адресе. Исторически это было непреодолимо, поскольку (в отличие от TLS) согласование SSL происходит раньше, чем что-либо еще в соединении; то есть CN, встроенный в ваш сертификат, становится известным и используется клиентом. перед клиент может сказать, к какому хосту они пытаются подключиться.
Недавно, похоже, было введено расширение протокола под названием SNI (Server Name Indication), которое позволяет клиенту и серверу указывать, что они хотели бы сделать некоторые вещи с именем хоста до того, как будет представлен сертификат SSL, что позволяет выбрать правильный из набора сертификатов, которые будет выдавать сервер. По-видимому, для этого требуется apache 2.2.10, достаточно последняя версия OpenSSL и (важно) клиентская поддержка.
Так что, если бы мне пришлось делать то, что вы пытаетесь сделать, я бы посмотрел на создание моего собственного сертификата CA, сказав своим конечным пользователям, что они должны использовать браузеры, поддерживающие SNI, и импортировать мой корневой сертификат CA, а также вырезать и подписывать свои собственные SSL-сертификаты для каждого сайта отслеживания ошибок.
[1] Хорошо, возможно, вы не нашли никого, кто бы это сделал, но это деталь реализации. Я пытаюсь показать, что даже если бы вы это сделали, это не решило бы вашу проблему.
Я знаю об одном корневом центре сертификации, который предварительно заполнен всеми основными браузерами. и выдает SSL-сертификаты на общедоступные IP-адреса: см. GlobalSign. Они считывают информацию RIPE для проверки вашего запроса сертификата, поэтому вы можете сначала проверить, что запись RIPE выпущена с правильным именем.
Что касается обратной связи, полученной этой записью:
да, желательно купить доменное имя и выпустить сертификат SSL на этом CN. Это также дешевле, чем вариант GlobalSign, описанный выше.
Но, есть случаи, когда полезны SSL-сертификаты с общедоступным IP-адресом в качестве CN. Многие интернет-провайдеры и правительства блокируют нежелательные сайты на основе инфраструктуры DNS. Если вы предлагаете какой-либо сайт, который может быть заблокирован, например, по политическим причинам, это хороший вариант, чтобы этот сайт был доступен через его общедоступный IP-адрес. В то же время вы воля хотите зашифровать трафик для этих пользователей, и вы не хотите, чтобы ваши пользователи, не являющиеся техническими специалистами, испытывали трудности с просмотром предупреждений об исключениях безопасности в своем браузере (потому что CN сертификата не совпадает с введенным фактическим). Заставить их установить ваш собственный корневой центр сертификации еще более хлопотно и нереально.
Идите и купите доменное имя. Они дешевые, не стоит дешевле. Вам нужен только один. Может быть, даже просто настроить bugtracker.yourcompany.com.
Затем для каждого багтрекера настройте субдомен для этого имени. Получите сертификат SSL для каждого из этих поддоменов. Поскольку вы, кажется, особенно не любите деньги, компания, с которой вы хотите вести бизнес, называется StartSSL.
Причина, по которой вы хотите их использовать, заключается в том, что (помимо того, что основные браузеры им доверяют), их сертификаты не стоят денег. Самый простой вид сертификата действительно, честно говоря, абсолютно бесплатен. Они подтверждают вашу личность, а затем позволяют выдать столько, сколько вам нужно. Если вам нужны более привлекательные сертификаты (которые обычно стоят несколько сотен долларов), вам нужно около 50 долларов на 2 года для поддержки SSL для нескольких доменов на одном IP.
Они очень дешевые за то, что вы получаете. Они выдают настоящие сертификаты, которым доверяют браузеры ваших клиентов, а не 90-дневные пробные версии, как в других местах.