Бухгалтерия: buh@emaro-ssl.ru
Поддержка: support@emaro-ssl.ru
Одним из вариантов решения этой проблемы являются мультидоменные SSL сертификаты, в которые может входить до 100 доменов. Благодаря удобству использования и быстроте обслуживания, такие сертификаты стоят несколько дороже обычных. Поэтому возникла необходимость поиска иного способа решения этой проблемы.
На сегодняшний день благодаря технологии Server Name Identification (или сокращенно SNI) появилась возможность установить несколько цифровых SSL сертификатов безопасности на одном IP адресе. В этой статье мы рассмотрим следующие вопросы:
Индикация имени сервера (SNI или Server Name Indication) – это расширение TLS протокола, которое указывает к какому хосту пытается подключиться клиент в начале процесса квитирования (установки соединения). Соответственно это позволяет серверу с самого начала определить корректное имя виртуального хоста для запроса и установки защищенного соединения. С помощью SNI, вы можете иметь несколько доменов, привязанных к одному и тому же IP-адресу и порту, и на каждом из этих доменных имен Вы можете установить отдельный SSL сертификат.
При выполнении TLS соединения клиент запрашивает цифровой SSL сертификат с веб-сервера; как только сервер отправляет сертификат, клиент рассматривает его и сравнивает имя, которое отправило запрос на подключение, с именем или именами, включенными в сертификат. Если совпадение найдено, соединение продолжается как обычно. Если же совпадений нет, браузер предупреждает пользователя о данном несоответствии, после чего связь может быть прервана. Тем не менее, некоторые приложения позволяют пользователю обойти предупреждение, приступив к подключению с пользователем, принимающим на себя ответственность за достоверность SSL сертификата и, как следствие, соединения. И хотя в современном SSL сертификате можно указать несколько доменных имен и просто использовать этот сертификат в виртуальном хосте по умолчанию, имеется много хостинг провайдеров, которые обслуживают слишком много веб-сайтов на одном адресе для большей практичности, что делает защиту отдельных доменов невозможной.
Расширение SNI решает данную проблему путем отправления имени виртуального домена в рамках TLS переговоров. Это позволяет серверу заранее выбрать правильный виртуальный домен и представить браузеру сертификат, содержащий корректное имя. Поэтому с клиентами и серверами, которые поддерживают SNI, один IP адрес может быть использован для обслуживания группы доменных имен, для которых нецелесообразно получить общий SSL сертификат.
Если настроить несколько имен на основе виртуальных хостов для адреса, где настроен SSL, и SNI не встроено в Apache, то после запуска Apache Вы получите в журнале ошибок сообщение:
«You should not use name-based virtual hosts in conjunction with SSL!!»(«Вы не должны использовать виртуальные хосты, основанные на имени, в сочетании с SSL!!»).
Если расширение SNI встроено, то журнал ошибок покажет:
«[warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)» («[предупреждение] Виртуальные хосты, основанные на имени, с SSL работают только для клиентов с поддержкой TLS SNI (RFC 4366)».
No hostname was provided via SNI for a name based virtual host (т.е. имени хоста для данного SNI не было найдено)
Если SSLStrictSNIVHostCheck выключен, то запрос будет обрабатываться, как если бы сервер не имел поддержки SNI.
# Убедитесь, что Apache слушает порт 443 Listen 443 # Прослушайте запросы виртуального хоста на всех IP адресах NameVirtualHost *:443 # Далее установите соединение для этих виртуальных хостов # для всех клиентов без SNI SSLStrictSNIVHostCheck off <VirtualHost *:443> # Так как этот виртуальный хост определяется первым, он будет # использоваться по умолчанию, если не будет получено имя хоста # во время рукопожатия SSL, то есть если браузер не поддерживает # SNI. DocumentRoot /www/example-domain-1 ServerName www.example-domain-1.ru # Другие команды здесь </VirtualHost> <VirtualHost *:443> DocumentRoot /www/example-domain-2 ServerName www.example-domain-2.com # Другие команды здесь </VirtualHost>
К сожалению, выбранный сертификат от данного центра сертификации не может быть выдан. Так как ЦС приостановил выпуск новых/продление заказов для доменов в зоне .ru, .рф, .by, .su, .moscow и для сертификатов с OV, EV проверкой, где фигурирует компания из России.
Пожалуйста рассмотрите возможность выпуска сертификатов от AlphaSSL или Globalsign.