Как оформить сертификаты на сайте

Обновлено: 28.04.2024

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

Что такое SSL?

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

Вы видели значок замка рядом с URL-адресом в адресной строке, когда вы переходите на определенные сайты, верно? Это означает, что сайт защищен SSL.

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

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

Сколько стоит SSL?

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

  • Сертификаты с подтверждением домена (DV) – для сайтов, таких как блоги или веб-сайты малого бизнеса, которые не обмениваются никакой информацией о клиентах.
  • Сертификаты, подтвержденные организацией (OV) – для сайтов, таких как бизнес-сайты с формами и возможностями сбора потенциальных клиентов, которые не обмениваются конфиденциальной информацией о клиентах.
  • Сертификаты с расширенной проверкой (EV) – высочайший уровень безопасности, позволяющий обрабатывать конфиденциальную информацию, такую ​​как финансовые транзакции.

Как получить сертификат SSL

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

  1. Убедитесь, что ваша запись WHOIS обновлена ​​и соответствует тому, что вы отправляете эмитенту сертификата.
  2. Создание запроса на подпись сертификата (CSR) на вашем сервере. (Ваша хостинговая компания может помочь в этом.)
  3. Отправка этого сертификату эмитенту для проверки вашего домена.
  4. Установка сертификата, который они вам предоставят, после завершения процесса.

Лучшие эмитенты бесплатных и недорогих сертификатов SSL

Если вам требуется более низкий уровень шифрования, следующие эмитенты выполнят свою работу:

1 HubSpot

Если у вас есть контент, размещенный на CMS HubSpot, вы можете защитить свой контент и данные лидов с помощью стандартного SSL. Это дает вашим посетителям спокойствие, а также увеличивает видимость в результатах поиска.

Как получить сертификат SSL [+10 лучших бесплатных SSL]

2 Давайте зашифровать

Let’s Encrypt был создан Linux Foundation, а спонсорами проекта выступили Mozilla, Site Ground, Cisco, Facebook, Akamai и другие ведущие технологические компании. Он предлагает сертификаты SSL бесплатно, но вы должны знать, что эти сертификаты действительны только в течение трех месяцев.

Как получить сертификат SSL [+10 лучших бесплатных SSL]

3 Удобно

Comodo предлагает 90-дневные бесплатные пробные версии для сертификатов SSL, и они признаются всеми основными браузерами. Вы можете покрыть до 100 доменов одним сертификатом.

Он специально разработан для серверов MS Exchange и Office. Comodo предлагает неограниченное количество серверных лицензий с приоритетной поддержкой по телефону. И, что самое главное, Comodo сертифицирован как лучший продавец SSL-сертификатов.

Как получить сертификат SSL [+10 лучших бесплатных SSL]

4 Cloudflare

Cloudflare известен своими продуктами, которые делают веб-сайты более быстрыми и безопасными. Это CDN и компания по обеспечению безопасности, которую используют многие популярные сайты, включая Reddit, Mozilla и Stack Overflow. Cloud Flare блокирует миллионы атак каждый день и обеспечивает круглосуточную поддержку.

Как получить сертификат SSL [+10 лучших бесплатных SSL]

5 SSL бесплатно

SSL For Free – это некоммерческий центр сертификации, работающий во всех основных браузерах. Сертификаты генерируются с помощью сервера ACME с использованием проверки домена. После создания документа закрытые ключи удаляются.

Как получить сертификат SSL [+10 лучших бесплатных SSL]

6 GoDaddy

Вы слышали о GoDaddy – с более чем 60 миллионами доменов, это регистратор имен №1 в мире. Если у вас есть проект с открытым исходным кодом, GoDaddy предоставит вам бесплатный сертификат SSL, действительный в течение года.

Как получить сертификат SSL [+10 лучших бесплатных SSL]

7 GeoTrust

GeoTrust предлагает сертификаты SSL совершенно бесплатно в течение 30 дней. Его особенности включают:

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

Как получить сертификат SSL [+10 лучших бесплатных SSL]

8 GoGetSSL

GoGetSSL – еще один публичный поставщик сертификатов SSL. Он дает вам 90-дневную бесплатную пробную версию для сертификатов SSL, и для проверки вашего домена требуется всего около пяти минут (не требуется обратный вызов или проверка лицом к лицу). Их сертификаты совместимы со всеми основными браузерами, такими как Chrome, Firefox, Opera, Safari и Internet Explorer.

Как получить сертификат SSL [+10 лучших бесплатных SSL]

9 Мгновенный SSL

Мгновенный SSL – еще один вариант, заслуживающий вашего внимания. Их бесплатные сертификаты действительны в течение 90 дней, и они также работают во всех основных браузерах.

Как получить сертификат SSL [+10 лучших бесплатных SSL]

10 Базовый SSL

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

Самостоятельное получение бесплатного SSL-сертификата для сайта

Ввод домена на сайте sslforfree для получения бесплатного SSL-сертификата

Подтверждение SSL сертификата в ZeroSSL

Выбираем 90 дней.

Важно! Бесплатно можно получить только на 90 дней!

Выбор тарифа для получения бесплатного SSL-сертифката

Выбор почты для подтверждения SSL-сертификата

Теперь нам предлагается 3 способа подтверждения:

О каждом из этих способов указано ниже.

Подтверждение по почте

В этом случае система предложит написать на одну из почт:

  • admin@
  • administrator@
  • hostmaster@
  • postmaster@
  • webmaster@

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

В этом случае лучше всего:

    ; (есть бесплатный тариф); (есть бесплатный тариф);
  • GSuite (От 5,4$ за пользователя).

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

Создание почты для подтверждения бесплатного SSL-сертификата

Отправляем письмо для проверки.

Верификация бесплатного сертификата ССЛ-сертификата

Обновление проверки одобрения бесплатного SSL сертификата

Далее приходит письмо на почту, где нужно скопировать проверочный код и перейти на страницу верификации.

Получение варификационного кода для подтверждения бесплатного SSL-сертификата

Окончание подтверждения бесплатного SSL-сертификата

В ZeroSSL обновляем статус заявки.

Обновление подтверждения SSL-сертификата в ZeroSSL

Подтвержденная варификации для получения бесплатного SSL-сертификата

Скачиваем бесплатный SSL-сертификат через кнопку «Download Certificate (.zip).

Загрузка полученного бесплатного SSL сертификата

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

  • Apache;
  • AWS;
  • cPanel
  • NGINX;
  • Ubuntu;
  • И многих других.

Выбор типа и вида SSL-сертификата стандарт, Apache, AWS NGINX

Далее переходим к установке его на сервер.

Получение и переход к установке SSL сертификата

Важно! Одни аккаунт может иметь до трех доменов с сертификатами бесплатно.

Подтверждение бесплатного SSL-сертификата через DNS

Подтверждение SSL-сертификата через DNS

На следующем шаге видим, что система мониторит записи для подтверждения.

Переходим к хостинг-провайдеру (или другой интерфейс, куда через NS был делегирован домен) и переходим к редактированию DNS.

Переход в настройки DNS записей домена

Добавляем новую TXT-запись.

Добавление текстовой TXT-записи для домена

Вводим выданные нам значения.

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

Ввод текстовой DNS-записи для домена и подтверждения SSL-сертификата

Все готово, можно переходить к его установке.

Ввод текстовой DNS-записи для домена и подтверждения SSL-сертификата

Система начинаем проверку.

Проверка подтверждения SSL-сертификата через HTML-файл

Создание новой папки для подтверждения SSL-сертификата

Создание папки в корневой папки сайта

Загружаем файл, скачанный в самом начале инструкции.

Загрузка нового файла на сервер сайта

Все готово подтверждаем информацию (аналогично почте) и получаем сертификат.

Установка бесплатного сертификата на хостинг

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

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

  • certificate.crt (сертификат);
  • private.key (приватный ключ);
  • ca_bundle.crt (промежуточный сертификат).

3 файла бесплатного SSL-сертификата

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

Вводим в соответствующие поля свой файл и завершаем установку.

Ввод данных для установки SSL-сертификата

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

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

Важно! Если сертификат выдается на поддомен, то потребуется подтвердить лишь основной домен (соответственно загрузить лишь 1 файл или установить 1 TXT-запись).

Через ISPmanager

Раздел SSL-сертификат в ISPmanager

Установка существующего SSL-сертификата

Ставим данные из файлов в нужные поля и даем имя сертификату.

Ввод данных от бесплатного SSД-сертификата в ISPmanager

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

Получение бесплатного SSL-сертификата через хостинг-провайдера

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

Заказ бесплатного SSL-сертификата в панели хостинга

Заказ бесплатного SSL-сертификата у хостинг-провайдера

Важно! Для того, чтобы воспользоваться данным методом необходимо делегировать сайт под управление компании хостинга при помощи А-записи.

ustanovka-ssl-sertifikata

Приветствую вас, друзья! 🙂

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

Информация по установке SSL сертификата будет представлена в виде пошаговой инструкции, при составлении которой я воспользовался первым способом и своим хостингом TheHost, к панели управления которого (используется ISPManager) у меня есть доступ.

TheHost позволяет как устанавливать SSL сертификаты, приобретённые у него, так и выполнять подключение SSL сертификата, приобретённого у других поставщиков.

Также в панели управления хостингом есть возможность сделать бесплатный SSL сертификат от Let’s Encrypt и самоподписанный с последующей их установкой.

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

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

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

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

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

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

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

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

Для этого регистрируемся на сайте thehost.ua, после чего вам на электронную почту придёт письмо с учётными данными пользователя, а также ссылкой на кабинет пользователя и панель управления хостингом.

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

Как заказать SSL сертификата на хостинге?

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

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

Всё, что от вас потребуется — просто ввести нужную информацию о сайте и свои персональные данные. Создание и установка SSL сертификата на сайт произойдёт автоматически.

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

Официальные регистраторы, насколько я знаю, таким покупателей не балуют.

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

После проделанных действий на экране появится диалоговое окно, которое выглядит так:

generaciya-ssl-sertifikata-na-hostinge

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

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

В зависимости от того, какой тариф вы выберете, у вас могут присутствовать или отсутствовать некоторые из приведённых далее шагов. Имейте ввиду!

После выбора необходимого тарифа нажимаем Далее и переходим к следующему шагу создания SSL сертификата:

kak-sdelat-ssl-sertifikat-dlya-sajta

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

Запрос должен быть в виде файла с вашими зашифрованными персональными данными с расширением csr.

Если вы его уже сгенерировали (а о том, как это сделать прямо в ISPManager админки TheHost, я расскажу вам дальше), то на данном шаге просто введите его содержимое.

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

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

kak-sozdat-ssl-sertifikat

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

sozdanie-sertifikata-ssl

Рекомендуется его сохранить в файлике на компьютере для большей безопасности, чтобы никто не мог получить к нему доступ при взломе TheHost, например 🙂

Либо же можно сохранить его в системе, чтобы не вводить на дальнейших шагах, чем я и воспользовался.

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

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

kak-ustanovit-ssl-sertifikat-na-sajt

Далее нам предстоит ввод данных организации, которые также могут проверяться с помощью письма или звонка, например, так что указывайте корректно почтовые данные:

sgenerirovat-ssl-sertifikat

Следующим этапом является ввод email, на который будет высылаться ссылка для подтверждения генерации SSL сертификата:

ustanovka-ssl-sertifikata-na-hosting

Если у вас нет готового email, присутствующего среди вариантов выпадающего списка, то заведите его.

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

Что вполне справедливо, т.к. TheHost сам сертификат не выпускает, а заказывает его у официальных сертификационных центров.

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

kak-podklyuchit-ssl-sertifikat-k-sajtu

Нажимаем на Готово и всё, что теперь остаётся — это дождаться запроса подтверждения выпуска SSL сертификата из центра сертификации и самого сертификата.

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

Создание самоподписанного SSL сертификата

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

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

Для этого заходим в ISPManager по ссылке из письма, пришедшего при регистрации на thehost.ua, либо в панель управления сервером можно попасть прямо из кабинета пользователя следующим способом:

kak-poluchit-besplatnyj-ssl-sertifikat-letsencrypt

sozdat-ssl-sertifikat-samomu-besplatno

Сертификат появится в списке существующих SSL сертификатов.

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

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

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

Подключение SSL сертификата, оформленного в другом месте

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

Сделать это можно в том же диалоговом окне, которое использовалось для создания самоподписанного SSL сертификата.

kak-ustanovit-ssl-sertifikat-na-server

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

Создание запроса SSL сертификата у CA

Ну, и ещё одной возможностью, доступной в данном диалоговом окне создания SSL сертификата, является генерация запроса на выпуск данного документа в центре сертификации.

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

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

Наиболее распространённой является OpenSSL, которая доступна как под Linux, так и под Windows благодаря CygWin или использованию других эмуляторов консоли Linux (та же самая командная строка Git поддерживает Linux команды или утилита PuTTY).

Также есть масса онлайн генераторов запросов на выпуск SSL сертификата. Вот наиболее популярные из них:

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

Есть такой и у TheHost, который доступен в данном окне.

kak-sozdat-zapros-ssl-sertifikata

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

Открывайте их обычным текстовым редактором и копируйте код запросов при оформлении SSL сертификатов как через TheHost, так и у других регистраторов.

Как получить бесплатный SSL сертификат Lets Encrypt?

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

Речь идёт о генерации бесплатного SSL сертификата LetsEncrypt, создать который можно за считанные секунды.

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

Из минусов можно отметить только то, что он выпускается лишь на 3 месяца, после чего его нужно будет продлевать.

sozdanie-besplatnogo-ssl-sertifikata-letsencrypt

nastrojka-ssl-sertifikata

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

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

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

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

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

dobavit-ssl-sertifikat-na-sajt

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

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

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

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

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

Проверка правильности установки SSL сертификата

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

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

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

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

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

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

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

В этом руководстве мы расскажем, как при помощи Certbot получить бесплатный SSL-сертификат и использовать его в Nginx на Ubuntu 16.04. Мы также покажем, как настроить автоматическое обновление SSL-сертификата во избежание истечения его срока действия. Если у вас запущен другой веб-сервер, следуйте его документации, чтобы узнать, как использовать сертификат для вашей конфигурации.

Let

Шаг 0. Подготовка

Перед тем, как приступить к работе, вам нужно убедиться в нескольких вещах.

У вас должен быть установлен сервер на Ubuntu 16.04, и создан пользователь (не root), для которого настроены sudo привилегии. Узнать, как это сделать, вы можете, следуя руководству по первичной настройке сервера на Ubuntu 16.04.

Если все требования выполнены, приступаем к установке Certbot — клиента Let’s Encrypt.

Шаг 1. Устанавливаем Certbot

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

Для начала добавьте репозиторий:

Нажмите ENTER для подтверждения. После этого необходимо обновить пакеты:

По завершении установите Certbot, используя команду apt-get :

Теперь Certbot готов к использованию.

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

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

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

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

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

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

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

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

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

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

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

Примечание 1. Если в процессе вы получите ошибку вроде Failed to connect to host for DVSNI challenge , значит, вам нужно настроить файрвол вашего сервера, разрешив TCP-трафик на портах 80 и 443 .

Примечание 2. Если для вашего домена используется маршрутизация через такой DNS-сервис, как CloudFlare, вам придется временно отключить её до тех пор, пока сертификат не будет получен.

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

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

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

Важно запомнить расположение этих файлов, так как они будут использоваться в конфигурации вашего сервера. Сами файлы расположены в папке /etc/letsencrypt/archive . Однако Certbot создает симлинки на наиболее актуальные файлы сертификата в папке /etc/letsencrypt/live/ваше_доменное_имя/ . Так как символьные ссылки указывают на наиболее актуальные файлы сертификата, именно этот путь лучше использовать при обращении к ним.

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

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

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

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

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

Шаг 3. Настраиваем TLS/SSL на веб-сервере

Теперь, когда у вас есть SSL-сертификат, необходимо настроить веб-сервер Nginx так, чтобы он начал его использовать.

Внесем некоторые изменения в нашу конфигурацию:

  1. Создадим сниппет конфигурации, содержащий расположение нашего SSL-ключа и файлов сертификата.
  2. Создадим сниппет конфигурации, содержащий настройки устойчивого SSL, которые можно будет использовать в будущем для любого сертификата.
  3. Обновим блоки server в конфигурации Nginx, которые будут управлять SSL-запросами и использовать оба вышеуказанных сниппета.

Такой подход к настройке Nginx позволяет сохранить блоки server чистыми и сделать конфигурацию доступной для повторного использования.

Создаем сниппет конфигурации для SSL-ключа и сертификата

Сперва создадим сниппет конфигурации Nginx в папке /etc/nginx/snippets .

Для правильного распознавания назначения файла назовем его ssl- , затем укажем доменное имя и в конце поставим .conf :

В этом файле необходимо установить соответствие директивы ssl_certificate файлу сертификата и ssl_certificate_key — соответствующему ключу. В нашем случае это будет выглядеть так:

Когда добавите эти строки, сохраните и закройте файл.

Создаем сниппет конфигурации с устойчивыми настройками шифрования

  • алгоритм выработки сессионных ключей шифрования;
  • алгоритм, используемый для аутентификации сервера;
  • непосредственно сам симметричный алгоритм шифрования трафика;
  • и алгоритм контроля целостности (MAC, message authentication code).

Установленные нами параметры могут быть использованы повторно для конфигураций Nginx в будущем, поэтому дадим файлу стандартное название:

Для настройки безопасной связки Nginx-SSL мы будем использовать рекомендации сайта Cipherli.st. Он создан для предоставления быстрого доступа к готовым настройкам шифрования популярного программного обеспечения. Дополнительная информация доступна в руководстве по настройке SSL для Nginx.

Для наших целей можно скопировать предлагаемые настройки целиком. Нам потребуется внести лишь некоторые изменения.

Сперва добавим DNS-резолвер. Используем для нашего руководства тот, что предлагает Google. Затем установим в качестве параметра ssl_dhparam указатель на файл ключа Диффи-Хеллмана, который мы сгенерировали ранее.

После внесения изменений сохраните и закройте файл.

Настраиваем конфигурацию Nginx для SSL

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

В данном руководстве мы полагаем, что вы используете стандартный файл с блоками server , расположенный в папке /etc/nginx/sites-available . Если вы используете другой файл с блоками server , замените название в представленных ниже командах.

Перед тем, как двигаться дальше, давайте сделаем резервную копию нашего текущего файла с блоками server :

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

Внутри ваш блок server , вероятно, начинается так:

Разделим конфигурацию на два отдельных блока. После первых двух директив listen добавим директиву server_name , указывающую на доменное имя вашего сервера. Затем установим перенаправление на созданный нами второй блок server . После этого закроем текущий блок:

Примечание. У вас может быть только одна директива listen , которая подключает модификатор default_server для каждой комбинации версии IP и порта. Если для выбранных портов у вас включены другие блоки server , для которых настроен default_server , вам придется удалить модификатор у одного из блоков.

После внесения изменений сохраните и закройте файл.

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

После внесения изменений сохраните и закройте файл.

Шаг 4. Настраиваем файрвол

Если у вас включен файрвол ufw, вам необходимо обновить настройки и разрешить SSL-трафик. К счастью, Nginx регистрирует несколько профилей с ufw после установки.

Вы можете посмотреть текущие настройки, введя:

Теперь состояние файрвола должно выглядеть так:

Шаг 5. Подключаем изменения в Nginx

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

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

В случае успеха ваш результат должен выглядеть следующим образом:

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

Вы можете использовать инструмент Qualys SSL Labs Report, чтобы посмотреть оценку конфигурации вашего сервера:

Такая настройка SSL должна показать рейтинг A+.

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

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

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

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

Команда renew для Certbot проверит все сертификаты, установленные в системе, и обновит каждый, срок использования которого истекает менее, чем через 30 дней. Ключ --quiet говорит Certbot’у ничего не выводить и не ждать ввода от пользователя. --renew-hook "/bin/systemctl reload nginx" перезагрузит Nginx, чтобы он использовал новые файлы сертификата, но только в случае, если произошло обновление.

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

Заключение

В данном руководстве мы установили клиент сервиса Let’s Encrypt — Certbot, загрузили SSL-сертификаты для наших доменов, настроили Nginx, чтобы он использовал эти сертификаты, и настроили автоматическое обновление. Если у вас остались вопросы по использованию Certbot, его документация вам поможет.

Существует большое количество методов установки ssl-сертификата, в этой статье осветим наиболее распространенные.

Но перед установкой стоит рассмотреть еще один важный вопрос, как подтвердить право владения доменом.

Подтверждение прав владения доменом

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

Возможны последующие проверки:

  • проверка организации;
  • расширенная проверка.

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

Txt запись в DNS

Вам будет предложено добавить запись типа TXT в DNS записи домена

валидация домена TXT запись

Рассмотрим, как это делается в isp manager

Во вкладке домены нужно выбрать доменные имена

isp manager доменные имена

Просмотреть NS записи домена

isp manager NS записи домена

Создать новую ресурсную запись

isp manager создание новой ресурсной записи

isp manager, выбор типа записи

TXT запись может появиться не сразу, обычно это происходит в течение часа.

Проверить DNS записи домена можно с помощью утилиты dig. Сервисов существует много, возьмем, например, этот.

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

проверка DNS-записей домена утилита dig

Cname запись в DNS

Нужно будет сделать то же самое, что и в предыдущем пункте, только выбрав тип записи CNAME.

Запись имеет вид:

добавить Cname запись

Подтверждение с помощью доменной почты

При выборе этого способа подтверждения на административную доменную (например, [email protected]ИМЯ ДОМЕНА, [email protected]ИМЯ ДОМЕНА) почту придет письмо от центра сертификации со ссылкой для подтверждения.

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

Файл на сервере

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

После подтверждения

В большинстве случаев вам на почту придет 3 файла (или они будут в личном кабинете регистратора ssl-сертификата).

Если файлы придут на почту, обязательно сохраните себе эти файлы! В случае утери нужно будет делать переиздание сертификата.

.key – Приватный ключ (Private Key)

.crt – файл сертификата, который мы вам выдали.

.ca-bundle – файл, содержащий корневые и промежуточные сертификаты в определенном порядке. Порядок:

  • Промежуточный сертификат 2
  • Промежуточный сертификат 1
  • Корневой сертификат

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

Установка сертификата через административную панель хостинга

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

Как правило, при переходе в этот пункт вам будет предложен выбор: установить существующий сертификат или же заказать(приобрести) новый сертификат.

Установка существующего сертификата с помощью административной панели хостинга

Рассматривать установку будем на примере хостинга timeweb.

Необходимо в личном кабинете зайти в пункт меню ssl-сертификаты

timeweb Ssl-сертификаты

timeweb установить сертификат

Ввести данные сертификата в соответствующие поля

timeweb установка Ssl-сертификата

Установка Let’s Encrypt с помощью административной панели хостинга

timeweb Заказать сертификат

установка Let’s Encrypt timeweb

Установка сертификатов в ISP панели

В некоторых случаях для управления хостингом/сервером устанавливается ISP manager. Это панель управления веб-хостингом, позволяющая управлять программным обеспечением веб-сервера, сервером баз данных, почтовым сервером и другими.

Установка существующего сертификата в ISP manager

Рассмотрим ситуацию, когда вы приобрели сертификат и имеете в сохраненном виде все его файлы.

В меню isp manager выбрать пункт ssl-сертификаты

isp manager Ssl-сертификаты

isp manager создать ssl-сертификат

isp manager выбор типа сертификата

Заполнить соответствующие поля в isp manager

isp manager заполнение полей для ssl-сертификата

Важно! Необходимо заполнить все поля, чтобы в дальнейшем не возникло проблем. В случае некорректной установки ssl-сертификата Яндекс.Вебмастер пришлет уведомление об ошибке.

ошибка в Яндекс вебмастере, при некорректной установке Ssl-сертификата

О методе проверки корректности установки сертификата описано в конце статьи.

Установка Let’s Encrypt с помощью ISP manager

Панель isp предоставляет возможность установки бесплатного автопродляемого сертификата Let’s Encrypt. Для его установки необходимо выполнить следующие действия:

isp manager выбор Let’s Encrypt

Выбрать домен, на который будет установлен сертификат (если вам необходим Wildcard сертификат, нужно установить соответствующую галочку).

isp manager создание Let’s Encrypt

Проверка правильности установки

На главной странице сервиса будет поле check ssl, в нем нужно прописать адрес вашего сайта.

sslshopper.com проверка Ssl-сертификата

Если все правильно, вы увидите примерно такую картину:

sslshopper.com проверка Ssl-сертификата прошла успешно

Если сертификат не установлен, вы увидите ошибку:

sslshopper.com проверка SSL не установлен сертификат

В случае нарушения цепочки сертификатов всплывет такая ошибка:

sslshopper.com проверка SSL нарушение цепочки сертификатов

Заключение

Конечно, обо всех нюансах установки ssl-сертификатов не получится рассказать в рамках одной статьи. Но мы рассмотрели основы, в большинстве административных панелей хостингов алгоритм установки примерно одинаковый. После проделанной работы обязательно проверьте корректность установленного сертификата.

Если у вас возникли проблемы с установкой или работоспособностью ssl-сертификата, обращайтесь к нам за помощью! А приобрести SSL-сертификат вы можете прямо сейчас по этой ссылке.

Читайте также: