Как получить ssl-сертификат бесплатно
Содержание:
- Шаг 2. Получаем SSL-сертификат
- Где получить бесплатный сертификат?
- Как получить SSL-сертификат
- Установка SSL сертификата на хостинг
- Установка SSL сертификата.
- Что такое SSL-сертификат
- Установка бесплатного сертификата на хостинг
- Получить бесплатно SSL сертификат от Let’s Encrypt
- График работы службы
- Зачем вообще SSL?
- Почему бесплатный сертификат?
Шаг 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. Let’s Encrypt
Это серьезная некомерческая организация, которая предоставляет бесплатные сертификаты. Возможно, вы даже слышали о компаниях, которые спонсируют ее на более $300,000 в год каждая: Facebook, Mozilla, Cisco и Chrome (Google).
На https://clickget.ru, кстати, используется их сертифкат. Можете зайти и посмотреть если хотите.
Единственная проблема, их сайт работает не так, как вы думаете. На нем нельзя получить сертификат. Вот как это сделать если у вас:
1. Виртуальный хостинг
Если у вас виртуальный хостинг, то, возможно, он уже поддерживает выпуск сертификатов через Let’s Encrypt. Лично я знаю что Timeweb, Reg.ru и многие другие это уже поддерживают.
Покажу на примере Таймвеба (которым мы пользуемся), как выглядит выпуск сертификата. Заходите в “Дополнительные услуги”, потом в “SSL сертификаты” и в поле “Сертификат” выбираете SSL Let’s Encrypt:
Все, сертификат будет выпущен в течении пары минут и будет автоматически продлеваться каждые 3 месяца. То есть это сделать проще простого.
Если ваш хостинг не поддерживает Let’s Encrypt, спросите их, возможно, скоро они добавят эту возможность.
2. Свой сервер
Если у вас свой сервер(облачный, VPS, Dedicated и т.п.), то воспользуйтесь сайтом certbot.eff.org. Выбираете там операционную систему и сервер (Apache/Nginx) и получаете пошаговую инструкцию, как все настроить. Правда сможет сделать это только человек, который в этом разбирается.
По идее, можно еще воспользоваться сайтом sslforfree.com, но имейте ввиду, что Let’s Encrypt выпускает сертификаты только на 3 месяца. И каждые 3 месяца нужно его обновлять. Поэтому устанавливать его руками проблематично. Воспользовавшись же способами выше, сертификат будет продляться автоматически, без вашего участия.
2. CloudFlare
Это бесплатный CDN провайдер, используя который, вы получаете кучу полезного, включая бесплатные SSL сертификаты.
Минимальные требования к браузерам и ОС для работы сертификата можно найти внизу этой страницы (Windows Vista+, Firefox 2+, Android 4.0+ и т.п.)
Если вкратце, вам нужно зайти туда, где покупали домены, и перенастроить DNS сервера на CloudFlare, после этого ваш сайт станет доступен через HTTPS. Если вы в этом не разбираетесь, вам стоит попросить сделать это другого человека. Процедура не должна занять более 30 минут и стоить будет недорого.
1. Сначала регистрируетесь здесь
2. Вводите ваши домены через запятую в поле:
Cloudflare автоматически просканирует и добавит DNS записи
3. После этого добавляете те, что не добавились автоматически(обязательно сравните с теми что у вас вбиты, для этого нужно зайти в DNS записи вашего домена), и жмете далее в самом низу.
4. На следующем шаге выбираете бесплатный тариф. После этого вы получите имена 2х серверов. Теперь вам нужно зайти туда, где вы покупали домен и сменить (делегировать) ваши неймсервера (nameserver или DNS сервер) на новые:
Если все DNS записи вы перенесли корректно, то ваши посетители никаких изменений не заменят(то есть сайт будет работать без перебоев).
5. Когда все перенесется, зайдите в настройки вашего домена на вкладку “Crypto” и там где SSL выберите “Flexible”. Все, теперь SSL соединение с вашим сайтом будет работать
Другие варианты:
- Еще бесплатные сертификаты выдает StartCom. Я пользовался им пока, в конце 2016 Mozilla, Apple и Google решили перестать доверять этим сертификатам в новых версиях браузеров. И, пока что, StartCom это не исправил.
На будущее:
- Перед тем как ставить переадресацию с HTTP на HTTPS проверьте все ли работает (переадресацию обычно можно настроить в панеле хостинга)
- Нужно заменить все пути к картинкам и т.п. в коде сайта с http:// на // иначе соединение не будет считаться защищенным. Для WordPress можно воспользоваться плагином типа этого.
- При переадресации с HTTP на HTTPS, используя CloudFlare, будьте аккуратны, плагин переадресации должен их поддерживать, иначе будет бесконечная переадресация. Для Вордпресса есть вот этот плагин. Дело в том, что запрос на ваш сайт идет через HTTP в любом случае, нужно читать данные, посылаемые CloudFlare, чтобы понять, открыт ли ваш сайт через HTTP или HTTPS у посетителя.
Вот и все. Даже если вы уже купили сертификат, надеюсь вы перейдете на бесплатный в следующем году
P.S. Если же ваш хостинг не поддерживает это, или, по каким-то причинам, вы хотите сертификат от известной компании, попробуйте этот сайт (там самые дешевые).
Как получить SSL-сертификат
Итак, есть два варианта: платный и бесплатный. Рассмотрим оба:
- Платный: вы покупаете сертификат в центре сертификации. Стоимость может очень сильно различаться. Однако здесь, в отличие от бесплатного варианта, есть возможность покупки более продвинутых версий.
- Бесплатный: SSL-сертификат, который выдается центром сертификации Let`s Encrypt или посредниками.
Статья посвящена бесплатному SSL-сертификату, поэтому далее я в подробностях расскажу как и где можно получить бесплатный сертификат с защищенным шифрованием.
Теперь нас перекинет на страницу с выбором способа добавления. Всего их три штуки:
Вы можете:
- Провести сертификацию в автоматическом режиме. Для этого нужны данные от FTP-аккаута
- Последовать инструкциям в мануале, и загрузить на хостинг проверочные файлы
- Последовать инструкциям в другом мануале, и добавить DNS-записи к вашему домену
Что именно выбрать — решайте сами. Обычно я использовал третий способ, то есть создание записей DNS. Сейчас я думаю, что лучшим вариантом была автоматическая верификация с использованием FTP. А самый лучший и быстрый вариант — через хостинг. Об этом и пойдет речь далее.
Получить SSL в Таймвеб
Если вы используете виртуальный хостинг от Таймвеб, то получение бесплатного сертификата для вас вообще не проблема. Не забудьте добавить домен, перед тем как выполнять все дальнейшие инструкции.
Итак, находим в боковом меню «Дополнительные услуги», и переходим на нужную страницу. Она будет выглядеть так:
Видим «SSL-сертификаты», радостно кликаем на эту кнопку:
Вылетает окошко, открываем меню «Сертификат», выбираем «SSL Let`s Encrypt» (0 рублей). Точно таким же способом выбираем домен, нажимаем «Заказать». Сертификат будет выпущен и установлен в течение 10-15 минут. Иногда больше, но в случае чего вы можете обратиться в техническую поддержку.
Получить SSL в Beget
Здесь все делается почти также. Идем в раздел «Домены», кликаем на «Управление SSL-сертификатами», которое находится в конце полоски нужного домена:
Теперь нужно выбрать вкладку «Бесплатный SSL сертификат», после чего клацнуть на кнопку «Установить»:
Все! Сертификат установлен.
Получить SSL в других хостингах
Я рассмотрел два наиболее популярных сервиса. Не расстраивайтесь, если ваш хостинг не вошел в эту статью. Принцип действия там точно такой же. Вы должны найти аналогичные разделы, выбрать «Бесплатный SSL», и кликнуть на кнопку «Установить», «Заказать», или аналогичную. Если возникают какие-то проблемы, то можно обратиться в техническую поддержку вашего хостинг-провайдера. Скорее всего они будут рады вам помочь.
Получить SSL-сертификат через Cloudflare
Вы можете подключить свой сайт к платформе Cloudflare. Там также положен бесплатный SSL-сертификат. То есть ваш сайт будет доступен по защищенному соединению https. Также вы сможете рассчитывать на защиту от DDos-атак, возможность подключения кэширования и CDN.
Установка 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 хостингов и панелями управления хостингом, в частности, а редирект настроить нужно.
Преимущество данного способа перенаправления трафика над редиректом в коде сайта заключается в том, что он происходит быстрее. В количественном выражении эти изменения не существенны, но при больших размерах проекта они станут заметны.
Установка SSL сертификата.
При самостоятельном заказе сертификата обязательно уточните возможность его использования у себя на хостинге. Если вы используете виртуальный хостинг, то настроить использование HTTPS может только поставщик хостинговых услуг. Так же например установить сертификат можно через панель управления.Поэтому заранее уточните эту возможность в службе поддержки. Пример ввода данных сертификата в панели управления хостингом.
Установка SSL-сертификата через панель управления beget.com
Установив SSL-сертификат на свой домен проверьте доступность Вашего интернет ресурса по двум протоколам HTTP и HTTPS. Если web-сайт доступен по двум протоколам, то все шаги были проделаны правильно, если рксурс оказался по какому либо протоколу не доступен, то ищите причину возникшей проблемы.
Что такое SSL-сертификат
SSL-сертификат — разрешение на использование защищенного протокола https. Его можно получить у независимых организаций, которые специализируются на сертификации сайтов. Обычно стоимость такой работы может варьироваться от 10-15 долларов до нескольких тысяч. Более подробно о SSL можно прочитать на википедии, я же ограничусь краткой характеристикой.
SSL или Secure Sockets Layer позволяет использовать шифрование при обмене данными между компьютером пользователя и сервером. Говоря простым языком: доступ к информации есть только у участников обмена — компьютера и сайта. Третьи лица не смогут получить данные как бы они не пытались.
Защищенное соединение рекомендовано к использованию поисковыми системами и антивирусными приложениями. Например, Аваст и Касперский могут уведомлять пользователей о том, что сайт, на который они переходят, не использует защищенное соединение. Точно о том же уведомляют некоторые браузеры, такие как Яндекс.Браузер и Google Chrome.
Сейчас поисковые системы лояльнее относятся к сайтам, на которых используется SSL. Это спорное утверждение, которое опровергается самими поисковиками. Но некоторые вебмастера замечают, что трафик при переходе на https многократно возрастает. От себя дополню, что на посещаемость могут влиять поведенческие факторы. Пользователи больше доверяют сайтам с защищенным шифрованием.
Примечание:
Касаемо влияния на SEO: опровергают эту информацию только Яндекс. Гугл прямо заявил, что наличие защищенного соединения положительно влияет на ранжирование.
Почему https лучше, чем http
Из предыдущего смыслового блока вы могли понять почему. Однако, я думаю, что надо подвести кое-какие итоги. Причины, почему https лучше, чем http:
- https лучше ранжируется в Гугле
- Данные ваших пользователей в безопасности
- Вам больше доверяют, причем не только сами пользователи, но и антивирусное ПО, браузеры
- Улучшенные поведенческие факторы и кликабельность в поисковой выдаче
- Возможность установить SSL-сертификат совершенно бесплатно
Как видите, причин не так много. Но они очень весомые. Вы же хотите, чтобы в том же Гугле ваш сайт получал более высокие позиции? Трафик на дороге не валяется, поэтому лучше, все-таки, установить сертификат. Лишним уж точно не будет. Тем более это можно сделать бесплатно.
Установка бесплатного сертификата на хостинг
Установка SSL-сертификата на сервер
В первую очередь распаковываем архив с сертификатом и видим, что он состоит из:
- certificate.crt (сертификат);
- private.key (приватный ключ);
- ca_bundle.crt (промежуточный сертификат).
Данный пункт необходим тем, кто не смог получить его у хостера и приобрел его не у своего провайдера. Для этого посещаем раздел «SSL», где выбираем пункт «Установить».
Вводим в соответствующие поля свой файл и завершаем установку.
Важно! Если не имеется навыка работы с интерфейсом хостинг компании (у некоторых провайдеров отсутствует возможность загружать сертификат самостоятельно в интерфейсе) рекомендуется загрузить архив с сертификатом на сервер и написать в поддержку с просьбой об установке. Важно! Срок действия сертификата 3 месяца, после чего его потребуется
обновиться, выполнив инструкцию еще раз
Важно! Срок действия сертификата 3 месяца, после чего его потребуется
обновиться, выполнив инструкцию еще раз. Важно! Если сертификат выдается на поддомен, то потребуется
подтвердить лишь основной домен (соответственно загрузить лишь 1 файл или
установить 1 TXT-запись)
Важно! Если сертификат выдается на поддомен, то потребуется
подтвердить лишь основной домен (соответственно загрузить лишь 1 файл или
установить 1 TXT-запись)
Через ISPmanager
Следует посетить раздел «WWW»-«SSL-сертификаты»,
после чего кликнуть на «Создать».
Выбираем пункт «Существующий».
Ставим данные из файлов в нужные поля и даем имя
сертификату.
Важно! Если не получается воспользоваться ни первым ни
вторым способом или данного раздела (SSL) нет в административной панели (как, например, в SprintHost), то Вы можете
загрузить сертификаты на свой сервер и создать тикет хостинг-провайдеру для
установки
Получить бесплатно SSL сертификат от Let’s Encrypt
Следующая организация, занимающаяся выдачей бесплатных сертификатов, называется Let’s Encrypt.
Возникла данная организация вследствие сотрудничества таких известных компаний Chrome, Mozilla и некоторых других. Основная затея этой организации заключается в том, что бы выдавать качественные SSL-сертификаты бесплатно.
В принципе, на сегодняшний день это довольно таки не плохой вариант получения бесплатного SSL-сертификата. Потому, как он практически не уступает платным сертификатам за исключением некоторых недостатков.
Самый основной такой недостаток заключается в том, что сертификат выдается сроком до 90 дней. То есть, по истечении трех месяцев вам нужно будет этот сертификат продлять. Для продления у вас есть три способа:
- 1.Продлять его вручную. Минус этого способа заключается в том, что вы можете просто забыть или пропустить, или по каким-то техническим причинам у вас не получится продлить данный сертификат и в итоге посетители, попадая на ваш сайт, будут получать уведомления о том, что сайт имеет не подтвержденный сертификат и т.д.
- 2.Автоматическое продление сертификата с использованием крон. Кроны представляют собой так называемые планировщики, которые есть в операционных системах на базе Linux и суть их использования заключается в том, что администратор сервера создает такой крон, который включает в себя определенный скрипт, благодаря которому осуществляется замена старого сертификата новым. Основной минус данного способа в том, что он несет в себе определенные технические сложности, так как далеко не каждый человек сможет себе создать такой крон у себя на сервере. Поэтому этот способ подойдет далеко не для всех.
- 3.Принять автоматические настройки центра сертификации Let’s Encrypt. В этом случае сертификат должен будет продляться автоматически. Однако, приняв автоматические настройки Let’s Encrypt вы фактически даете им право вносить изменения в конфигурацию вашего сервера и программного обеспечения в целом. В принципе, из всех трех вариантов этот не такой уж и плохой, однако имеет определённую негативную строну.
Вторым недостатком сертификата выданного Let’s Encrypt является то, что они не дают ни каких гарантий. То есть, если вы, к примеру, получаете платный сертификат от каких-то известных компаний, таких как Comodo, GeoTrust и т.д., то они предоставляют определенные гарантии на то, что их шифрование является безопасным. И в случае если передаваемая по их сертификату информация будет перехвачена и расшифрована, и пользователь понесет впоследствии убытки, то данная компания может выдать своего рода страховку в качестве компенсации за понесенные убытки.
Let’s Encrypt является не коммерческой организацией, поэтому предоставлять такого рода гарантии она не может, и в данном случае все убытки будут нести сами пользователи.
Так же, обращаю ваше внимание на то, что сертификаты Let’s Encrypt на сегодняшний день находятся в состоянии beta-тестирования. Поэтому возможны возникновения определенных проблем, в особенности со старыми версиями браузеров
График работы службы
Зачем вообще SSL?
1. Лучше выглядит в браузере
Браузеры, с недавних пор, очень не любят сайты без SSL. И они будут пытаться помешать вашим посетителям регистрироваться и оплачивать покупки.
Вот так выглядит сайт без SSL (обычная страница) в современных браузерах:
Chrome (Хром) | Firefox | Яндекс Браузер |
Не так плохо, но веселье начинается если вы начнете вводить пароль или данные банковской карты. Будет вот так:
Chrome (Хром) | Firefox | Яндекс Браузер |
Как думаете, отпугнет ли это часть ваших посетителей? Конечно да. И это еще не все, Firefox, когда ваш посетитель будет вводить свои данные, покажет ему вот такое окошко:
С SSL сертификатом же все выглядит намного лучше:
Chrome (Хром) | Firefox | Яндекс Браузер |
2. Положительно сказывается (или будет) на позициях в поисковых системах
В Google сайты с SSL начали ранжироваться выше с 2014 года, но на очень ограниченном числе запросов. Сейчас это влияет все больше и больше.
Насчет Яндекса я не нашел информации по этому поводу, но, скорее всего, они тоже это учитывают как один из второстепенных параметров.
Почему бесплатный сертификат?
Есть несколько видов SSL сертификатов. Чем круче — тем больше компенсация вам на случай, если кто-то взломает соединение, и еще в браузере будет писаться название вашей компании.
Для малого бизнеса это совершенно не нужно. Все, что нам нужно – самый простой сертификат(Essential). Он всего лишь позволяет установить защищенное соединение с вашим сайтом и удостовериться, что посетитель на нем.
Так почему же бесплатный? Потому что покупая этот самый простой сертификат за деньги вы платите за воздух. Никаких сложных вычислений не происходит. Все делается автоматически. Даю зуб, что на сервере за 300 руб/мес. можно сгенерировать сертификаты для всего Рунета максимум за 1 месяц, если не 1 день.
А почему же тогда их продают за деньги, спросите вы? Да просто потому что это халявные деньги. На официальном сайте Комодо они просят $76 в год минимум. На другом же сайте можно найти их же сертификат за $8. Вообще, они могли бы его и бесплатно отдать, но 76 баксов то не лишние
Минусы платных сертификатов:
- Платите деньги за воздух и поощряете продавцов воздуха
- Будете платить еще в 10 раз больше денег если вам нужен сертификат для субдоменов (потому что потребуется другой сертификат — Wildcard или нужно покупать по сертификату на каждый поддомен)
В любом случае не платите за них более чем $8 в год.
Минусы бесплатных сертификатов:
- Не работают в старых браузерах и операционных системах(там где не поддерживается SNI)
Эту проблему кстати можно достаточно легко решить, просто не включая SSL для этих старых браузеров/ОС. Если вам кто-то будет настраивать это или вы сами, то вот ссылка (правило для .htaccess).