Как получить бесплатно ssl-сертификат для сайта?

Шаг 6. Настраиваем автоматическое обновление

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

Для запуска проверки ежедневных обновлений мы будем использовать Cron — стандартный системный сервис для запуска повторяющихся задач. Задачи Cron указываются в файле под названием :

Вставьте следующую строчку в конец файла, затем сохраните и закройте его:

Часть строчки означает «запускай следующую команду в 3:15 ночи ежедневно». Вы можете выбрать любое время.

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

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

Установка SSL сертификата на хостинг

Итак, создание SSL сертификата, я надеюсь, прошло у вас успешно. Теперь всё, что осталось сделать для успешной передачи данных по HTTPS, — это подключить SSL сертификат к сайту, для которого он оформлялся.

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

Итак, для подключения SSL сертификата к сайту в панели управления хостингом ISPManager открываем пункт меню «WWW домены», выбираем необходимый и нажимаем на кнопку «Изменить», которая становится доступной в самом верху страницы.

После этого на экране появляется следующее диалоговое окно:

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

Вот и всё. SSL сертификат на сайт установлен. Сами могли убедиться, насколько это просто и быстро благодаря TheHost и ISPManager, в частности.

Да, пусть он выглядит неказисто, но со своими задачами справляется на отлично

Теперь нам останется только произвести настройки движка сайта, чтобы он корректно работал по новому HTTPS протоколу. Среди них будут редиректы с HTTP на HTTPS, настройка зеркал, правки карты сайта и robots.txt, а также много другое.

Но мы поговорим об этом в следующих статьях, т.к. каждая платформа требует индивидуального подхода.

В завершение обзора настроек сайта в ISPManager, связанных с SSL, хочу обратить ваше внимание на поле «Только SSL» в диалоговом окне, изображённом на скриншоте выше. С помощью него возможно сделать редиректы с HTTP на HTTPS для URL сайта на уровне веб сервера Nginx

Установив галочку в данном поле, в файл конфигурации веб сервера Nginx на хостинге добавится следующий код:

if ($ssl_protocol = "") {
    rewrite ^ https://$server_name$request_uri? permanent;
}

Можете взять данный способ организации редиректов с HTTP на HTTPS себе на заметку, особенно, если вы не пользуетесь услугами shared хостингов и панелями управления хостингом, в частности, а редирект настроить нужно.

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

Важные технические детали при работе с бесплатным HTTPS

Посмотреть доступность бесплатного HTTPS можно в списке веб-сайтов в личном кабинете на странице «полный список функций».
Если HTTPS доступен (удалось получить для вас бесплатный SSL и наш веб-север поддерживает его работу), рядом с сайтом
будет отображен соответствующий знак +HTTPS!.

Мы выписываем бесплатный SSL для сайта автоматически при появлении возможности проверить домен (он должен работать),
примерно в течение суток.

  • Учитывая негарантированный характер услуги, мы рекомендуем не делать безусловной
    переадресации с HTTP на HTTPS для всего сайта. В случае проблем с бесплатным HTTPS сайт перестанет работать.
    Это очень маловероятно, но это к сожалению возможно.
    * когда мы убедимся в том, что бесплатный HTTPS от LetsEncrypt будет работать всегда, мы обновим совет.

  • Для того, чтобы ваши посетители и поисковые системы узнали про HTTPS, мы сделали
    специальную страницу в личном кабинете, которая позволяет настроить переадресацию на HTTPS. Эта переадресация будет
    работать только в том случае, если мы знаем, что HTTPS для вашего сайта работает. Также мы в этом случае мы сформируем
    подходящий HSTS заголовок.
    Если по каким-то причинам бесплатный HTTPS для вашего сайта работать перестанет, мы сами уберем переадресацию.
    * когда мы убедимся в том, что бесплатный HTTPS от LetsEncrypt будет работать всегда, мы обновим совет.

  • Если у вас есть опасения, что поддержка HTTPS «без гарантии» может помешать работе вашего ресурса,
    включать переадресацию на HTTPS для всех посетителей сайта не следует! Это не мешает опытным пользователям и администраторам
    сайта пользоваться HTTPS, если это необходимо.

  • Убедитесь в том, что ваш сайт хорошо работает по протоколу HTTPS. Для этого лучше использовать
    только относительные ссылки. Если необходимо формировать абсолютные ссылки (необходимо очень редко, но случаи такие есть),
    анализируйте текущий протокол (см. ниже).

  • Проверить текущий протокол в скриптах вашего сайта можно с помощью серверных переменных HTTPS (будет on)
    и HTTP_X_FORWARDED_PROTO (будет https). Это стандартные переменные, если вы используете какой-то готовый портал типа Joomla,
    Wordpress или 1С-Битрикс, определение протокола для внутренних нужд будет происходить корректно.
    Для серверов, отличных от Apache LAMP — сам HTTP заголовок с индикацией называется X-Forwarded-Proto.

  • Для получения бесплатного сертификата производится проверка принадлежности ресурса с помощью процедуры от
    LetsEncrypt. Процедура имеет определенные технические требования, которые к тому же иногда меняются, а также содержит в себе известные
    ошибки и/или особенности работы. Мы постоянно следим за ситуацией и адаптируем нашу систему под эти требования и нюансы, но есть случаи, которые
    часто ставят работу бесплатного сертификата под угрозу.
     Если ваш ресурс использует сложные сетевые технологии в работе, такие как проксирование (CloudFlare, защита от DDoS, объединение сайтов
    на виртуальных адресах, и т.д.), или безусловные редиректы без оценки ситуации, или какие-то жесткие блокировки «непонятных запросов»,
    которые мы не сможем обойти, проверка может не проходить и сертификат выписываться или обновляться не будет. В этом случае обратитесь в поддержку
    за советами.

Как установить SSL сертификат на сайт: этапы

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

Если говорить о том, как подключить SSL сертификат к сайту, то весь процесс состоит из нескольких этапов:

  1. Генерация SSL сертификата. Заключается в создании самоподписанного сертификата на сервере самостоятельно либо в формировании запроса на выпуск данного документа в центр сертификации (CA).
  2. Установка SSL сертификата на хостинг.
  3. Подключение SSL сертификата к сайту.

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

Итак, рассмотрим каждый этап подробнее, начиная с создания SSL сертификата.

Редирект с http на https

После установки вам захочется, чтобы все пользователи работали по защищенному соединению. Да и поисковые системы должны произвести склейку, иначе будет какая-то неразбериха: один и тот же сайт с http и https будет считаться как два разных. Нам нужно, чтобы это не произошло. Поэтому мы должны настроить редиректы.

Обычно это делается с помощью инструментов CMS или файла htaccess. В WordPress, например, можно настроить автоматические редиректы с незащищенного протокола на защищенный. Но здесь же отмечу, что далеко не все системы управления контентом могут поддерживать такую функцию. По этой причине редирект можно реализовать с помощью файла htaccess, который есть почти на любом сайте.

Просто добавляем в начало файла этот кусок кода и вуаля – ваш сайт имеет 301-й редирект с http на https.

Теперь мы можем проверить наличие переадресации, просто зайдя на сайт без прописывания протокола (или с http протоколом). Если мы все сделали правильно, то нас перекинет на https://сайт.ру.

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

Чтобы минимизировать ущерб и ускорить склейку двух версий сайта, вы должны выполнить ряд инструкций.

Например, добавить в файл robots.txt строчку Host с указанием главного зеркала вашего веб-ресурса. Там же нужно прописать и https-протокол, чтобы поисковые системы считали этот вариант приоритетным.

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

Как работает SSL-сертификат


Когда мы разобрались, зачем сайту нужен SSL-сертификат, узнаем, что он из себя представляет. «Физически» это набор файлов, который формируется следующим образом:

  • Создается запрос, содержащий информацию о домене и будущем владельце сертификата — Certificate Signing Request (CSR), в переводе означает «запрос на подпись сертификата», а также называется публичным ключом.
  • CSR отправляется Центру сертификации (Certificate Authority, CA).
  • CA выпускает сертификат на основе данных в запросе и предоставляет свои промежуточные и корневой сертификаты.
  • На сервере, где был создан CSR, формируется приватный ключ.
  • Ваш сертификат + сертификаты доверенного центра + приватный ключ + ваш сайт = безопасное соединение​.

Когда на сайте есть сертификат, вы можете увидеть, кому он выдан, кем выдан и до какой даты действует. Нужно кликнуть «по замочку» и нажать «Посмотреть сертификат».

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

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

При этом важно, чтобы все элементы на сайте передавались по защищенному протоколу, иначе возникнет ошибка «mixed content» (означает «смешанное содержимое»). Что это такое, хорошо описано в статье «Чем опасна ошибка смешанного контента на сайте»

Шаг 2. Получаем SSL-сертификат

Certbot предоставляет несколько способов получения SSL-сертификатов при помощи разных плагинов. В отличие от плагина для Apache, который описан в другом руководстве, большинство плагинов помогут вам только получить сертификат, который придётся настроить на вашем сервере вручную. Плагины, которые позволяют только получать сертификаты и не устанавливают их, называются «аутентификаторами», так как они используются для подтверждения подлинности сервера, которому сертификат выдаётся.

Давайте разберёмся, как использовать плагин Webroot для получения SSL-сертификата.

Использование плагина Webroot

Алгоритм работы Webroot включает в себя создание специального файла в директории . Она размещается в корневом каталоге веб-сервера (document root) и может быть открыта сервисом Let’s Encrypt для проверки. В зависимости от ваших настроек, вам может понадобиться явно разрешить доступ к папке .

Если вы ещё не установили Nginx, сделайте это, следуя руководству по установке Nginx на Ubuntu 16.04.

Чтобы убедиться в том, что папка доступна сервису Let’s Encrypt, внесем небольшие изменения в конфигурацию Nginx. По умолчанию файл конфигурации находится в папке . Мы будем использовать редактор Nano для внесения изменений:

Внутри блока добавьте такой блок :

Вам также стоит посмотреть, где расположен корневой каталог веб-сервера (document root), так как этот путь необходим при работе с Webroot. Если вы используете стандартный файл конфигурации, она будет расположена в .

Сохраните и закройте файл.

Проверьте вашу конфигурацию на синтаксические ошибки:

Если ошибок нет, перезапустите Nginx, используя эту команду:

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

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

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

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

После получения сертификата у вас должны появиться следующие файлы в PEM-кодировке:

  • cert.pem — сертификат вашего доменного имени;
  • chain.pem —  Let’s Encrypt;
  • fullchain.pem — объединённые и ;
  • privkey.pem — приватный (секретный) ключ вашего сертификата.

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

Однако Certbot создает симлинки на наиболее актуальные файлы сертификата в папке . Так как символьные ссылки указывают на наиболее актуальные файлы сертификата, именно этот путь лучше использовать при обращении к ним.

Вы можете проверить существование файлов, используя такую команду (подставьте ваше доменное имя):

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

Генерация ключа по алгоритму Диффи-Хеллмана

Для повышения безопасности вам необходимо сгенерировать ключ по алгоритму Диффи-Хеллмана. Для генерации ключа длиной 2048 бит используйте такую команду:

Процесс может занять несколько минут.

Какие типы сертификатов бывают

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

По типу верификации сертификаты делятся на три типа:

  1. EV SSL — это сертификаты не только повышенной надежности, но и стоимости и выдается только организациям. Перед выпуском сертификата проверяется право владения доменом, а организация, которая запросила сертификат, подвергается тщательной проверке.
  2. OV SSL — аналогичен сертификату EV, но с той лишь разницей что доступен как юридическим лицам, так и физическим лицам. Организация или физическое лицо, которые запросили сертификат, подвергается не такой серьезной проверке.
  3. DV SSL — этот тип сертификата подразумевает только проверку владения доменом и выпускается автоматически. Это самый дешевый сертификат.

Сертификаты делятся по поддержке доменов на три типа:

  1. 1d — данный тип сертификат выдается только для одного домена и если Вы хотите сертификаты для домена с www и без него, то придется купить два сертификата.
  2. 1d+www — этот тип сертификата позволяет использовать домен как с www, так и без него. Если хотите использовать адрес www.site.ru, то Вам необходимо приобрести сертификат именно этого типа. Заказывать необходимо на домен с www.
  3. w.card — самый дорогой тип сертификата поскольку выдается на домен и все поддомены включая www. Такой тип сертификатов нужен разве что крупным проектам.

Конечно же бесплатные сертификаты не имеют подобной типизации поскольку Вам дают возможность выпустить кучу сертификатов на каждый домен, то есть один сертификат на site.ru, второй на www.site.ru, третий на blog.site.ru и т.д.

Но если углубиться в тему сильнее, то типов сертификатов несколько больше:

  1. Esential SSL — самый простой и дешевый тип сертификатов, которые выдается на 1 домен. Выдается как правило очень быстро и проверяется только владение доменом. Бесплатные сертификаты все без исключения именно этого типа.
  2. Instant SSL — данный тип сертификатов выдается на 1 домен и доступен как физическим так и юридическим лицам. Проверяется владение доменом и регистрационные данные компании или личности физического лица.
  3. SGC — тип сертификатов аналогичный Instant SSL, но с поддержкой повышения уровня шифрования. Актуально для тех, кому необходима поддержка старых браузеров с 40 и 56 битовым шифрованием. На вскидку, на ум приходят только банки или большие корпорации с кучей старого железа.
  4. Wildcard — как и писалось выше, данный тип сертификатов выдается для домена и все его поддомены. Если вдруг решите купить такой сертификат, то есть смысл посчитать количество поддоменов и прикинуть что дешевле, один сертификат на каждый поддомен или w.card-сертификат.
  5. SAN — полезен тем, кто хочет использовать один сертификат на нескольких разных доменов, которые размещены на одном сервере. Насколько мне известно данный сертификат обычно выдается на 5 доменов и увеличение происходит на 5. То есть если Вам нужен сертификат на 7 разных доменов, то скорее всего придется прикупить сертификат на 10 доменов.
  6. EV (Extended Validation) — этот тип сертификатов выдается только юридическим лицам, коммерческим, некоммерческим или государственным организациям и подразумевает глубокую проверку организации. На выпуск сертификата уходит от 10 до 14 дней.
  7. EV Wildcard — аналогично Wildcard но с расширенной проверкой и доступен только юридическим лицам, коммерческим, некоммерческим или государственным организациям.
  8. EV SGC — аналогично SGC но с расширенной проверкой и доступен только юридическим лицам, коммерческим, некоммерческим или государственным организациям.

Сертификаты c поддержкой IDN

Не все центры сертификации указывают наличия поддержки IDN-доменов, но и далеко не все имеют эту поддержку и вот список некоторых из центров, которые поддерживают такие домены:

  • Thawte SSL123 Certificate
  • Thawte SSL Web Server
  • Symantec Secure Site
  • Thawte SGC SuperCerts
  • Thawte SSL Web Server Wildcard
  • Thawte SSL Web Server with EV
  • Symantec Secure Site Pro
  • Symantec Secure Site with EV
  • Symantec Secure Site Pro with EV

Виды SSL-сертификатов

Какие бывает SSL-сертификаты, в двух словах не рассказать, так как есть несколько критериев, по которым их можно классифицировать. Начнем с самоподписанных и доверенных. 

Самоподписанный сертификат можно выпустить самостоятельно при наличии нужных инструментов. К примеру, это доступно в некоторых панелях управления веб-сервером (ISPmanager, Cpanel и т.д.). Из хорошего здесь то, что такой сертификат бесплатный, из плохого — его можно использовать только для служебных целей, а вот доверие посетителей сайта он не вызывает, потому что в адресной строке сообщается «Не защищено». Иначе говоря, сайт выглядит точно так же, как и если бы у него не было сертификата.

Доверенный сертификат выпускается Удостоверяющим центром — организацией, обладающей правом на выдачу сертификатов

Из всего того, что дает такой SSL-сертификат, стоит выделить самое важное: для посетителей сайта — это гарантия безопасности, а для его владельца — доверие пользователей. Википедия определяет Центр сертификации как «сторону, чья честность неоспорима»

Вот несколько тому объяснений:

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

Эти преимущества в большей степени относятся к коммерческим Центрам сертификации (к примеру, Sectigo). Существуют также бесплатные, самым популярным является Let’s Encrypt. 

Чем отличаются бесплатные SSL-сертификаты от коммерческих: обычно методы шифрования и тех, и других центров соответствуют актуальным стандартам, но бесплатные не предоставляют финансовую гарантию, такие сертификаты могут не поддерживаться некоторыми браузерами и операционными системами и имеют небольшой срок действия (как правило, 90 дней).

Также сертификаты можно разделить, основываясь на способе проверки:

  • DV, Domain Validation — сертификат, подтверждающий доменное имя. Его можно получить за 15 минут, так как Центр сертификации проверяет только право владения доменом.
  • OV, Organization Validation — сертификат, подтверждающий домен и существование организации. При его выпуске, помимо права на домен, CA проверяет и регистрацию компании. Для получения такого SSL-сертификата понадобится несколько дней.
  • EV, Extended Validation — сертификат, подтверждающий принадлежность сайта компании. Перед тем, как его выпустить, Центр сертификации проводит тщательную проверку — от права на домен до лицензии на вид деятельности, в среднем это занимает от нескольких дней до двух недель. Заказ открыт только юридическим лицам.

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


Буквально недавно произошло изменение, и название компании было перенесено «под замочек». Нужно нажать на него, чтобы посмотреть информацию. Обновление вступило в силу в новых версиях некоторых браузеров: Chrome 77, Firefox 70, Safari на iOS 12 и macOS 10.14.


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

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

Он дороже сертификатов, предназначенных для одного домена, так что имеет смысл в его покупке, когда субдоменов много. Если же 1-2, то выгоднее заказать сертификаты отдельно для каждого.

В ситуации, когда у вас много онлайн-проектов на отдельных доменах, поможет SAN SSL, который защищает сразу несколько доменов (также его называют мультидоменным сертификатом). Его цена зависит от количества доменов, для которых он предназначен.

Что такое SSL-сертификат

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

SSL или Secure Sockets Layer позволяет использовать шифрование при обмене данными между компьютером пользователя и сервером. Говоря простым языком: доступ к информации есть только у участников обмена — компьютера и сайта. Третьи лица не смогут получить данные как бы они не пытались.

Защищенное соединение рекомендовано к использованию поисковыми системами и антивирусными приложениями. Например, Аваст и Касперский могут уведомлять пользователей о том, что сайт, на который они переходят, не использует защищенное соединение. Точно о том же уведомляют некоторые браузеры, такие как Яндекс.Браузер и Google Chrome.

Сейчас поисковые системы лояльнее относятся к сайтам, на которых используется SSL. Это спорное утверждение, которое опровергается самими поисковиками. Но некоторые вебмастера замечают, что трафик при переходе на https многократно возрастает. От себя дополню, что на посещаемость могут влиять поведенческие факторы. Пользователи больше доверяют сайтам с защищенным шифрованием.

Примечание:
Касаемо влияния на SEO: опровергают эту информацию только Яндекс. Гугл прямо заявил, что наличие защищенного соединения положительно влияет на ранжирование.

Почему https лучше, чем http

Из предыдущего смыслового блока вы могли понять почему. Однако, я думаю, что надо подвести кое-какие итоги. Причины, почему https лучше, чем http:

  • https лучше ранжируется в Гугле
  • Данные ваших пользователей в безопасности
  • Вам больше доверяют, причем не только сами пользователи, но и антивирусное ПО, браузеры
  • Улучшенные поведенческие факторы и кликабельность в поисковой выдаче
  • Возможность установить SSL-сертификат совершенно бесплатно

Как видите, причин не так много. Но они очень весомые. Вы же хотите, чтобы в том же Гугле ваш сайт получал более высокие позиции? Трафик на дороге не валяется, поэтому лучше, все-таки, установить сертификат. Лишним уж точно не будет. Тем более это можно сделать бесплатно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector