Получение бесплатного SSL сертификата

mbaev 20.05.2017, 17:54

https На дворе май 2017-го, а браузеры продолжают путь к "защищённому" интернету, смысл которого заключается в обязательной ssl-сертификации всех сайтов. Этот путь начался давно англ и, некоторое время назад Chrome начал дописывать "Информацию о сайте", в котором указано, что соединение с сайтом не защищено. Mozilla пошла дальше и теперь при заполнении форм входа на сайт, пользователи стали получать сообщение:

Это соединение не защищено. Логины, введенные здесь, могут быть скомпрометированы.

Описание данного явления можно увидеть на официальном сайте Mozilla.

Здорово, Mozilla! Молодцы, Mozilla! Теперь, для любого смертного, попадающего на Ваш сайт, это сообщение выглядит как: Эй, человек! Этот сайт очень страшный и опасный, и он точно сломает твой компьютер. А если не cломает то украдёт твои деньги!
Конечно, я утрирую, но такие надписи значительно уменьшают уровень доверия к сайту.

Ну что ж. Надо, так надо. Попробуем разобраться, что можно сделать без денег.

Если Ваш сайт имеет под собой коммерческую основу, то Вам ничего не стоит потратить хотя бы $100 - $200, чтобы купить нормальный сертификат. Но те, которые хотят "таблеток от жадности, да побольше!", и сертификат желают получить нахаляву (а лучше два =) ). Я, со своим блогом, тоже в этом клане и для нас нищебродов есть сайты, которые выпускают бесплатные сертификаты. Их полно, но два отличаются особо: StartSSL и Let's Encrypt.

Платные сертификаты лучше

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

Выбор платных CA велик: RapidSSL, GeoTrust, Comodo. Могу рекомендовать только Thawte  англ.
С другими не работал, а от Thawte остались положительные впечатления.

Бесплатный сертификат от StartSSL

StartSSL, который переехал на адрес startcomca.com англ раздаёт сертификаты давно и даже статьи на хабре есть по этому поводу. Впрочем, они уже не актуальны.

Бесплатные сертификаты от StartSSL не валидны

С 21-го октября 2016 года браузеры перестали доверять CA StartSSL и WoSign. Так описывают эту причину Google  англ. StartSSL сообщают, что исправят проблемы в течении полугода.

Чтобы получить бесплатный сертификат от StartSSL, необходимо:

  1. Зарегистрироваться на startcomca.com  англ
  2. Подтвердить право владения доменом(и) (верификация)
  3. Сгенерировать CSR и сделать запрос на получение сертификата одним из предложенных способов
  4. Прикрепить полученный сертификат к домену

1. Регистрация в startcomca.com

Регистрация  англ простая. Пароля нет, почту подтверждать не надо. Каждый последующий вход выполняется путём получения кода для входа на почту.

2. Верификация

Верифицировать можно разными способами. Мы берём бесплатный сертификат, поэтому любой способ подойдет. Выбираем что проще. Например, верификация по email'у.

startssl-verify

Верификация проходит также как и в большинстве других случаев: подтверждением владения почты административной почты. На почту приходит код, вводим его, профит. После этого в правом столбце у Вас появится подтверждённое доменное имя.

startssl-verify

3. Запрос на сертификат

Теперь у нас есть подтвержденный домен и можно приступать к получению сертификата. Выбираем самый простой тот, что бесплатный
srartssl-free-certificate

Этот шаг занимает чуть больше времени, чем остальные, но тоже прост: заполняем форму и отправляем.

generate-crs

  1. Указываем до 10-ти доменных имен
  2. Выбираем способ генерации CSR
  3. Выполняем команду и генерируем CSR. В процессе генерации CSR Вам будет задан ряд вопросов, ответы на которые необходимо вводить в латинской раскладке. Достаточными являются:
    • Country Name (2 letter code) [AU] - страна регистрации организации, для которой получаем сертификат (для Росcии - RU)
    • State or Province Name (full name) [Some-State] - область, регион регистрации организации (Москва - Moscow)
    • Locality Name (eg, city) [] - город регистрации организации (Москва - Moscow)
    • Organization Name (eg, company) [Internet Widgits Pty Ltd] - наименование организации
    • Common Name (e.g. server FQDN or YOUR name) [] - доменное имя, для которого генерируется сертификат
     
    Пример запуска и результат команды

    Пароль не обязателен

    Если в процессе формирования CSR вы укажете пароль, то он понадобится в момент крепления сертификата к домену. Если за вас это будет делать техподдержка, то они попросят у Вас этот пароль.

  4. Далее открываем сформированный <файл>.csr, копируем содержимое и вставляем в ожидающее нас поле.
  5. Отправляем и смотрим результат
    startssl-complete-generate-ssl

4. Крепление сертификата к домену

Начать стоит, безусловно, со скачивания самого сертификата. Список всех сертификатов можно увидеть на странице Certificate list.
startssl-certificates-list

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

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

Сертификат от Let's Encrypt

Однажды, два сотрудника из Mozilla почесали и репу и сказали: "Ёшки-матрёшки! Да что ж это такое?! Сертификаты - это же, всего лишь, единицы и нули. А почему бы нам не раздавать их всем желающим?.. Ну хотя бы нищебродам тем, у кого нет коммерческой подоплёки?". Другие воскликнули: "Да! Давайте раздавать!". Так возникла идея автоматизированного сервиса по выдаче бесплатных сертификатов сроком на 90 дней, которую, мы теперь знаем под названием Let's Encrypt.

Этот сервис полностью автоматизирован. Он устанавливается на хостинг за 15 минут, а процедура получения сертификата занимает до 30 секунд, в которую входит выполнение 2-х команд.

Установка CertBot'а - это отдельная тема, но всё же приведу несколько ссылок:

IT-Patrol

Хостинг, который вызывает у меня симпатию IT-Patrol, тоже поддерживает автоматизированный выпуск сертификатов от Let's Encrypt. Этот хостинг "заточен" на работу с cms Drupal  всех версий и нынче он располагается по адресу drupalhosting.ru . Моё последнее обращение к ним началось с просьбы о подключении автогенерации сертификата от Let's Encrypt. Наше общение было такое же простое, лёгкое и приятное, как все предыдущие и через некоторое время я получил заветное сообщение "Подключили сертификаты. Проверьте, пожалуйста."

That's it.

Полезные ссылки