Нужен бесплатный SSL-сертификат? Легко / Хабр
Пришлось искать способ защитить домены в зонах RU, РФ…
Если вам нужен SSL-сертификат, но вы не являетесь специалистом в веб-технологиях, то эта заметка для вас. Описан простой способ выпуска базового SSL-сертификата Let’s Encrypt в ручном режиме, на локальном компьютере с Windows, с помощью приложения Certbot. Этот способ позволяет получить файлы SSL-сертификата в папку на своём локальном компьютере, после чего можно установить сертификат на свой хостинг.
Потребность в SSL-сертификатах возникла у меня в связи с тем, что срок старых истёк, а создать новые оказалось невозможным из-за возникших ограничений на доменные зоны RU и РФ. Если у вас такая же проблема или вам просто надоело искать веб-сервис для выпуска SSL-сертификатов, то эта заметка вам поможет.
Поскольку я пока не знаю наилучшего пути, то ниже просто опишу ту последовательность действий, которую сам выполнил и которая позволила мне создать SSL-сертификаты для десяти своих доменов (в том числе в зонах RU и РФ), а значит и вам этот способ может помочь.
Создание SSL-сертификата на локальном компьютере
Установил на свой локальный компьютер (с операционной системой Windows 11) программу Certbot.
Установочный файл Certbot взял с официального сайта здесь (см. ссылку на загрузку дистрибутива в п.3 на открывшейся по ссылке странице).Запустил скачанный установщик и в диалоге установки изменил адрес установки на:
C:\Certbot
Работа с программой Certbot осуществляется через командную строку или PowerShell (я использовал PowerShell). На время выпуска сертификата, естественно, компьютер должен быть подключен к сети Интернет.
Открыл PowerShell (х86) с правами администратора.
Для этого нажал на кнопку «Пуск» и набирая первые буквы названия PowerShell увидел нужный пункт в результатах поиска, затем правым щелчком мыши по названию найденной программы открыл контекстное меню и в нём выбрал пункт «запуск от имени администратора».В окне PowerShell с помощью команд
cd
перешёл в каталог Certbot (вводил как показано на скриншоте и нажимал в конце строки клавишу Enter):
Вставил из буфера обмена команду для создания сертификата (можете скопировать её из этой строки):
certbot certonly --authenticator manual
И нажал клавишу Enter.
Перед нажатием Enter окно PowerShell выглядело с этой командой так:
Система предложила ввести свой email (я ввёл), согласился с условиями (нажимая клавишу Y), в следующий раз программа на этом шаге уже не просила вводить email, а сразу предлагала ввести имена доменов (я вводил сразу по два – второй с www, через запятую):
Программа попросила создать файл проверки прав на домен. При этом показано какую строку символов и в файл с каким именем поместить, по какому адресу на веб-сервере этот файл положить:
Поскольку я вводил по два доменных имени (обычное и с www), то после нажатия Enter программа точно так же просила создать ещё один проверочный файл.
С помощью Filezilla Client я создал нужные файлы по требуемому адресу, создав нужные директории. Выделенный текст из окна PowerShell можно копировать просто правым кликом, или привычным сочетанием клавиш Ctrl+C.
Нажал клавишу Enter для создания сертификата, но только после того, как проверочные файлы на веб-сервере были созданы.
Система сообщила об успешном создании файлов сертификата, которые я нашёл на своём локальном компьютере, в папке:
C:\Certbot\archive\[имя домена]
Если бы сертификат не был создан, то программа сообщила бы об ошибке.
Вот и всё, сертификаты готовы!
Для установки их на хостинг мне потребовались три файла из четырёх, из данной папки:
cert1.pem – сертификат
chain1.pem – промежуточный сертификат
privkey1.pem – приватный ключ
Эти файлы со своего компьютера не удаляйте, поскольку при следующем выпуске сертификатов (их приходится создавать заново каждые 90 дней) Certbot проверит их наличие и создаст рядом новые, со следующим порядковым номером. Для установки на хостинг нужно будет использовать, конечно, новые.
Ограничения
Через каждые 90 дней нужно перевыпускать сертификат заново.
P.S.:
Я ещё не озадачился тем, как автоматизировать описанный выше процесс (мне интересен перевыпуск сертификата именно на локальном компьютере с Windows). Было бы здорово, если бы знающий человек написал в комментариях как это сделать.
Как получить ssl сертификат бесплатно и зачем он нужен
В этой статье расскажу, как получить SSL сертификат бесплатно — подобрала для вас четыре сервиса, которые выдают такие сертификаты, и подскажу еще один не самый очевидный способ. Заодно разберемся, какие вообще бывают сертификаты, зачем они нужны и подойдет ли бесплатный вариант вашему бизнесу.
- Что такое SSL сертификат
- Для чего нужен SSL сертификат org/ListItem»> Какие бывают SSL сертификаты
- Кому подойдет бесплатный SSLсертификат
- Где получить SSL сертификат бесплатно
- Let’s Encrypt
- Free SSL Space
- ZeroSSL
- CloudFlare
У хостинг-провайдера или регистратора доменных имен org/ListItem»>
Как получить SSL сертификат бесплатно и зачем он нужен: что стоит запомнить
Что такое SSL сертификат
Вы наверняка замечали, что у сайтов в начале адреса стоит либо http://, либо https://. Буква s во втором варианте означает наличие у сайта SSL сертификата — это подтверждение, что пользователь и сайт будут обмениваться данными в зашифрованном виде. В этом случае данные все равно можно перехватить, но без ключа из сертификата их будет невозможно расшифровать. Вместо информации по кредитке воришка получит хаотичный набор данных.
Наличие SSL сертификата можно понять по значку замка в адресной строке:
Знак замка в адресной строке означает, что у сайта есть SSL сертификатЕсли сертификата нет, браузеры предупреждают об опасности сайта: что злоумышленники могут перехватить данные, которые пользователи оставляют на сайте, например, адрес почты или номер банковской карты. Это может выглядеть как зачеркнутый замочек:
Знак незащищенного соединения в браузере Mozilla FirefoxИли текстовое предупреждение:
Знак незащищенного соединения в Google ChromeПростой, но мощный конструктор лендингов
Создайте мобильный лендинг, интернет-магазин или мультиссылку для Instagram и продвигайте ее через чат-боты в мессенджерах, email и SMS — все это на одной платформе!
Создать лендинг
Для чего нужен SSL сертификат
Во-первых, SSL сертификат поможет защитить ваших пользователей от мошенников. Какие варианты обмана могут быть:
- Злоумышленник просто заберет данные пользователей из потока данных и будет использовать их в своих целях.
- Более активное вмешательство — злоумышленник сможет изменить данные. Например, вы будете переводить платеж, а он поменяет счет получателя и сумму, и все ваши деньги уйдут к нему.
Во-вторых, пользователь будет спокоен — он увидит значок замка и будет чувствовать себя в безопасности.
В-третьих, получение SSL сертификата положительно скажется на ранжировании сайта поисковиками. Это знак, что вы заботитесь о безопасности пользователей, и повод для системы разместить вас повыше в выдаче.
Какие бывают SSL сертификаты
Есть разные виды SSL сертификатов. Они могут отличаться по количеству доменов и субдоменов, для которых они могут использоваться. Например, мультидоменные сертификаты могут защищать два, три или пять доменов. Сертификат с опцией wildcard распространяется на все субдомены указанного в сертификате домена.
Также сертификаты различаются по тому, как именно сайт будет проверяться. Тут есть три варианта:
- Уровень домена — DV SSL (domain validation). Такой сертификат подтверждает только сам сайт: что пользователь действительно попал на этот домен и данные передаются в зашифрованном виде. Срок выпуска: от 15 минут до пары часов.
- Уровень организации — OV SSL (organization validation). Проверяется не только сайт, но и его принадлежность конкретной компании, эта информация будет отображаться в сертификате. Срок выпуска: до 3 дней.
- Расширенный уровень — EV SSL (extended validation). Проверяется не просто домен и его принадлежность к компании, но и работа самой компании: разрешение на деятельность, налоговая отчетность и прочие документы. Он самый крутой: в адресной строке будет зеленым шрифтом написано еще и название организации. Срок выпуска: до 2 недель.
И, наконец, есть несколько доверенных центров, которые выпускают сертификаты — например, Thawte, Sectigo, Geotrust, GlobalSign и другие.
Кому подойдет бесплатный SSLсертификат
В большинстве случаев бесплатно вы можете получить только SSL сертификат низшего уровня, то есть с подтверждением домена — DV. Это значит, что вариант с бесплатным SSL сертификатом подойдет только для небольших сайтов, которые не просят у пользователя «опасных» данных вроде номера кредитки. Например, это:
- личный блог;
- сайт-визитка;
- сайт-витрина.
Для интернет-магазинов и прочих сайтов, которые запрашивают у пользователя финансовые и/или деликатные личные данные, лучше получать SSL сертификаты следующих уровней.
Где получить SSL сертификат бесплатно
Нашла для вас пять способов получить SSl сертификат без затрат.
Let’s Encrypt
Эта некоммерческая организация выдает бесплатные SSL DV сертификаты со сроком жизни три месяца. Можно получить wildcard-сертификат.
Free SSL Space
Еще одна некоммерческая организация, которая также выдает 90-дневные DV сертификаты. Отличается от Let’s Encrypt совместимостью: как заявляет компания, их сертификаты поддерживаются на 99,99% устройств. Нет опции wildcard.
ZeroSSL
У этого сервиса есть бесплатный тариф — DV сертификат на 90 дней. Как и Free SSL, заявляют о 99,99% совместимости с серверами, браузерами и устройствами, однако на бесплатном тарифе не поддерживается wildcard.
CloudFlare
Этот сервис защищает сайты от DDoS-атак — моментов, когда злоумышленники пытаются перегрузить ваш сайт множеством одновременных запросов, а также ускоряет загрузку. Бесплатный SSL сертификат — приятное дополнение к сервису. CloudFlare предлагает получить SSL сертификат бесплатно и на неопределенный срок на базовом тарифе, который предназначен для личных некоммерческих сайтов.
У бесплатного SSL от CloudFlare есть одно «но». Загрузка сайта ускоряется благодаря тому, что сервис кеширует ваш сайт на свои серверы и контент попадает пользователю с них. Общение происходит по цепочке «пользователь — серверы CloudFlare — ваш сервер», и SSL зашифрует только первую связь. На ваш сервер данные будут идти уже открыто. Впрочем, это уже решает самые распространенные проблемы безопасности вроде использования общественного Wi-Fi.
У хостинг-провайдера или регистратора доменных имен
Это условно-бесплатный способ получить SSL сертификат. Если вы только собираетесь заводить сайт или ищете новый хостинг — рассмотрите предложения, где бонусом идет сертификат.
Регистратор доменных имен предлагает бесплатный SSL сертификат при покупке имениКак получить SSL сертификат бесплатно и зачем он нужен: что стоит запомнить
SSL сертификат — это инструмент, который переключает ваш сайт в защищенный режим https. Благодаря ему все данные, которыми вы обмениваетесь с пользователями, будут надежно зашифрованы, а ключ к расшифровке будет только у вас.
Благодаря SSL сертификату:
- злоумышленники не смогут воспользоваться данными пользователей;
- люди будут больше доверять сайту, видя замочек в адресной строке;
- есть шанс подняться в поисковой выдаче.
Сертификаты бывают трех уровней:
- DV — для подтверждения домена. Обычно только этот уровень можно получить бесплатно.
- OV — для подтверждения домена и компании-владельца.
- EV — для расширенного подтверждения домена и компании-владельца.
Бесплатный SSL сертификат уровня DV выдают несколько сервисов:
- Let’s Encrypt — на 90 дней, можно получить на несколько доменов.
- Free SSL Space — на 90 дней, можно получить на несколько доменов.
- ZeroSSL — на 90 дней, только один домен в сертификате.
- CloudFlare — бессрочно, в один сертификат можно внести много доменов и субдоменов, не нужно устанавливать сертификат на свой сайт.
Также можно обзавестись SSL в качестве бонуса, когда вы покупаете услуги хостинг-провайдера или доменное имя.
Обеспечьте безопасность своим клиентам и себе! Обзаведитесь SSL сертификатом, чтобы никто не украл данные пользователей, а для безопасных рассылок через email, SMS, push, Viber и чат-боты используйте SendPulse.
Начало работы — Let’s Encrypt
Чтобы включить HTTPS на вашем веб-сайте, вам необходимо получить сертификат (тип файла) от центра сертификации (ЦС). Let’s Encrypt — это ЦС. Чтобы получить сертификат для домена вашего сайта от Let’s Encrypt, вы должны продемонстрировать контроль над доменом. С Let’s Encrypt вы делаете это с помощью программного обеспечения, которое использует протокол ACME, который обычно работает на вашем веб-хостинге.
Чтобы выяснить, какой метод подойдет вам лучше всего, вам нужно знать, у вас есть доступ к оболочке (также известный как SSH-доступ) к вашему веб-хосту. Если вы полностью управляете своим веб-сайтом через панель управления, такая как cPanel, Plesk или WordPress, есть большая вероятность, что у вас нет оболочки доступ. Вы можете уточнить у своего хостинг-провайдера.
Мы рекомендуем большинству людей с доступом к командной оболочке использовать
ACME-клиент Certbot. Он может автоматизировать выпуск и установку сертификатов без простоев. Он также имеет экспертные режимы для людей, которые не хотят автоконфигурации. Его легко использовать,
работает на многих операционных системах и имеет отличную документацию. Посетить
Сайт Certbot для получения индивидуальных инструкций для вашей операционной системы и веб-сервера.
Если Certbot не соответствует вашим потребностям или вы хотите попробовать что-то еще, есть многие другие клиенты ACME на выбор. После того, как вы выбрали клиент ACME программное обеспечение, см. документацию для этого клиента, чтобы продолжить.
Если вы экспериментируете с разными клиентами ACME, используйте наш промежуточная среда, чтобы избежать попадания лимиты скорости.
Лучший способ использовать Let’s Encrypt без доступа к оболочке — использовать встроенную поддержку
от вашего хостинг-провайдера. Если ваш хостинг-провайдер предлагает Let’s Encrypt
поддержку, они могут запросить бесплатный сертификат от вашего имени, установить его и
поддерживать его в актуальном состоянии автоматически.
Проверьте наш список хостинг-провайдеров чтобы увидеть, если ваш на нем. Если это так, следуйте их документации, чтобы настроить Давайте зашифруем сертификат.
Если ваш хостинг-провайдер не поддерживает Let’s Encrypt, вы можете связаться с ним, чтобы запросить поддержку. Мы делаем все возможное, чтобы добавить Let’s Encrypt было очень просто поддержку, и провайдеры часто рады услышать предложения от клиентов!
Если ваш хостинг-провайдер не хочет интегрировать Let’s Encrypt, но
поддержка загрузки пользовательских сертификатов, вы можете установить Certbot самостоятельно
компьютер и использовать его в ручном режиме.
В ручном режиме вы загружаете определенный файл на свой веб-сайт, чтобы подтвердить свою
контроль. Затем Certbot получит сертификат, который вы можете загрузить на свой
хостинг-провайдер. Мы не рекомендуем этот вариант, поскольку он занимает много времени.
и вам нужно будет повторять его несколько раз в год в качестве сертификата
истекает. Для большинства людей лучше запросить поддержку Let’s Encrypt у вашего
хостинг-провайдера, или сменить провайдера, если они не планируют это реализовывать.
Если у вас есть вопросы о выборе клиента ACME, об использовании определенного клиента или о чем-то еще, связанном с Let’s Encrypt, посетите наши полезные форумы сообщества.
Новая жизнь списков отзыва сертификатов
В этом месяце Let’s Encrypt запускает новую инфраструктуру для поддержки отзыва сертификатов через списки отзыва сертификатов. Несмотря на то, что уже более десяти лет он в значительной степени вытесняется протоколом статуса онлайн-сертификата, списки отзыва сертификатов обретают новую жизнь с последними обновлениями браузера. Собирая и обобщая CRL для своих пользователей, браузеры делают надежным отзыв сертификатов реальностью, повышая как безопасность, так и конфиденциальность в Интернете. Давайте поговорим о том, что именно делает эта новая инфраструктура и почему это важно.
Когда сертификат становится ненадежным (например, из-за того, что его закрытый ключ был скомпрометирован), этот сертификат должен быть отозван, а эта информация опубликована, чтобы никто не полагался на нее в будущем. Однако в мире сетевой инфраструктуры открытых ключей (Web PKI) существует известная поговорка о том, что отзыв не работает. За всю историю Web PKI существовало два основных механизма для объявления о том, что сертификату TLS/SSL больше нельзя доверять: списки отзыва сертификатов (CRL) и онлайн-протокол статуса сертификата (OCSP). К сожалению, у обоих есть существенные недостатки.
CRL — это, по сути, просто списки всех отозванных сертификатов, выпущенных данным центром сертификации (CA). Это означает, что они часто бывают очень большими — размером с целый фильм. Для вашего браузера неэффективно загружать гигантский список отозванных сертификатов только для того, чтобы проверить, не отозван ли единственный сертификат для сайта, который вы сейчас посещаете. Эти медленные загрузки и проверки замедляли загрузку веб-страниц, поэтому в качестве альтернативы был разработан OCSP.
OCSP — это что-то вроде «а что, если бы для каждого отдельного сертификата был отдельный CRL»: когда вы хотите проверить, был ли отозван данный сертификат, ваш браузер может проверить статус только этого одного сертификата, связавшись со службой CA OCSP. . Но поскольку инфраструктура OCSP должна работать постоянно и может страдать от простоев, как и любой другой веб-сервис, большинство браузеров рассматривают полное отсутствие ответа как эквивалент получения ответа «не отозван». Это означает, что злоумышленники могут помешать вам обнаружить, что сертификат был отозван, просто заблокировав все ваши запросы на информацию OCSP. Чтобы снизить нагрузку на службы OCSP ЦС, ответы OCSP действительны и могут кэшироваться примерно на неделю. Но это означает, что клиенты не очень часто получают обновления и часто продолжают доверять сертификатам в течение недели после их отзыва. И, возможно, хуже всего: поскольку ваш браузер отправляет запрос OCSP для каждого посещаемого вами веб-сайта, злонамеренный (или юридически вынужденный) ЦС может отслеживать ваше поведение в Интернете, отслеживая, для каких сайтов вы запрашиваете OCSP.
Таким образом, оба существующих решения на самом деле не работают: CRL настолько неэффективны, что большинство браузеров их не проверяют, а OCSP настолько ненадежен, что большинство браузеров его не проверяют. Нам нужно что-то получше.
Одним из возможных решений, которое в последнее время набирает обороты, является идея проприетарных списков отзыва сертификатов для конкретных браузеров. Хотя разные браузеры реализуют это по-разному (например, Mozilla называет их CRLite, а Chrome — CRLSets), основная идея одна и та же.
Вместо того, чтобы браузер каждого пользователя загружал большие CRL, когда они хотят проверить отзыв, браузер поставщик загружает CRL централизованно. Они преобразуют CRL в меньший формат, такой как фильтр Блума, а затем передают новый сжатый объект во все установленные экземпляры браузера, используя ранее существовавшие механизмы быстрого обновления. Firefox, например, отправляет обновления каждые 6 часов.
Это означает, что браузеры могут заранее загружать списки отзыва, обеспечивая быструю загрузку страниц и устраняя самые серьезные проблемы обычных CRL. Он поддерживает локальные проверки отзыва, а принудительные обновления могут вступить в силу немедленно, не дожидаясь истечения срока действия кэша OCSP, который может длиться несколько дней, что предотвращает все самые серьезные проблемы с OCSP.
Благодаря обещанию этих сводных CRL для браузера корневые программы Apple и Mozilla требуют, чтобы все центры сертификации начали выдавать CRL до 1 октября 2022 года. В частности, они требуют, чтобы центры сертификации начали выдавать один или несколько CRL, которые вместе охватывают все сертификаты, выданные этим ЦС, и чтобы список URL-адресов, указывающих на эти CRL, был раскрыт в Общей базе данных ЦС (CCADB). Это позволит Safari и Firefox переключиться на использование сводного CRL браузера для проверки отзыва.
Когда была основана компания Let’s Encrypt, мы приняли четкое решение поддерживать только OCSP и вообще не создавать CRL. Это было связано с тем, что требования корневой программы в то время требовали только OCSP, а поддержка обоих механизмов отзыва увеличила бы количество мест, где ошибка могла привести к инциденту соответствия.
Когда мы приступили к разработке инфраструктуры отзыва сертификатов, мы знали, что нам необходимо масштабировать ее, и сделать это таким образом, чтобы отразить наш акцент на эффективности и простоте. За последние несколько месяцев мы разработали несколько новых элементов инфраструктуры, позволяющих нам публиковать CRL в соответствии с будущими требованиями. Каждый компонент легкий, предназначен для выполнения одной задачи и делает ее хорошо, и его можно масштабировать намного выше наших текущих потребностей.
Let’s Encrypt в настоящее время имеет более 200 миллионов активных сертификатов в любой день. Если бы у нас был инцидент, когда нам нужно было отозвать каждый из этих сертификатов одновременно, результирующий список отзыва сертификатов превышал бы 8 гигабайт. Чтобы сделать вещи менее громоздкими, мы разделим наши CRL на 128 сегментов, каждый из которых в худшем случае будет иметь максимальный размер 70 мегабайт. Мы используем тщательно продуманную математику, чтобы гарантировать, что — пока количество сегментов не изменится — все сертификаты останутся в своих сегментах при перевыпуске CRL, чтобы каждый сегмент можно было рассматривать как мини-CRL. с постоянным размахом.
В соответствии с теми же рекомендациями, которым мы следуем при выпуске сертификатов, все наши CRL будут проверены на соответствие RFC 5280 и Базовым требованиям, прежде чем они будут подписаны нашими промежуточными звеньями. Хотя популярная библиотека zlint еще не поддерживает linting CRL, мы написали собственную коллекцию проверок и надеемся в будущем добавить их в zlint. Эти проверки помогут предотвратить инциденты с соблюдением требований и обеспечат беспрепятственный цикл выдачи и продления.
В рамках разработки этих новых возможностей мы также внесли несколько улучшений в реализацию генерации и анализа CRL в стандартной библиотеке Go. Мы с нетерпением ждем возможности внести больше улучшений, поскольку в будущем мы и остальная часть сообщества Go будем чаще работать с CRL.
Хотя мы будем создавать списки отзыва сертификатов, охватывающие все выдаваемые нами сертификаты, мы не будем включать эти URL-адреса в расширение точки распространения списков отзыва сертификатов для наших сертификатов. На данный момент, как того требуют базовые требования, наши сертификаты будут по-прежнему включать URL-адрес OCSP, который может использоваться любым пользователем для получения информации об отзыве для каждого сертификата. Наши новые URL-адреса CRL будут раскрыты только в CCADB, чтобы корневые программы Apple и Mozilla могли использовать их, не подвергая их потенциально большому трафику загрузки из остальной части Интернета в целом.
Еще предстоит пройти долгий путь, прежде чем аннулирование в Web PKI будет действительно исправлено. Проблемы конфиденциальности, связанные с OCSP, будут смягчены только после того, как все клиенты перестанут полагаться на него, и нам все еще нужно разработать хорошие способы надежной проверки информации об отзыве для небраузерных клиентов.