Бесплатные сертификаты от Let's Encrypt. Эпоха “Пост-Let’s Encrypt”. Кому по-прежнему стоит платить за SSL сертификаты

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

На данный момент поддержкой сертификатов Let"s Encrypt оборудованы все наши серверы виртуального хостинга, в преддверии 2017 года - это важный этап в развитии сервиса.

В этой статье мы произведем сравнение сертификатов от Let"s Encrypt с платными решениями, рассмотрим то, как они работают, разберем по шагам то, как их установить и подскажем решения часто возникающих проблем.

Когда мы знакомились с сертификатами в начале 2016 года, были проблемы в работе сайтов с операционной системы Windows XP , не было поддержки IPv6 и IDN доменных имен при выдаче сертификатов. На момент написания статьи, все данные проблемы были решены: https://letsencrypt.org/upcoming-features/

В сентябре этого года, компания Google навела много шума, заявлением о том, что сайты работающие через незащищенное соединение с января 2017 года будут помечаться как небезопасные : https://security.googleblog.com/2016/09/moving-towards-more-secure-web.html , но если внимательно ознакомиться с записью в их блоге, то это изменение относится только для страниц, на которых собираются личные данные пользователей , при этом, красный индикатор незащищенного соединения будет только в режиме инкогнито.

Один из очередных мифов - необходимость выделенного IP адреса для подключения сертификатов. Раньше это действительно было так, но с введением поддержки SNI в этом нет необходимости.

Технически, бесплатные сертификаты от Let"s Encrypt ничем не отличаются от платных , которые выдаются через подтверждение доменного имени. Как бесплатные, так и платные сертификаты работают путем проверки цепочки сертификатов. Бесплатные сертификаты от Let"s Encrypt подписываются корневым сертификатом, который хранится точно также, как в платных центрах сертификации.

Несмотря на это, многие владельцы сайтов стали покупать сертификаты и устанавливать на своих сайты. Более смышленые стали уточнять в поддержке хостинга о возможности подключения бесплатных сертификатов от Let"s Encrypt.

Давайте теперь рассмотрим, как получить бесплатный сертификат. Если Ваш хостинг-провайдер использует панели управления DirectAdmin, Cpanel или ISPmanager 5 , то просите включить возможность получения сертификатов Let"s Encrypt. Если Вам откажут или потребуют оплаты - стоит задуматься о смене хостинг-провайдера.

Если Вы наш клиент и обладатель хостинга с панелью ISPmanager 4 или Cpanel , то сертификаты для Ваших сайтов создаются автоматически. Обычно это происходит ночью, проверьте, возможно Ваш сайт уже доступен через защищенное соединение!

В случае с ISPmanager 5 , сертификат необходимо создать вручную, но это совсем не сложно. Для этого необходимо перейти в раздел "WWW домены" и выбрать необходимое доменное имя. При изменении установите галочку "SSL сертификат" и в выпадающем меню выберите "Let"s Encrypt certificate".

После этого появится окно с заполнением данных сертификата, все данные необходимо заполнить на латинице.


На этом всё, обычно в течение 10-15 минут сертификат создается и подключается к сайту.
Если возникли какие-то ошибки или сертификат не был подключен, то в разделе "SSL-сертификаты", выбрав сертификат и нажав "Let"s Encrypt Журнал" можно посмотреть, что пошло не так. Если выдача сертификата проходит без ошибок, то должно быть так, как на картинке ниже.


Теперь рассмотрим создание сертификата с панелью DirectAdmin. Первое, что необходимо сделать, это перейти в раздел "Настройки доменов", выбрать необходимое доменное имя, установить галочку "Защищенный SSL", а также выбрать "Использовать ссылку с private_html на public_html для работы сайта по http и https".




После этого необходимо перейти в раздел "SSL сертификаты", выбрать "Бесплатный сертификат от Let"s Encrypt" и заполнить данные сертификата. В списке можно выбрать поддомены, которые необходимо включить в сертификат (обычно это само имя домена и поддомен www).




Если всё пройдет хорошо, то должно появиться сообщение об успешной выдачи сертификата, сайт станет доступным через защищенное соединение в течение 10-15 минут.


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

  1. Несмотря на то, что Let"s Encrypt официально заявила о поддержке IDN доменных имен (кириллических), не все панели управления поддерживают выдачу сертификатов для данных доменных имен (на момент написания статьи в ноябре 2016 года).
  2. Для получения сертификата доменное имя должно быть делегировано на сервер (это необходимо для проверки владения доменным именем).
  3. Сертификаты на системные поддомены вида *.u-host.in, *.o-host.in, *.p-host.in, *.lh1.in и *.pluton-host.ru периодически не выдаются из-за превышения лимитов Let"s Encrypt (не более 20 сертификатов в неделю).
  4. Проверка доменного имени происходит через запрос файла из папки.well-known/acme-challenge, некоторые сайты перенаправляют все запросы в файл index.php из-за чего проверка доменного имени завершается с ошибкой.
Если в файле.htaccess есть подобная запись, то убедитесь, что выполняется проверка того, что запрос не является запросом файла или папки.

RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteRule . /index.php [L]

RewriteEngine On

RewriteBase /


Достаточно добавить две строки перед перенаправлением запросов в index.php, с помощью которых сервер проверит, не является ли путь в адресной строке файлом или папкой.

RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]

RewriteEngine On

RewriteBase /

RewriteRule ^ index \ . php $ - [ L ]

RewriteCond % { REQUEST_FILENAME } ! - f

RewriteCond % { REQUEST_FILENAME } ! - d

RewriteRule . / index . php [ L ]


Бывают ситуации, когда сертификат выдан, но при заходе на сайт , он отображается некорректно , либо сертификат не отображается зеленым цветом. Обычно это происходит по той причине, что подключаемые файлы скриптов, стилей и графики загружаются через незащищенное соединение .
Проверить это очень просто, зайдите на сайт через защищенное соединение и откройте консоль браузера (комбинация Ctrl + Shift + J в Google Chrome), если там будут записи вида:

Mixed Content: The page at "https://p-host.in/image.html" was loaded over HTTPS, but requested an insecure image "http://p-host.in/cat.jpg". This content should also be served over HTTPS.

Mixed Content : The page at "https://p-host.in/image.html" was loaded over HTTPS , but requested an insecure image "http://p-host.in/cat.jpg" . This content should also be served over HTTPS .


То необходимо поправить все ссылки на сайте, чтобы они работали через защищенное соединение сайта. Как это сделать? Поищите документацию к своей CMS и найдите, где можно поменять адрес сайта, либо воспользуйтесь услугами программиста, который настроит Ваш сайт или же доработает его при необходимости.

Заключительным этапом в настройке является переадресация всех запросов на защищенное соединение . Для этого необходимо добавить один из предложенных вариантов ниже в файл.htaccess сайта (обычно он находится рядом с файлом index.php или index.html).

В данной инструкции мы рассмотрим настройку и активацию сертификата Let"s Encrypt при использовании панели ISPmanager. Эта инструкция подходит как к хостингу для сайтов, так и к VDS хостингу. Для хостинга сайтов процедура несколько проще, т.к. настройку модуля мы уже произвели.

Инструкция делится на два шага (один из которых можно пропустить, если у Вас не VDS).

Шаг №1: Настройка модуля Let"s Encrypt

Внимание! Этот этап нужно пропустить, и перейти на , если у Вас хостинг для сайтов!

После входа в панель ISPmanager, необходимо активировать модуль Let"s Encrypt. Это делается в разделе "Модули" нажатием на кнопку установки напротив модуля Let"s Encrypt.

Как только панель установится, отобразится информационная страничка о том, что такое Let"s Encrypt. Можно просто нажать "Ок".

На этом настройка закончена. Можно приступать к генерации сертификатов.

Шаг №2: Генерация сертификата Let"s Encrypt

Для настройки сертификата Let"s Encrypt, при создании или изменении домена в разделе "WWW-домены", необходимо поставить галочку "Защищенное соединение (SSL)", "Перенаправлять HTTP-запросы в HTTPS" при желании, и выбрать SSL-сертификат "Новый Let"s Encrypt сертификат".

Система попросит подтвердить параметры сертификата. Нужно нажать "Ок" для продолжения.

Всё готово. Сертификат будет подписан центром сертификации Let"s Encrypt в течение 10 минут. Если в течение 10 минут сертификат не заработал, нужно посмотреть журнал и/или обратиться к нам при возникновении вопросов.

Просмотр журнала (в случае, если возникли какие-то проблемы)

Журнал находится в разделе "SSL сертификаты" по кнопке "Let"s Encrypt журнал".

В журнале могут быть описаны ошибки, если они возникли. В случае возникнования вопросов, Вы всегда можете написать нам в поддержку (мы и проконсультируем, и сертификат сделаем).
В нашем случае ошибок нет, поэтому сертификат был успешно выдан.

Is a free certification authority that provides free X.509 certificated for TLS encryption. An automated process enables to facilitate creation, verification, setup and renewal of SSL certificates for protected web-sites.

Let’s Encrypt provides a number of limits:

  • You can order only 5 certificates per week (TLD, including its subdomains)
  • Let’s Encrypt certificate validity period is 3 months (every 3 months ISPmanager will reissue Let’s Encrypt certificates)

More information about additional limits can be found .

This module is available in ISPmanager 5.65 and later.

In order to install a plug-in as root, navigate to Modules ->Integration .

After you have installed Let’s Encrypt in ISPmanager, you can obtain a self-updated SSL-certificate for your domain. Be sure to create a user with a configured web-domain, and valid domain name available to world-wide DNS.

Once the installation is completed, in the WWW ->SSL-certificates module the user will see two new buttons - Let"s Encrypt and Let’s Encrypt Log. Clicking the first button will start the process of certificate issue.

The second function will be activated, if you already have the Let"s Encrypt certificate in the list of SSL-certificates, and will redirect you to the Event log.

Certificate creation

There are two ways to obtain an Let"s Encrypt certificate:

  • Navigate to WWW ->SSL-certificates .

Click the Let"s Encrypt button, and fill out the form.

Select a user (if your create an SSL as root) and domain.

Enter required data (country id, city, email, etc.) the length of the private key for your certificate.

  • When creating a WWW-domain

When creating a WWW-domain, select the Secure connection (SSL) . Let"s Encrypt certificate option will be added into the creation form. After you have provided all required information, you will be redirected to the Let"s Encrypt certificate creation form.

Certificate update

Every day at 1:30 a.m the system checks what certificates should be updated. The update procedure starts 7 (or less days) before the certificate"s expiration date.

You can also start the update process manually with the letsencrypt.check.update function. Call the function via the mgrctl utility with the following parameters:

force_update =yes, cert_name =%cert name%, user_name =%user name%

Attention! The number of certificates per domain is limited, that"s why do not update your certificates manually too often.

Certificate issue

First, a self-signed certificate is created with provided parameters. Once in 5 minutes, the system is trying to obtain a certificate.

Errors, if any, are logged into the Error log. The second attempt to obtain the certificate will be made in 5 minutes.

You can start the letsencrypt.periodic command via the mgrctl utility.

If the certificate cannot be obtained withing 24 hours, the corresponding notification is created for the user and administrators, and no other attempts are made.

If the certificate is successfully obtained, the self-signed certificate is changed into Let"s Encrypt . The user and administrators get notification that the certificate has been successfully issued.

Order of requests:

  • Account creation
  • Authentication
  • Request for domain ownership (in order to verify domain ownership, a new token is added. This is a file with data that were received after authentication, Path to the file .well-known/acme-challenge/%token_name%)
  • Waiting for successful validation
  • Certificate issue
Note: Starting from ISPmanager 5.84.0 the domain verification procedure was changed. A separate alias .well-known/acme-challenge/ is now created for every domain pointing to the /usr/local/mgr5/www/letsencrypt directory. All verification tokens will be created there.

DNS validation

Let"s Encrypt supports DNS-based validation that requires specific TXT records to be inserted into the DNS zone for a domain.

Select the "DNS validation" check box when you order a new SSL-certificate.

TXT-records will be automatically added by control panel. However, if external DNS is used, the process will be suspended for 30 minutes.

Administrator and user will see the notification: In order to proceed with Let"s Encrypt %certificate name% setup, add TXT-record: "%record%" on name servers "%name_servers%". Next verification process is scheduled on %activation_date_and_time%. Be very attentive when adding TXT-records, mistakes in their names or content are not permitted .

If domain validation processes cannot be completed successfully during 24 hours since you ordered a certificate, the system will stop trying to issue the certificate.

Mail domains

Let"s Encrypt can be issued for mail domains. Navigate to "Mail domains" --> click "Add" or "Edit" --> select "New Let"s Encrypt". The certificate will be also ordered for aliases mail.domain.name, smtp.domain.name, pop.domain.name. If the web-domain with the same name is not created in the control panel, the verification procedure will run via DNS.

Wildcard

Starting from version 5.147.0 in ISPmanager Lite and Business introduced support of wildcard SSL certificates . To receive a Wildcard SSL-certificate check the Wildcard box on the order form. Attention! Domain verification procedure is performed only via DNS. An alias such as *.domain.name specified manually will be ignored during the order to avoid verification conflicts.

Exceptions

  1. In ISPmanager Business: a web-domain can be resolved to several cluster nodes. If one of those cluster nodes doesn"t have the web-role, it cannot be used for HTTP validation. Solutions:
    1. Use DNS-based vaalidation
    2. Wait for some time. ACME server will try to find a suitable address for HTTP-validation.

This form does not appeal to the support.
We can not identify you and respond to your message.

Получить SSL теперь можно не только бесплатно, но и максимально удобно. Выпуск, установка на сервер, продление – все автоматически. И так и должно быть, ведь уже сегодня сертификаты LE справляются с большинством задач. Они обеспечивают надежное шифрование, «дружат» с популярными браузерами и не дают потерять SEO-поинты по правилам Google. С таким раскладом бесплатные SSL подойдут для 90% сайтов. Тогда кто те оставшиеся десять, кто должен продолжать платить? За кого в ближайшее время поборются Сomodo и Symantec?

Главным образом, это проекты e-commerce. И есть сразу несколько причин, почему им не стоит спешить с установкой нашего модуля. Остановимся на каждой подробнее.

1. Использование стартапами

Начнем с простого. Возьмем типичный e-commerce стартап. Никому не известное название. Полное отсутствие упоминаний в интернете. Домен зарегистрирован месяц назад. Всё так и намекает пользователю: соверши здесь оплату и не увидишь ни товара, ни денег. Следовательно, доверия ноль!

А теперь попробуем представить как при этом сертификат Let’s Encrypt, выдаваемый на 3 месяца, должен помочь его (доверие) повысить. Скорее он сделает все только хуже. Что нельзя сказать про сертификат EV с зеленой строкой. Он как минимум покажет, что вы настроены поработать еще год или два.

Использование сертификата Let´s Encrypt стартапом

2. Гарантии для покупателей

Не стоит забывать, что Let’s Encrypt выпускает только сертификаты с проверкой домена. Гарантий они дают не так много. Если быть откровенным, вообще никаких. Наличие DV (Domain Validated) сертификата свидетельствует лишь о шифровании данных на сайте, что само по себе ничего не значит.

Попробую проиллюстрировать примером. Допустим, вы собрались получить DV сертификат для интернет-магазина. Будьте готовы к тому, что совершать покупки у вас рискнут далеко не все потенциальные клиенты. Опытные пользователи пройдут мимо, и вот почему.

Дело в том, что ни бесплатный Let’s Encrypt, ни платный RapidSSL не помешают мошенникам провернуть самую популярную схему фишинга. Они сделают копию вашего сайта, купят похожий домен, и даже установят DV сертификат. Проверок-то никаких! Им останется лишь перехватить трафик и дальше собирать платежи незадачливых клиентов.

Случись такое с вами, репутация будет безвозвратно утеряна. Поэтому стоит заранее побеспокоиться о данной проблеме. Для этого потребуется не только установить хотя бы самый простой сертификат с проверкой организации, но и приучить посетителей обращать на него внимание. Начать можно с малого. Например, с размещения на видном месте так называемой печати доверия (Site Seal).


Печать доверия Thawte на сайте Альфа-Банка

3. WildCard…не очень

Поддержки WildCard в LE нет, а значит, для каждого домена 3 уровня устанавливать защиту понадобится отдельно. Проблема, конечно, так себе. В ISPmanager выпуск даже пары десятков сертификатов Let’s Encrypt – вопрос трех минут. Но бывают случаи, когда нужно не 10 и не 20, а безлимит. Здесь дела обстоят не так радужно.

Домены 3 уровня часто дарят своим клиентам хостинг-провайдеры. Обычно бонусом к основной услуге. Согласитесь, с бесплатным сертификатом предложение стало бы еще интереснее. Все так, вот только LE поддерживает лишь ограниченное количество подобных доменов. 128 штук, если быть точным. Поэтому в данном вопросе интеграция с Let’s Encrypt не помощник.

4. Использование блогами

Задача каждого блога состоит в том, чтобы получить максимальное количество подписчиков. Для этого формы ввода email адресов специально размещают на самом видном месте. За подписку нередко дают какой-нибудь небольшой бонус. И я полагаю, что каждый владелец авторского СМИ заинтересован в том, чтобы посетители оставляли реальные адреса, а не ящики для спама. Для этого нужно доверие. Поэтому стоит установить сертификат посерьезнее, чем Let’s Encrypt. В противном случае, вы не убедите посетителей, что их адреса не попадут третьим лицам и на почту не начнет валиться спам. О том, почему это произойдет, я уже рассказал в п.2.

Еще один пример – это различные блоги со специфической аудиторией. Как те, что пишут про Luxury Lifestyle. Использование бесплатного SSL сертификата подобными проектами как минимум выглядит странно. Как если бы редактор из глянца, рассуждающий о высокой моде, ходил бы в бесплатной футболке “Пивко у Михалыча”, выданной промоутером. Далеко не факт, что аудитория таких блогов оценит экономию.

Вывод

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

Буду рад услышать ваше мнение по этому поводу в комментариях. Очень интересно также узнать, каким вы видите будущее платных SSL сертификатов.

P.S. Не могу обойтись без метрик. Вот код со скидкой: habrssl5 . Он для тех, кто попал в десять процентов, о которых я говорил выше. Применить можно здесь.

Похожие публикации