SSL (Secure Sockets Layer) — это стандартный протокол безопасности для установления зашифрованного соединения между веб-сервером и браузером. Эта технология гарантирует, что все данные, передаваемые между ними, остаются частными и целостными, то есть не могут быть перехвачены третьей стороной. Такая защита особенно важна при передаче конфиденциальной информации, такой как транзакции по кредитным картам, учетные данные и т. Д.
SSL шифрует данные с помощью двух ключей — открытого, который может быть известен всем, и личного (секретного) ключа, известного только получателю передаваемого сообщения. При настройке на веб-сервере SSL позволяет использовать протокол HTTPS (через порт 443 ) вместо HTTP-протокола по умолчанию при доступе к содержимому сервера.
Чтобы установить соединение SSL, веб-серверу требуется установить сертификат SSL , который представляет собой программное обеспечение, которое цифровым образом связывает криптографический ключ с данными владельца и именем хоста сайта. Обычно такой сертификат должен быть подтвержден соответствующими органами власти, чтобы его можно было проверить, чтобы другие могли ему доверять, в результате чего любое подключение к сайту или приложению выполнялось без проблем.
Jelastic дает вам возможность выбирать между двумя доступными решениями:
- Jelastic SSL Вы можете мгновенно купить уже доверенный сертификат Jelastic SSL , избегая каких-либо дополнительных проверок и тратя время на проверку сертификата. Обратите внимание, что это решение имеет два обязательных условия: оно может применяться только для доменных имен сайта по умолчанию (т.е. с доменом выбранного хостера в конце) и не совместимо с публичным IP-адресом, подключенным к любому из серверов в вашей среде.
- Пользовательский SSL Если вам нужно больше возможностей для размещения вашего приложения, можно использовать Пользовательский сертификат SSL. Для этого вам необходимо сгенерировать соответствующий запрос сертификата (в соответствии с вашим пользовательским именем домена) и отправить его в требуемый центр сертификации (CA) для проверки.
Jelastic поддерживает множество типов пользовательских сертификатов SSL: для одного / нескольких доменов, самозаверяющих (которые будут подробно рассмотрены в будущих публикациях), групповых символов с расширенной проверкой, общих и т. Д.
А в этой статье мы покажем, как получить однодоменный пользовательский SSL-сертификат, включенный в вашей среде.
Создайте собственный сертификат SSL
Чтобы добавить собственный SSL-сертификат в вашу среду Jelastic, вам необходимо иметь:
- приобретено нестандартное доменное имя;
- ключ сервера;
- промежуточный сертификат или цепочка сертификатов (CA);
- сертификат домена.
Поэтому следуйте следующей инструкции:
1. Купить доменное имя, используя любой регистратор доменов.
2. Сгенерируйте свой ключ сервера для купленного доменного имени и создайте на его основе запрос сертификата с помощью любого предпочтительного инструмента.
Мы будем использовать OpenSSL в качестве примера. В зависимости от используемой операционной системы (Windows или Linux / MacOS / FreeBSD) выполните действия, описанные в соответствующем разделе инструкций.
Для Windows
Загрузите последнюю версию инструмента OpenSSL. Распакуйте полученный архив и запустите инструмент, дважды щелкнув файл openssl.exe в папке bin . Впоследствии файлы, созданные с помощью OpenSSL, будут отображаться в том же каталоге bin по умолчанию.
-
Во-первых, вам нужно сгенерировать частный серверный ключ SSH. Для этого выполните следующую команду:
genrsa -out {filename} {length}
где
{filename} — имя файла выходного ключа срасширением .key (например, server.key )
{length} — длина закрытого ключа в битах (например, 4096 )
-
Затем вы должны сгенерировать запрос сертификата на основе подготовленного ключа. Создайте его следующим образом:
req -config {config_path} -new -key {keyname} -out {filename}
где
{config_path} — путь к файлу конфигурации openssl.cnf , расположенному в каталоге с извлеченными файлами OpenSSL (указывается в соответствии сформатом C: \ path \ to \ openssl.cnf )
{keyname} — имя ключа вашего сервера (то, которое вы сгенерировали на предыдущем шаге,в нашем случае server.key )
{filename} — желаемое имя файла запроса вывода срасширением .csr (например, server.csr ).
Вы увидите набор вопросов. Ответьте на них, чтобы дополнить информацию о сертификате вашими данными.
значение параметра Common Name должно быть равно вашему купленному доменному имени, иначе ваш сертификат не будет проверен.
Для Linux / MacOS / FreeBSD
Если у вас еще не установлен инструмент OpenSSL, получите его с помощью соответствующей команды (в соответствии с вашим менеджером пакетов ОС), выполняемой в вашем терминале. Например, для дистрибутива Ubuntu / Debian Linux используйте следующий:
sudo apt-get install openssl
После завершения процесса установки перейдите к созданию необходимых файлов. Все вновь созданные с помощью OpenSSL файлы будут по умолчанию отображаться в домашнем каталоге пользователя вашего локального компьютера.
-
Во-первых, вам нужно сгенерировать частный серверный ключ SSH. Для этого выполните следующую команду:
openssl genrsa -out {filename} {length}
где
{filename} — имя файла выходного ключа срасширением .key (например, server.key )
{length} — длина закрытого ключа в битах (например, 4096 )
-
Затем вы должны сгенерировать запрос сертификата на основе подготовленного ключа. Создайте его следующим образом:
openssl req -new -key {keyname} -out {filename}
где
{keyname} — имя ключа вашего сервера (сгенерированное вами на предыдущем шаге,в нашем случае server.key )
{filename} — желаемое имя файла запроса вывода срасширением .csr (например, server.csr ).
Вы увидите набор вопросов. Ответьте на них, чтобы дополнить информацию о сертификате вашими данными.
значение параметра Common Name должно быть равно вашему купленному доменному имени, иначе ваш сертификат не будет проверен.
3. Отправьте запрос на сертификат, который вы получили, в свою предпочитаемую компанию центра сертификации (CA) для подписания.
4. Выбранный ЦС проверяет личность владельца домена и (если все в порядке) отправляет вам промежуточный сертификат и сертификат домена .
Получив все необходимые файлы, вы можете приступить к настройке вашей среды.
Отрегулируйте топологию среды
Чтобы обеспечить защиту с помощью настраиваемого SSL-сертификата, ваша среда должна иметь собственный домен и общедоступный IP- адрес, подключенный к вашему серверу приложений.
Для приложений Python и Node.js ваша среда также должна включать сервер балансировки NGINX . В этом случае внешний IP-адрес должен быть присоединен к балансировщику, а не к серверу приложений, поскольку NGINX становится точкой входа вашего приложения.
Это также применимо к другим языкам программирования в случае, если вы собираетесь настроить кластерное решение с несколькими серверами приложений для своего хостинга приложений, поскольку вы автоматически добавите балансировщик нагрузки перед вашей средой.
1. Войдите в панель управления Jelastic и создайте новую среду (или нажмите кнопку Изменить топологию среды для существующей).
2. В открывшемся диалоговом окне « Топология среды» перейдите в раздел мастера SSL и проверьте, выполнены ли все пользовательские требования SSL (т. Е. Отмечены ли зеленые флажки для всех параметров в списке требований).
Если это не так, Jelastic может помочь вам настроить среду всего одним щелчком мыши. Для этого выберите соответствующую кнопку рядом со списком требований, и топология среды будет мгновенно настроена в соответствии с ними.
Чтобы завершить настройку, нажмите « Создать» для новой среды или нажмите « Применить», если вы отредактировали существующую.
Доменное имя и настройки записи
Теперь вам нужно установить запись A , чтобы указать свое доменное имя для публичного IP-адреса вашего приложения.
1. Выберите дополнительную кнопку для узла с внешним IP-адресом, подключенным в вашей среде (т. Е. Для сервера NGINX-балансировщика в случае использования Python / Node.js или для сервера приложений во всех других случаях).
Вы увидите список IP-адресов, где второй является обязательным публичным IP- адресом. Нажмите на нее, чтобы выделить всю строку и скопировать цифры в буфер обмена.
2. Затем перейдите к диспетчеру DNS выбранной системы регистраторов доменов (той, которую вы использовали для покупки собственного доменного имени) и установите в ней запись A.
Дополнительную информацию и подробный пример можно найти в соответствующем документе (начиная с 5-го шага в разделе « Имя домена и Настройки записи »).
Загрузить сертификат в окружающую среду
Последний шаг, который вам нужно выполнить, это загрузить файлы сертификатов в вашу среду Jelastic.
1. Нажмите Настройки для настроенной среды.
2. На открывшейся вкладке выберите опцию Custom SSL в левом списке.
Загрузите ключ сервера, промежуточный сертификат (CA) и сертификат домена в соответствующие поля.
Если на этом этапе вы получили ошибку, убедитесь, что ваш ключ сервера не защищен парольной фразой. В противном случае удалите защиту с помощью следующей команды и повторите попытку загрузки файлов:
openssl rsa -in {keyname} -out {new-keyname}
Нажмите Сохранить .
Когда серверы в вашей среде будут автоматически перезапущены, давайте убедимся, что все работает правильно. Для этого введите привязанное имя настраиваемого домена (или прикрепленный внешний IP-адрес) в адресную строку браузера с указанием протокола соединения https: // вместо http: // one по умолчанию . Ваша заявка должна быть открыта без проблем.
Это все! Теперь вы можете быть уверены, что все полученные / отправленные данные приложения защищены и зашифрованы.
Подпишитесь на наш блог, чтобы не пропустить следующую инструкцию по созданию и установке самоподписанных SSL-сертификатов. Зарегистрируйтесь сейчас, чтобы начать двухнедельную бесплатную пробную версию и получить значительный уровень безопасности для ваших доменных имен!