Let's Encrypt - бесплатный SSL-сертификат: как получить, инструкция по установке, настройке и продлению. Let's Encrypt - бесплатный SSL-сертификат: как получить, инструкция по установке, настройке и продлению Установка let s encrypt на сервер

Наличие SSL - больше не прихоть крупных компаний, а обязательное требование для всех. Без SSL сайты теряют позиции в поисковой выдаче, посетителей и деньги. Let’s Encrypt в панели ISPmanager позволяет выпускать бесплатные SSL - как обычные, так и Wildcard. Запрос и установка происходят автоматически и не требуют технических навыков.

Зачем нужен SSL-сертификат

Когда вы заходите на сайт, вы подключаетесь к серверу, на котором он расположен. Если подключение не защищено, хакеры могут украсть логины, пароли и номера банковских карт. SSL-сертификат нужен, чтобы сделать подключение защищенным. С ним данные, которые вы вводите, шифруются. Даже если хакеры их перехватят, они не смогут их расшифровать.

С 2017 года поисковые роботы Google отмечают сайты без SSL как небезопасные и понижают их позиции в поисковой выдаче. Google Chrome и Mozilla Firefox маркируют HTTP сайты как ненадежные. Так браузеры предупреждают пользователей, что мошенники могут украсть личные данные и деньги.

Переведите сайт на HTTPS, чтобы усилить позиции в поисковых системах и вызывать доверие посетителей. С модулем Let’s Encrypt для этого не нужны ни деньги, ни технические навыки.

Кому подойдет Let’s Encrypt

Let’s Encrypt выпускает SSL-сертификаты начального уровня с проверкой домена (DV). Поэтому Let’s Encrypt отлично подходит для небольших онлайн-проектов, где не требуется строгая гарантия безопасности: блогов, хобби-сайтов, сайтов-визиток. Зеленого замочка в строке браузера достаточно, если посетители не вводят логины и пароли и не совершают покупки.

DV-сертификат только подтверждает, что домен действительно принадлежит вам. Посетители сайта не столкнутся с предупреждениями браузера о посещении непроверенного сайта. Мошенники не перехватят информацию пользователей, так как сертификат обеспечивает безопасное HTTPS-соединение.

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

Как установить Let"s Encrypt

Шаг 1.

Чтобы установить Let’s Encrypt, ISPmanager должен быть не ниже версии 5.65.

  • Откройте ISPmanager,
  • Из-под учетной записи root перейдите в раздел Интеграция → Модули ;
  • Установите модуль Let’s Encrypt.

Теперь вы можете получить действующий самообновляющийся SSL-сертификат для своего домена. Для этого понадобится пользователь с правом пользоваться SSL и действующее доменное имя.

Шаг 2.

После установки в разделе Настройки web-сервера → SSL-сертификаты нажмите на кнопку Let"s Encrypt , чтобы получить сертификат. Подробнее о создании сертификата в .

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

О проекте Let’s Encrypt

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

Проект создан в 2014 году, чтобы большая часть интернет-сайтов смогла перейти к безопасному соединению по HTTPS. Среди его основных спонсоров ведущие технологические компании мира: Mozilla, Google Chrome, Cisco, Facebook. Партнерами Let’s Encrypt являются центр сертификации IdenTrust, University of Michigan, Stanford Law School, Linux Foundation.

Основные принципы Let’s Encrypt:

  • Безвозмездность. Владелец любого домена может получить доверенный SSL бесплатно;
  • Автоматизация. Let’s Encrypt автоматически запрашивает, конфигурирует и обновляет сертификаты;
  • Безопасность. Let’s Encrypt продвигает лучшие практики безопасности как на стороне центра сертификации, так и на стороне веб-сайтов.

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

  1. Можно заказать только 5 сертификатов в неделю на домен первого уровня и его поддомены.
  2. Срок действия Let’s Encrypt сертификата - 3 месяца. Каждые 3 месяца ISPmanager автоматически перевыпускает сертификаты.
  3. Let’s Encrypt не предоставляет гарантий и не выплачивает компенсацию в случае утечки данных, так как является некоммерческой организацией.

Полный список ограничений

Илья

Дмитрий, добрый вечер! Подскажите пожалуйста. Как раз несколько дней пытаюсь решить вопрос с Lets encrypt сертификатом. На хостинге hosting.energy при создании сайта dommeb.com.ua подключил бесплатный Lets encrypt из Isp панели. Все было хорошо несколько дней, проходил тесты SSL ssllabs.com/ssltest/analyze.html на А+. Пробовал загрузить с мобильного на Android 2.3.6 с стандартного браузера и Maxton — появлялось только предупреждения о ненадежности сертификата, а дальше можно нажать Продолжить и сайт был доступен.

Неделю назад заметил, что при загрузке с мобильного и тестов на редиректы (поставил в настройках домена на хостинге редиректы с http-https) происходит добавление в url:443 (название SSL порта). И сайт не доступен при загрузке (надпись ошибки).

Написал в хостинг, решили в течении нескольких дней вопрос. Написали «Исправили конфигурации Nginx относительно редиректов, в конфиги закралась ошибка (вероятно, из-за панели управления) и было 2 редиректа.»

:443 уже не дописывался с мобильного и при тесте на редиректы.
Но сайт по прежнему не грузился, как с появлением этих двойных редиректов:443 (ошибка на Android 2.3.6 сайт не доступен при загрузке).

Посмотрел ssl тест, тоже А+ результат, но появилась ошибка в подпункте Handshake Simulation No SNI 2Android 2.3.7 No SNI 2 Server sent fatal alert: handshake_failure

Погуглил по этой ошибке:
Здесь про эту ошибку и решение пишут talk.plesk.com/threads/https-websites-not-loading-in-ie.338346/ Передал всю информацию в тех поддержку хостинга.

Несколько дней переписывался с хостингом, говорят ничего в конфигурации настроек хостинга не меняли, используют стандартный плагин Lets Encrypt сертификата. И они не гарантируют работу SSL от LetsEncryt на устаревших платформах. Предложили выделенный IP за 1.5$ в месяц.
Хотя несколько дней назад все работало и правок не было на обеих сайтах (все данные в браузерах очищал). А сам сайт хостинга (тоже на этом сертификате, нормально и сейчас грузится с с мобильного и даже без предупреждения)

Сайты на виртуальном хостинге, без выделенного IP. Один сайт сделал на Opencart с Lets encrypt сертификатом, все было в порядке. Второй тестовый на WordPress — все было тоже хорошо с android 2.3.6. Собирался переходить на третьем сайте (WordPress) с http на https, и уже первые два нормально не грузятся на Android 2.3.6…
Хотелось бы чтобы все пользователи могли нормально заходить на сайт (в крайнем случае на старых платформах как Android 2.3.6 чтобы было только предупреждение, которое можно пропустить)
Подскажите пожалуйста, может вы знаете в чем может быть причина?

Решил посмотреть платные сертификаты, вроде хороший этот от Comodo namecheap.com/security/ssl-certificates/comodo/positivessl.aspx ,
но у вас в статье прочитал, что на платформе Android сертификат Comodo был недостоверным. Немного запутался с этим

Подключаемся к серверу по SSH . И переходим, например, в домашнюю директорию:

Cd /home/

В нее мы установим клиент Let’s Encrypt . Для этого нам понадобится git, если у вас на сервере уже установлен git, то просто выполните следующие команды:

Git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt

Если у вас не установлен git, то либо установите его следующей командой:

Apt-get install git

Либо просто распакуйте zip архив из репозитория GitHub:

Wget https://github.com/letsencrypt/letsencrypt/archive/master.zip unzip master.zip mv letsencrypt-master letsencrypt cd letsencrypt

Проверяем:

./letsencrypt-auto --help

В ответ вы увидите следующие:

Все, клиент Let’s Encrypt установлен.

Создаем SSL сертификат для HTTPS протокола на сайт

Перейдем к созданию сертификата Let’s Encrypt. Для этого сначала необходимо остановить nginx:

Service nginx stop

и запустить команду создания SSL сертификата:

./letsencrypt-auto certonly --standalone -d devreadwrite.com -d www.devreadwrite.com

В случае успешного создания сертификата для HTTPS протокола вы увидите примерно следующие

Не забудте поменять доменое имя devreadwrite.com на свое.

В процессе создания сертификата, вам предложат ввести e-mail, для важных сообщений и для восстановления ключа при необходимости. Далее нужно будет согласиться с лицензионным соглашением. Созданный SSL сертификат сертификат и вся цепочка сохранится по следующему пути:

Файлы SSL сертификата

В /etc/letsencrypt/live/devreadwrite.com/ будут следующие файлы:

privkey.pem - приватный ключ для сертификата. В Apache он используется в директиве SSLCertificateKeyFile . В Nginx используется в директиве ssl_certificate_key .

cert.pem - сертификат сервера. Его требует директива Apache SSLCertificateFile .

chain.pem - связка всех сертификатов, которые обслуживаются браузером, за исключением cert.pem . Используется Apache SSLCertificateChainFile .

fullchain.pem - вся связка сертификатов (объединение chain.pem и cert.pem ). Используется в Nginx для ssl_certificate .

Вот мы и получили сертификат. Не забудьте запустить Nginx :

Service nginx start

Теперь мы можем подключить протокол HTTPS к сайту.

Настройка HTTPS (SSL/TLS) в Nginx

Откройте файл конфигурации Nginx для сайта (обычно это: /etc/nginx/vhosts/userName/

Server { #... ssl on; ssl_certificate /etc/letsencrypt/live/devreadwrite.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/devreadwrite.com/privkey.pem; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; ssl_prefer_server_ciphers on; listen server_ip:443 ssl; listen server_ip:80; }

Nginx service reload

Nginx service restart

Nginx, 301 редирект с протокола http на https

server { #... # force https-redirects if ($scheme = http) { return 301 https://$server_name$request_uri; } }

Настройка HTTPS (SSL/TLS) в Apache

Откройте файл конфигурации Apache для сайта (обычно это: /etc/apache2/vhosts/userName/ ) и добавьте следующие строки:

SSLEngine on SSLCertificateFile /etc/letsencrypt/live/devreadwrite.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/devreadwrite.com/privkey.pem

В итоге получится что-то вроде:

ServerAdmin #... webmaster@localhost DocumentRoot #... /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/devreadwrite.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/devreadwrite.com/privkey.pem #...

Перезапускаем Apache :

Service apache2 restart

301 редирект с протокола http на https в Apache

Добавьте следующий код в файл .htaccess вашего сайта:

RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Дополнительно

Для того чтобы получить зеленый замочек в адресной строке, который будет указывать пользователю что сайт правильно работает по протоколу HTTPS , необходимо все пути к подключаемым файлам (картинкам, css, js, ...) поменять с http на https . Так же можно вместо http или https поставить два слеша (//). Например:

заменить на:

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

Как продлить сертификат

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

Для продления сертификата необходимо выполнить команду:

./letsencrypt-auto renew

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

Плюсы и минусы данного способа создания сертификата

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

Минус данного способа создания SSL сертификата заключается в том, что для создания сертификата необходимо остановит Nginx , следовательно сайты на Nginx во время создания сертификата не будут работать, это примерно 5-10 секунд (по крайней мере на моем сервере).

Результат

В результате мы получаем рабочий SSL сертификат и протокол HTTPS на сайте.

В статье рассмотрим плюсы и минусы бесплатного Let"s Encrypt, для кого подойдет, как получить и установить его на сайт с панелью Plesk 12.5

Let"s Encrypt - бесплатный, автоматизированный проект, с открытым CA (certificate authority - центр сертификации).

ОСНОВНЫЕ ПРЕИМУЩЕСТВА

бесплатно: любой владелец сайта (в частности, доменного имени) может получить и установить доверенный TLS-сертификат Let"s Encrypt (TLS - наследник SSL);
автоматизация: все функции установки, конфигурации и обновления проводятся в автоматическом режиме;
безопасность: все методы шифрования Let’s Encrypt отвечают текущим стандартам;
прозрачность: публичная доступность информации о выпуске и отзыве каждого сертификата для любого желающего;
свободно: будет использован принцип open standard для протоколов взаимодействия с CA (certificate authority).

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

Центр Сертификации выдаёт сертификаты, которые генерируются на АСМЕ сервере по протоколу Boulder, написанные на языке GO (доступный в исходниках под лицензией MPL2).
Данный сервер предоставляет RESTful-протокол, который функционирует через канал с TLS шифрованием.
Клиентская часть протокола АСМЕ, т.е. certbot, написанный на языке Python, также открыт под APACHE лицензией. Certbot устанавливается на клиентском сервере, чтобы создавать запрос сертификата, проверить валидность домена и после этого устанавливает сертификат с последующей настройкой шифрования HTTPS веб-сервера.
Также в функцию certbot входит обновление сертификата после истечения срока действия. Установка сертификата производится одной командой после того как принимается лицензия.
Certbot позволяет устанавливать сертификат с дополнительными опциями -OCSP stapling и HTTP Strict Transport Security

УСТАНАВЛИВАЕМ SSL СЕРТИФИКАТ LET"S ENCRYPT (ИНСТРУКЦИЯ)

Рассмотрим использование сертификата применительно к серверам, используемым на нашем хостинге.
Подавляющее большинство наших серверов используют версию Plesk 12.5 где данный модуль уже включён в дистрибутив Plesk 12.5 и установка его проста и удобна. Достаточно зайти в панель плеск в раздел «Сайты и домены », кликнуть на модуль Let"s Encrypt,

Выбрать нужные опции и после нажатия кнопки «Установить», установка произойдёт менее чем за минуту.

Так как данный сертификат рассчитан на срок не более 90 дней, то в панели плеск создана соответствующая задача cron в разделе Инструменты и настройки - Планировщик задач

Стоит заметить, что существуют некоторые ограничения на генерацию сертификата:

  • дублирующие сертификаты - не более 5 в неделю;
  • количество попыток генерации сертификата не более 5 раз в час.

О НЕДОСТАТКАХ LET"S ENCRYPT

В конце этой статьи хотим отметить, что несмотря на все преимущества данного типа сертификата, существуют недостатки, которые нужно учитывать при выборе SSL:
  1. Бесплатный сертификат Let"s Encrypt кратковременный и рассчитан на срок не более 90 дней, в отличии от платного, который можно выпустить сроком до 3 лет. Вы можете, конечно, перевыпускать сертификат каждые 3 месяца, но обязательно следите за сроками. Перевыпуск сертификата можно осуществить тремя способами: вручную, за счет настройки планировщика задач cron или автоматически.

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

    Планировщик задач cron - это способ настройки автоматического обновления. Способ хорош для тех, кто владеет навыками администрирования Linux и умеет работать с кронами. Нужно еще учитывать, что в работе крона не исключены ошибки, которые могут помешать перевыпуску сертификата. Вывод: следить за обновлением все равно придется.

    Автоматическое обновление. Этот способ подразумевает, что вы принимаете автоматические настройки, предусмотренные Центром сертификации. И тут нужно понимать, что вы таким образом, даете свое согласие на то, что ЦС может вносить изменения по своему усмотрению в ПО и настройки вашего сервера.

  2. Не все домены можно защитить бесплатным Let"s Encrypt. Данный сертификат рассчитан только на защиту одного домена без проверки компании, так называемые DV SSL (Domain Validation).

    Так, при помощи Let"s Encrypt нельзя создать следующие типы сертификатов:

    - WildCard сертификат для защиты поддоменов определённого домена;
    - Сертификаты OV SSL(organization validation) , предполагающие проверку не только домена, но и компании;
    - Сертификаты EV SSL (extended validation) . Сертификат с максимальной степенью защиты и зелёной адресной строкой браузера;
    - Multi-Domain сертификат типа UCC;


  3. Важный момент - нет никаких финансовых гарантий использования Let"sEncrypt . Если вдруг произойдет взлом бесплатного сертификата, то денежную компенсацию никто вам не предоставит.

ЗАКЛЮЧЕНИЕ

Подводя итоги, можно сказать, что Центр Сертификации Let"s Encrypt достаточно успешный проект, популярность которого растет с каждым годом среди пользователей сети.

И если вам нужен простой сертификат для одного домена, вы обладаете соответствующими навыками администрирования, а также если нет необходимости в SSL с проверкой компании (OV- organization validation) или наличие зеленой адресной строки и указания названия компании в сертификате, то данный сертификат можно использовать.

Тем не менее, мы рекомендуем крупным компаниям, интернет-магазинам, банкам и другим e-commerce проектам устанавливать коммерческие от известных Центров сертификации, таких как, например, GlobalSign, Comodo.
Так вы заручитесь доверием пользователей и покажете, что вы серьезная компания, которая заботится о безопасности данных клиентов.

  • Поделиться:

Из панели управления 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 доменов, но процесс автоматизации не позволяет использовать один сертификат для нескольких доменов. Оформите отдельный сертификат для отдельного домена или закажите один из платных сертификатов с поддержкой мультидоменов.