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'у.

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

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

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

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

  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) [] - доменное имя, для которого генерируется сертификат
    openssl req -newkey rsa:2048 -keyout mbaev.key -out mbaev.csr
    Generating a 2048 bit RSA private key
    ..................................................+++
    .............................................................+++
    writing new private key to 'mbaev.key'
    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:RU
    State or Province Name (full name) [Some-State]:Samara
    Locality Name (eg, city) []:Samara
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mbaev's blog
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:mbaev.com
    Email Address []:
    ----
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    

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

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

  4. Далее открываем сформированный <файл>.csr, копируем содержимое и вставляем в ожидающее нас поле.

  5. Отправляем и смотрим результат

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

Начать стоит, безусловно, со скачивания самого сертификата. Список всех сертификатов можно увидеть на странице Certificate 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.

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

Другие посты