Статьи

Пользовательские сертификаты SSL для расширенной безопасности приложений

SSL (Secure Sockets Layer) — это стандартный протокол безопасности для установления зашифрованного соединения между веб-сервером и браузером. Эта технология гарантирует, что все данные, передаваемые между ними, остаются частными и целостными, то есть не могут быть перехвачены третьей стороной. Такая защита особенно важна при передаче конфиденциальной информации, такой как транзакции по кредитным картам, учетные данные и т. Д.

SSL шифрует данные с помощью двух ключей — открытого, который может быть известен всем, и личного (секретного) ключа, известного только получателю передаваемого сообщения. При настройке на веб-сервере SSL позволяет использовать протокол HTTPS (через порт 443 ) вместо HTTP-протокола по умолчанию при доступе к содержимому сервера.

Чтобы установить соединение SSL, веб-серверу требуется установить сертификат SSL , который представляет собой программное обеспечение, которое цифровым образом связывает криптографический ключ с данными владельца и именем хоста сайта. Обычно такой сертификат должен быть подтвержден соответствующими органами власти, чтобы его можно было проверить, чтобы другие могли ему доверять, в результате чего любое подключение к сайту или приложению выполнялось без проблем.

Jelastic дает вам возможность выбирать между двумя доступными решениями:

  • Jelastic SSL Вы можете мгновенно купить уже доверенный сертификат Jelastic SSL , избегая каких-либо дополнительных проверок и тратя время на проверку сертификата. Обратите внимание, что это решение имеет два обязательных условия: оно может применяться только для доменных имен сайта по умолчанию (т.е. с доменом выбранного хостера в конце) и не совместимо с публичным IP-адресом, подключенным к любому из серверов в вашей среде.
  • Пользовательский SSL Если вам нужно больше возможностей для размещения вашего приложения, можно использовать Пользовательский сертификат SSL. Для этого вам необходимо сгенерировать соответствующий запрос сертификата (в соответствии с вашим пользовательским именем домена) и отправить его в требуемый центр сертификации (CA) для проверки.

image12

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 )

Примечание: НЕ ЗАЩИЩАЙТЕ свой ключ парольной фразой, иначе вы получите ошибку при добавлении его на панель управления Jelastic.

W Gen Servkey

  • Затем вы должны сгенерировать запрос сертификата на основе подготовленного ключа. Создайте его следующим образом:

    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 должно быть равно вашему купленному доменному имени, иначе ваш сертификат не будет проверен.

w gen servreq 2

Для 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 )

Примечание: НЕ ЗАЩИЩАЙТЕ свой ключ парольной фразой, иначе вы получите ошибку при добавлении его на панель управления Jelastic.

l gen servkey

  • Затем вы должны сгенерировать запрос сертификата на основе подготовленного ключа. Создайте его следующим образом:

    openssl req -new -key {keyname} -out {filename}

где

{keyname} — имя ключа вашего сервера (сгенерированное вами на предыдущем шаге,в нашем случае server.key )
{filename} — желаемое имя файла запроса вывода срасширением .csr (например, server.csr ).

Вы увидите набор вопросов. Ответьте на них, чтобы дополнить информацию о сертификате вашими данными.

ВАЖНО: обратите внимание, что
значение параметра
Common Name должно быть равно вашему купленному доменному имени, иначе ваш сертификат не будет проверен.

l gen servreq 2

3. Отправьте запрос на сертификат, который вы получили, в свою предпочитаемую компанию центра сертификации (CA) для подписания.

4. Выбранный ЦС проверяет личность владельца домена и (если все в порядке) отправляет вам промежуточный сертификат и сертификат домена .

Получив все необходимые файлы, вы можете приступить к настройке вашей среды.

Отрегулируйте топологию среды

Чтобы обеспечить защиту с помощью настраиваемого SSL-сертификата, ваша среда должна иметь собственный домен и общедоступный IP- адрес, подключенный к вашему серверу приложений.

Для приложений Python и Node.js ваша среда также должна включать сервер балансировки NGINX . В этом случае внешний IP-адрес должен быть присоединен к балансировщику, а не к серверу приложений, поскольку NGINX становится точкой входа вашего приложения.

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

1. Войдите в панель управления Jelastic и создайте новую среду (или нажмите кнопку Изменить топологию среды для существующей).

2. В открывшемся диалоговом окне « Топология среды» перейдите в раздел мастера SSL и проверьте, выполнены ли все пользовательские требования SSL (т. Е. Отмечены ли зеленые флажки для всех параметров в списке требований).

Env Wiz

Если это не так, Jelastic может помочь вам настроить среду всего одним щелчком мыши. Для этого выберите соответствующую кнопку рядом со списком требований, и топология среды будет мгновенно настроена в соответствии с ними.

регулировать

Чтобы завершить настройку, нажмите « Создать» для новой среды или нажмите « Применить», если вы отредактировали существующую.

Доменное имя и настройки записи

Теперь вам нужно установить запись A , чтобы указать свое доменное имя для публичного IP-адреса вашего приложения.

1. Выберите дополнительную кнопку  шестернядля узла с внешним IP-адресом, подключенным в вашей среде (т. Е. Для сервера NGINX-балансировщика в случае использования Python / Node.js или для сервера приложений во всех других случаях).

Вы увидите список IP-адресов, где второй является обязательным публичным IP- адресом. Нажмите на нее, чтобы выделить всю строку и скопировать цифры в буфер обмена.

публичный ip

2. Затем перейдите к диспетчеру DNS выбранной системы регистраторов доменов (той, которую вы использовали для покупки собственного доменного имени) и установите в ней запись A.

Дополнительную информацию и подробный пример можно найти в соответствующем документе (начиная с 5-го шага в разделе « Имя домена и Настройки записи »).

Загрузить сертификат в окружающую среду

Последний шаг, который вам нужно выполнить, это загрузить файлы сертификатов в вашу среду Jelastic.

1. Нажмите Настройки для настроенной среды.

настройки

2. На открывшейся вкладке выберите опцию Custom SSL в левом списке.

Загрузите ключ сервера, промежуточный сертификат (CA) и сертификат домена в соответствующие поля.

Custom SSL

Если на этом этапе вы получили ошибку, убедитесь, что ваш ключ сервера не защищен парольной фразой. В противном случае удалите защиту с помощью следующей команды и повторите попытку загрузки файлов:

openssl rsa -in {keyname} -out {new-keyname}

Нажмите Сохранить .

Когда серверы в вашей среде будут автоматически перезапущены, давайте убедимся, что все работает правильно. Для этого введите привязанное имя настраиваемого домена (или прикрепленный внешний IP-адрес) в адресную строку браузера с указанием протокола соединения https: // вместо http: // one по умолчанию . Ваша заявка должна быть открыта без проблем.

https 2

Это все! Теперь вы можете быть уверены, что все полученные / отправленные данные приложения защищены и зашифрованы.

Подпишитесь на наш блог, чтобы не пропустить следующую инструкцию по созданию и установке самоподписанных SSL-сертификатов. Зарегистрируйтесь сейчас, чтобы начать двухнедельную бесплатную пробную версию и получить значительный уровень безопасности для ваших доменных имен!