Let s encrypt authority x3 сколько стоит. Бесплатные SSL сертификаты от Let's Encrypt

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

Для шифрования данных в этом протоколе используются сертификаты SSL. Сейчас HTTPS набирает большую популярность, такие компании, как Google пытаются заставить все больше сайтов интернета использовать SSL для защиты своих данных и организации более безопасного соединения. С другой стороны появился сервис Lets Encrypt, который позволяет получить SSL сертификат каждому полностью бесплатно. В этой статье мы рассмотрим как выполняется установка ssl сертификата Apache от Lets Encrypt.

Установка SSL сертификата Lets Encrypt в Apache

Я буду предполагать, что Apache у вас уже установлен и настроен для работы по протоколу http. Если это не так посмотрите статью . Перед тем как переходить к самой настройке веб сервера нам нужно получить ssl сертификат, а для этого нужно установить клиент сервиса в систему.

Шаг 1. Установка клиента Lets Encrypt

Мы будем выполнять установку клиента Lets Encrypt из официальных репозиториев. Официальный клиент от Lets Encrypt называется certbot, в репозиториях Ubuntu 16.04 есть упрощенная версия - Letsencrypt. Нам полностью хватит ее функциональности. Для установки выполните команды:

sudo apt update
$ sudo apt install python-letsencrypt-apache

После этого клиент будет готов к использованию.

Шаг 2. Настройка Apache

Если Apache настроен на работу по http, то перед тем как идти дальше, должна быть выполнена настройка ssl apache. Нам нужно активировать модуль ssl и включить использование ssl по умолчанию.

Для активации модуля наберите:

sudo a2enmod ssl

Для использования SSL по умолчанию включаем конфигурационный файл:

sudo a2ensite default-ssl.conf

Осталось перезапустить веб-сервер для применения изменений:

sudo systemctl restart apache2

Шаг 3. Получение SSL сертификата

Установка ssl сертификата с помощью клиента Lets Encrypt выполняется очень просто. Клиент автоматически запросит и установит новый сертификат для принадлежащего вам домена.

Чтобы получить сертификат для одного домена, достаточно передать этот домен в параметрах команды:

sudo letsencrypt --apache -d example.com

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

sudo letsencrypt --apache -d example.com -d www.example.com

Затем примите лицензионное соглашение Lets Encrypt:

Утилита сама выполнит настройку веб-сервера Apache, вам только нужно будет выбрать надо ли разрешать http трафик или сразу перенаправлять все на https. Безопаснее и более правильно перенаправлять весь входящий трафик на https.

Когда установка SSL сертификата Apache ubuntu будет завершена, вы найдете созданные файлы сертификатов в папке /etc/letsencrypt/live. В этой папке будут четыре файла:

  • cert.pem - ваш сертификат домена;
  • chain.pem - сертификат цепочки Let"s Encrypt;
  • fullchain.pem - cert.pem и chain.pem вместе;
  • privkey.pem - секретный ключ вашего сертификата.

Теперь вы можете зайти на сайт по https. Чтобы проверить как работает SSL и правильно ли выполнена установка ssl сертификата на сайт, вы можете открыть в браузере такую ссылку:

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

Шаг 4. Автопродление сертификата

Настройка ssl Apache завершена. Но есть один минус, все сертификаты, полученные от Lets Encrypt действительны только на протяжении 90 дней и рекомендуется продлевать и срок действия каждые 60 дней. Клиент letsecnrypt имеет команду renew, которая позволяет проверить установленные сертификаты и обновить их если до истечения срока осталось меньше 30 дней.

Чтобы запустить процесс обновления для всех настроенных доменов выполните:

sudo letsencrypt renew

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

Самый простой способ автоматизировать этот процесс - добавить вызов утилиты в планировщик corn. Для этого выполните команду:

Затем, в открывшемся текстовом редакторе добавьте строку и сохраните изменения:

30 2 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log

Таким образом, мы создали задачу, которая будет выполнять команду обновления каждый понедельник, в 2:30 утра. Информация про результат выполнения будет сохранятся в файл /var/log/le-renewal.log.

Выводы

В этой статье мы рассмотрели как выполняется установка ssl сертификата apache lets encrypt. Это поможет защитить ваш сайт от MITM атак, подслушивания и модификации трафика, а также благодаря тенденциям поощрения перехода на https может положительно сказаться на росте трафика.

Об авторе

Основатель и администратор сайта сайт, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

Илья

Дмитрий, добрый вечер! Подскажите пожалуйста. Как раз несколько дней пытаюсь решить вопрос с 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 был недостоверным. Немного запутался с этим

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

Для работы SSL необходима установка на сайт SSL-сертификата. Помимо защиты SSL-сертификат повышает рейтинг сайта в Google .

Благодаря Let’s Encrypt можно получить для сайта бесплатный сертификат SSL.

Для многих хостингов установить сертификат SSL от Let’s Encrypt можно в панели управления сайтом. Например, для хостинга моего сайта установить бесплатный сертификат SSL можно в один клик:

При установке SSL сертификата инструментами хостинга сложностей обычно не возникает. Более того, сертификат при этом автоматически обновляется по истечении срока действия (90 дней).

Проблема: дубли сайта для https не «склеиваются»

Однако у меня возникла проблема: при автоматической установке сертификата SSL на поддомен после установки сертификата не удавалось «склеить» зеркала сайта для https (с www и без www.)

Дело в том, что при установке сертификата SSL для сайта добавляется еще 2 дубля (по протоколу https). Таким образом из 4 «зеркал» сайта: http://www.имясайта , http://имясайта , https://www.имясайта и https://имясайта надо выбрать один основной (с https, естественно). А остальные дубли редиректом переадресовать на выбранный адрес.

Чтобы все пользователи просматривали сайт только через безопасное соединение https в файл.htaccess я добавлял такой код:

RewriteEngine On RewriteBase / RewriteCond %{HTTP:SSL} !=1 RewriteRule ^(.*) https://имясайта/$1

где «https://имясайта» — имя поддомена (например: https://blog.electrostal.com.ua).

Несмотря на настройки WordPress и редиректы в.htaccess — переадресация с www на без www для https никак не работала.

Решение: сертификат SSL должен быть на оба сайта

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

Получается так, что «склейка» сайтов для протокола https работает если сертификат SSL для поддомена выпущен на оба сайта (c www и без www).

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

Вывод для моего случая: для «склейки» сайтов на поддомене с сертификатом SSL нужно иметь сертификат SSL для полного имени сайта (с www и без www)

Как получить бесплатный сертификат SSL от Let’s Encrypt самостоятельно

Итак, в моем случае для решения проблемы «склейки» сайта для SSL нужно получить сертификат Let’s Encrypt на полный сайт (с www и без www). Хостинг автоматически генерировал сертификат только для «пол-сайта» — без www.

На запрос к техперсоналу хостинга о возможности автоматически создавать сертификат для сайтов на поддомене с www и без www получил отрицательный ответ: «Так сделать не получиться.»

Тогда отправил еще запрос:

Подсажите, как я могу самостоятельно заказать сертификат Let’s Encrypt. для «полного» сайта на поддомене

Через некоторое время получил ответ:

Увы, нет. Это возможно только с испльзованием соответствующего ПО Let`s Encrypt. Самостоятельно сформировать сертификат можно разместив сайт, например, на VPS-сервере. Разумеется, это потребует установки клиента Let`s Encrypt или панели управления сервером поддерживающй эту технологию (например, ISPManager 5 или VestaCP), но в этом случае обещать что получится выписать сертификат для обоих поддоменов (subdomain.site.com и добавленного в псевдонимы www.subdomain.site.com) я не могу, так как там эта процедура также автоматизирована.

Наличие SSL сертификата для сайта позволяет защитить данные пользователей, передаваемые по сети от атак человек-посередине (man-in-the-middle) и гарантировать целостность переданных данных В этом обзоре мы расскажем об особенности установки и привязки бесплатного SSL сертификата от Let’s Encrypt для сайта IIS, запущенного на Windows Server 2012 R2.

Пара слов о Let’ s Encrypt – это некоммерческий центр сертификации, позволяющий в автоматическом режиме через API выпускать бесплатные SSL/TLS сертификаты. Выдаются только сертификаты для валидации доменов (domain validation), со сроком действия 90 дней, что не является проблемой из-за наличия встроенной возможности автоматического перевыпуска сертификата, в результате чего можно непрерывность защиты.

API интерфейс, позволяющий автоматически выпускать сертификаты называется Automated Certificate Management Environment (ACME ) API. Для Windows систем на данный момент имеется 3 реализации клиента ACME API:

  • Утилита LetsEncrypt-Win-Simple – утилита командной строки для интерактивного выпуска сертификата и привязки его к определенному сайту на вашем веб сервере IIS
  • Модуль Powershell ACMESharp – библиотека Powershell с множеством команд для взаимодействия через ACME API с серверами Let’s Encrypt
  • Certify – графическая утилита для интерактивного управления сертификатами через ACME API (на данный момент функционал еще не полный, но проект развивается)

Самый простой способ получить SSL сертификат от Let’s Encrypt — воспользоваться консольной утилитой LetsEncrypt- Win- Simple . Она представляет собой простой мастер, который позволяет выбрать один из сайтов, запущенных на IIS, и автоматически выпустить и привязать к нему SSL сертификат.

Итак, предположим у нас имеется веб сайт на IIS, развёрнутый под управлением Windows Server 2012 R2. Наша задача, переключить его в HTTPS режим, установив SSL сертификат от Let’s Encrypt.

Скачайте последний релиз клиента со страницы проекта на GitHub https://github.com/Lone-Coder/letsencrypt-win-simple/releases (в моем случае это была версия v1.9.11.2).

Распакуйте его в каталог на сервере с IIS: c:\inetpub\letsencrypt

Откройте командную строку с правами администратора, перейдите в каталог c:\inetpub\ letsencrypt и запустите letsencrypt.exe.

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

Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificat e) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site .

Следующий этап – выполнение валидации домена. Доступно несколько вариантов валидации: TLS, через запись в DNS или через HTTP). Самый простой вариант — выбрать пункт 4 Create temporary application in IIS (recommended). В этом случае на веб-сервере будет создано небольшое приложение, через которое сервера Let’s Encrypt смогут провести валидацию.

Примечание . При выполнении TLS/HTTP проверки ваш сайт должен быть доступен снаружи по полному DNS имени по протоколам HTTP (80/TCP) и HTTPS (443/TCP).

После валидации утилита letsencrypt-win-simple автоматически отправит запрос на генерацию сертификата, скачает его (все необходимые файлы, а также закрытый ключ сохраняются в каталог C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple) и создаст привязку на сайте IIS.

В том случае, если на сайте уже установлен SSL сертификат, он будет заменен новым.

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

Вручную запустить процедуру перевыпуска сертификата можно такой командой:

LetsEncrypt --renew

Чтобы перенаправить весь входящий HTTP трафик на HTTPS сайт, нужно установить модуль Microsoft URL Rewrite Module , и убедиться, что в настройках сайте не включена опция обязательного использования SSL (Require SSL). Осталось настроить редирект в файле web.config:













Отметим, что сертификаты Let’s Encrypt в настоящий момент широко используются на сайтах многих крупных компаний и им доверяют все браузеры. Надеюсь, что судьба бесплатного центра сертификации Let’s Encrypt не постигнет участь WoSign и StartCom.



Просмотров