Сайт о телевидении

Сайт о телевидении

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

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

В данной инструкции мы рассмотрим настройку и активацию сертификата 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 журнал".

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

– некоммерческий удостоверяющий центр, который предоставляет бесплатные X.509 сертификаты для TLS шифрования с помощью автоматизированного процесса, направленного на замену текущего сложного процесса ручного создания, проверки, подписи, установки и обновления сертификатов для защищённых веб-сайтов.

Страница модуля интеграции Let’s Encrypt на сайте ISPsystem .

Обращаем ваше внимание, Let’s Encrypt имеет следующие ограничения:

  • Можно заказать только 5 сертификатов в неделю (TLD, включая его поддомены)
  • Срок действия Let’s Encrypt сертификата 3 месяца (каждые 3 месяца ISPmanager выполняет перевыпуск Let’s Encrypt сертификатов)

Данный функционал доступен с версии ISPmanager 5.131 .

Для установки плагина из-под учетной записи root пройдите Модули ->Интеграция .

После установки плагина Let’s Encrypt в ISPmanager Вы сможете получить действующий самообновляющийся SSL-сертификат для своего домена.

Для этого Вам понадобится пользователь, имеющий право пользоваться SSL, и действующее доменное имя, доступное для мировых ДНС.

После установки плагина в разделе WWW ->SSL-сертификаты появится дополнительная функциональность: кнопки Let"s Encrypt и Let’s Encrypt Журнал, при нажатии на первую вы приступите к процессу получения сертификата.

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

Создание сертификата

Есть два способа получения Let"s Encrypt сертификата:

  • Из раздела WWW ->SSL-сертификаты .

Нажимаем на кнопку Let"s Encrypt и в появившемся окне нужно заполнить данные для генерации сертификата

Выбираем пользователя (если создание сертификата происходит из-под root) и домен.

  • Вместе с новым www-доменом

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

Обновление сертификата

Проверка необходимости обновления Ваших сертификатов, выданных сервисом Let’s Encrypt, будет проходить каждый день в 1:30 ночи по серверному времени.

И запускаться оно (обновление) будет если срок действия сертификата прекращается через семь или менее дней.

Так же можно запустить обновление сертификата вручную. Для этого имеется функция letsencrypt.check.update . В случае, если Вы хотите запустить преждевременно обновление необходимо вызвать эту функцию через утилиту mgrctl параметрами

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

Важно!

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

При обновлении сертификата с DNS-проверкой будут заново сгенерированы TXT-записи. Если используется внешний DNS-сервер, то записи автоматически не будут добавлены и сертификат не сможет обновиться.

Технология получения сертификата

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

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

Можно запустить вручную letsencrypt.periodic через утилиту mgrctl .

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

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

Порядок запросов

  • Создание учетной записи
  • Авторизация
  • Запрос на проверку владения доменом (для проверки владением доменом на сервер пользователя добавляется токен -- файл содержащий данные, полученные при аутентификации. На сервере существует глобальный алиас .well-known/acme-challenge/ , ведущий в директорию /usr/local/mgr5/www/letsencrypt . Все токены проверки будут создаваться по этому пути
  • Ожидание подтверждения успешного завершения проверки
  • Получение сертификата

DNS проверка

Мы добавляем возможность проверки владения доменом через TXT записи в доменной зоне. Для получения сертификата с DNS проверкой, при заказе сертификата просто поставьте "галочку" Проверка через DNS

Первоначально, необходимые TXT-записи будут автоматически добавлены средствами панели. Однако, если в процессе внутренней проверки выяснится, что для домена используется внешний DNS, процесс выдачи сертификата будет заморожен на 30 минут. Администратор и пользователь получат сообщения вида: Для продолжения процедуры получения сертификата Let"s Encypt %имя_сертификата% добавьте TXT-записи: "%записи%" на серверах имен "%сервера_имен%". Следующая проверка запланирована %дата_и_время_разморозки%. Будьте внимательны при добавлении TXT-записей, ошибки в имени или содержании не допускаются .

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

Почтовые домены

Для получения сертификата на почтовый домен необходимо при создании\редактировании почтового домена выбрать Новый Let"s Encrypt сертификат . Далее необходимо ввести псевдонимы, которые использует выбранный домен для работы почты (pop.your_domain.com, mail.your_domain.com, smtp.your_domain.com или др). Если в панели отсутствует одноименный веб-домен, то процедура проверки будет принудительно проводиться через DNS

Поддержка wildcard

Начиная с версии 5.147.0 в панелях Lite и Business реализована поддержка wildcard-сертификатов . Для получения такого сертификата, на форме заказа нужно включить чекбокс Wildcard

Внимание! Проверка владения доменом при выпуске wildcard-сертификата осуществляется исключительно по DNS. Также обращаем внимание на то, что псевдоним вида *.доменное.имя, указанный вручную, будет проигнорирован при заказе во избежание возможных конфликтов при проверках.

Нестандартные ситуации

  1. В Business-версии панели может возникнуть нестандартная ситуация, когда веб-домен "резолвится" на более чем один узел кластера. В случае, если у какого-либо из этих узлов отсутствует веб-роль, он не сможет участвовать в процедуре проверки по HTTP. Пути решения проблемы:
    1. Использовать DNS проверку
    2. Просто подождать. После нескольких провалов сервер ACME, путем перебора, успешно найдет подходящие адреса для HTTP проверки.

Эта форма - не обращение в поддержку.
Мы не можем идентифицировать вас и ответить на ваше сообщение.

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.

Впервые с данной технологией мы познакомились в начале 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).

Из панели управления ISPmanager теперь можно установить бесплатный SSL-сертификат Let’s Encrypt.

Это бесплатный SSL-сертификат, который выдается после проверки доменного имени (DV – domain validation). Его особенность заключается в том, что сертификат нужно продлять в ручном режиме каждые 3 месяца. Но в ISPsystem создали отдельный модуль для панели управления ISPmanager, который за 7 дней до окончания срока действия сертификата автоматически его обновляет.

Сертификат устанавливается за 6 шагов

1. Зайдите в панель ISPmanager как root-пользователь.


2. В разделе Интеграция –> Модули установите плагин Let’s Encrypt Encrypt.



3. В разделе Настройки web-сервера –> SSL-сертификаты выберите Let’s Encrypt.



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



5. После нажатия кнопки “Ок” на сайт установится самоподписанный сертификат. После завершения процесса проверки домена тип изменится на “Существующий”.



6. Готово. Перейдите по вашему домену, слева от него появится зеленый замок, который означает, что соединение защищено.

Ответы на частые вопросы

Let’s Encrypt подходит только для сайтов
Его нельзя использовать для защиты почты или кода

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

Проверяется только право на владение доменом
Проверка организации и расширенная проверка (OV и EV) не планируется.

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

Сертификат действует вечно
Панель автоматически продляет сертификат. Это значит, что сертификат действует до тех пор, пока у вас есть панель.

Определяется браузерами как доверенный
Сертификат поддерживается большинством современных браузеров. Полный список браузеров на официальном форуме поддержки Let’s Encrypt.

Поддомены не поддерживаются
Если вам нужны сертификаты для поддоменов,то выпустите отдельный сертификат для каждого поддомена.

Автоматизация поддерживается только для одного домена
Один сертификат поддерживает до 100 доменов, но процесс автоматизации не позволяет использовать один сертификат для нескольких доменов. Оформите отдельный сертификат для отдельного домена или закажите один из платных сертификатов с поддержкой мультидоменов.