В этой статье мы рассмотрим, как заказать бесплатный SSL–сертификат и установить его на облачный VPS от Infobox. Базовые SSL–сертификаты бесплатно выдает центр сертификации StartCom.

Бесплатные сертификаты StartSSL™ класса 1 служат для подтверждения доменных имен и адресов электронной почты. Проверки заказчиков, как правило, производятся автоматически и требуют минимального участия со стороны сотрудников StartCom. В процессе проверки подтверждается то, что подписчик является владельцем домена и действующего ящика электронной почты.



Бесплатные сертификаты предназначены для веб-сайтов, которым необходима защита секретности личных данных и предотвращение возможности прослушивания интернет-соединений. Информация, представленная в сертификатах этого вида, кроме имени домена и адреса электронной почты, не подтверждена. Если вам необходима сертификация более высокого уровня — можно заказать SSL сертификат в панели управления Infobox на главной странице в блоке «Мои услуги» -> «Заказать новую услугу». Доступ к панели управления предоставляется при заказе любой услуги, например VPS или облачных VPS.

Для обеспечения секретности передаваемых данных простых сайтов сертификаты StartCom подходят неплохо.
Бесплатные сертификаты от StartCom на самом деле не совсем бесплатные. Если потребуется отзыв сертификата — эта процедура стоит $24 у StartCom.

Заказ бесплатного SSL–сертификата


Откройте страницу заказа бесплатного сертификата SSL. Заполните информацию о вас (данные должны быть реальными, это очень важно).



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



Введите код и нажмите «Continue»



После этого необходимо дождаться подтверждания регистрации от StartCom (может занимать до 6 часов, но обычно ссылка для доступа и код подтверждения приходит гораздо быстрее). После получения письма введите код из него по ссылке, указанной в письме. Далее выберите длинну сертификата (лучше выбирать максимальную).



После этого будет сгенерирован сертификат для доступа к сертифицирующему центру StartCom. Сохраните его в безопасном месте и установите в систему, выполнив по нему двойной клик мышью и нажав «Install».

Теперь у вас есть доступ к сертифицирующему центру. На следующем шаге введите имя домена, для которого хотите получить сертификат.



Для подтверждения домена необходимо создать на нем один из трех адресов:
  • postmaster@domain
  • hostmaster@domain
  • webmaster@domain

Если у вас еще не подключена почта для домена, можно привязать домен к бесплатной Яндекс.Почте или воспользоваться бизнес-почтой «Офис 24»

После создания почтового ящика на домене выберите его у StartCom и подтвердите принадлежность домена вам.



После подтверждения владения доменом вы можете сгенерировать секретный ключ, как показано на скриншоте ниже:



Рекомендуется пропустить этот шаг и сгенерировать CSR на вашем облачном VPS. Так секретный ключ не окажется у StartCom.
Для генерации CSR подключитесь к виртуальному серверу по SSH(подробнее в следующем разделе) и выполните команду:
openssl req -new -newkey rsa:4096 -nodes -keyout /etc/ssl/private.key -out /etc/ssl/domain.csr




В FQDN укажите ваш домен. E–mail адрес обязательно должен быть в этом домене, например webmaster@domain.com.

После генерации выведите на экран консоли содержимое файла domain.csr:
cat /etc/ssl/domain.csr

и вставьте в поле мастера выдачи сертификатов, который появится после нажатия на Skip окна генерации сертификатов.



Согласитесь с предложенным именем домена.



На следующем шаге добавьте поддомен www к сертификату.



Завершите процесс получения ssl.crt и сохраните его.

Вам понадобится корневой и промежуточный сертификаты StartCom. Для их получения перейдите в раздел Toolbox -> StartCom CA Certificates.
Сохраните файлы по ссылке Class 1 Intermediate Server CA (sub.class1.server.ca.pem) и StartCom Root CA (ca.pem).



В итоге у вас будут сохранены на локальном компьютере следующие полезные файлы:
  • ca.pem
  • sub.class1.server.ca.pem
  • ssl.crt

На сервере в папке /etc/ssl/:
  • private.key


Копируем файлы на сервер


Создайте сервер из шаблона Ubuntu 14.04 lamp в облаке. Процесс создания сервера был рассмотрен в статье ранее.
Необходимо скопировать ca.pem, sub.class1.server.ca.pem и ssl.crt в папку /etc/ssl (если ее нет — создать).

Это можно сделать например через Filezilla (установка клиента рассмотрена также в статье). Однако способ подключения будет отличаться, так как нужен доступ не только к папке сайта, но и ко всему серверу.

Добавьте новое SFTP подключение, как показано на скриншоте ниже. Используйте логин и пароль от сервера, которые пришли на вашу электронную почту после создания сервера, а также внешний ip–адрес сервера.



При подключении подтвердите, что вы подключаетесь к известному вам серверу, нажав OK.



Подключение будет успешно установлено.



Перейдите в папку "/etc/ssl" и скопируйте туда файлы ca.pem, sub.class1.server.ca.pem и ssl.crt.

Теперь подключитесь к серверу по SSH.

Включаем SSL в NGINX


В шаблоне LAMP настраивать SSL нужно на реверс-прокси NGINX.

Если ранее при генерации CSR вы установили пароль, расшифруйте приватный ключ командой:
openssl rsa -in /etc/ssl/ssl.key -out /etc/ssl/private.key


Объедините корневой и промежуточный сертификаты командой:
cat /etc/ssl/sub.class1.server.ca.pem >> /etc/ssl/cau.pem


Добавьте к объединению ваш сертификат
cat /etc/ssl/ssl.crt /etc/ssl/cau.pem >> /etc/ssl/group.crt


Откройте результат в nano:
nano /etc/ssl/group.crt

Сохраните изменения (Ctrl+X, Y, Enter).

Перенесите начало каждого нового сертификата на новую строчку после окончания предыдущего сертификата и сохраните изменения.

Теперь установите права для доступа к private.key:
chmod 600 /etc/ssl/private.key




Отредактируйте файл конфигурации nginx:
nano /etc/nginx/sites-enabled/default


Внесите изменения, как показано на скриншоте ниже (вместо le-vert.ru используйте ваш домен):



Перезапустите NGINX.
service nginx restart


Если вы попробуете зайти на сайт по ip–адресу по протоколу HTTPS, то вы увидите предупреждение о том, что сертификат небезопасен.



Для безопасного соединения заходите на сайт по имени домена.

Для этого в DNS-записи А для домена и поддомена www укажите ip–адрес сайта и дождитесь обновления DNS. Либо для тестирования пропишите соответствие ip–адреса сервера и домена в файле hosts вашей ОС.


Единственное небезопасное что осталось — картинкa на странице загружается по http. Для того, чтобы сайт был доверенным, загружайте картинки по https.

Успешного использования Infobox!

Комментарии (8)


  1. navion
    21.04.2015 22:57

    Один хороший человек посоветовал GoGetSSL, продающий DV-сертификат для любых целей за $5.95.
    У StartSSL в последнее время то обслуживание в ЛК, то недоступен OCSP. Ну и упороты безопасники, блокирующие их CA, никуда не делись :-(


  1. lehha
    21.04.2015 23:14

    Осторожней с этими сертификатами. В одно прекрасное утро можете обнаружить, что сертификат отозван. Они отзывают их у коммерческих проектов наугад. Спустя 2 года они это сделали у меня. Хорошо, что это было в выходные и никто не заметил.


    1. gogetssl
      22.04.2015 09:08

      Наугад никто ничего не отзывает. Значит на то были причины. Если предоставите номер заказа, мы уточним истенные причины. Как правило это Man in the middle, или ложные документы.


    1. navion
      22.04.2015 15:10

      Вы про StartSSL или PositiveSSL?


      1. lehha
        22.04.2015 16:08

        про StartSSL — это они сделали такой сюрприз. Комментаторы на Хабре не дадут соврать — я долго не мог понять, почему у нас отозвали, пока не поискал аналогичных коллег.


        1. gogetssl
          23.04.2015 08:49

          Ааа :) Мы подумали про Comodo. StartSSL мог отозвать, т.к. они разрешают их использование для не коммерческих целей. Хотя сложно сказать, честно, об их методах нам не известно :)


  1. Alukardd
    22.04.2015 08:48
    +2

    Я понимаю, что это «Блог компании Infobox» и всё такое, но про StartSSL уже писано не мало статей, а уж как установить сертификат в конкретное ПО и подавно. Может вы будете постить достойную и интересную техническую информацию о реализованных вещах, а не использовать Хабр как свою базу знаний(в ней я, кстати, данной статьи не наблюдаю)?


    1. infobox Автор
      22.04.2015 11:11

      Данная статья про использование StartSSL с конкретным шаблоном Ubuntu Lamp и написана из-за вопросов сразу нескольких пользователей после статьи о шаблоне Lamp на Хабре. 41 человек добавил эту статью в избранное на Хабре, значит она нужна и поможет сэкономить деньги при запуске проекта (мы продаем SSL–сертификаты, если бы цель статьи была исключительно прибыль — такой статьи не было бы). Комментарий про GoGetSSL так же будет полезен пользователям.

      >а уж как установить сертификат в конкретное ПО и подавно
      На самом деле так кажется, например в NGINX 1.8 появилась возможность указать ссылку на файл с паролями от сертификатов в конфиге. Это полезная фича. При этом 90% статьи об этом были бы известны, но 10% позволили бы пользователям узнать новое.