Получение бесплатного SSL сертификата
На дворе май 2017-го, а браузеры продолжают путь к «защищённому» интернету, смысл которого заключается в обязательной ssl-сертификации всех сайтов. Этот путь начался давно англ и, некоторое время назад Chrome начал дописывать «Информацию о сайте», в котором указано, что соединение с сайтом не защищено. Mozilla пошла дальше и теперь при заполнении форм входа на сайт, пользователи стали получать сообщение:
Это соединение не защищено. Логины, введенные здесь, могут быть скомпрометированы.
Описание данного явления можно увидеть на официальном сайте Mozilla.
Здорово, Mozilla! Молодцы, Mozilla! Теперь, для любого смертного, попадающего на Ваш сайт, это сообщение выглядит как: Эй, человек! Этот сайт очень страшный и опасный, и он точно сломает твой компьютер. А если не cломает то украдёт твои деньги!
Конечно, я утрирую, но такие надписи значительно уменьшают уровень доверия к сайту.
Ну что ж. Надо, так надо. Попробуем разобраться, что можно сделать без денег.
Если Ваш сайт имеет под собой коммерческую основу, то Вам ничего не стоит потратить хотя бы $100 — $200, чтобы купить нормальный сертификат. Но те, которые хотят «таблеток от жадности, да побольше!», и сертификат желают получить нахаляву (а лучше два =) ). Я, со своим блогом, тоже в этом клане и для нас нищебродов есть сайты, которые выпускают бесплатные сертификаты. Их полно, но два отличаются особо: StartSSL и Let’s Encrypt.
Бесплатный сертификат от StartSSL
StartSSL, который переехал на адрес startcomca.com англ раздаёт сертификаты давно и даже статьи на хабре
Бесплатные сертификаты от StartSSL не валидны
С 21-го октября 2016 года браузеры перестали доверять CA StartSSL и WoSign. Так описывают эту причину Google англ. StartSSL сообщают, что исправят проблемы в течении полугода.
Чтобы получить бесплатный сертификат от StartSSL, необходимо:
- Зарегистрироваться на startcomca.com англ
- Подтвердить право владения доменом(и) (верификация)
- Сгенерировать
- Прикрепить полученный сертификат к домену
1. Регистрация в startcomca.com
Регистрация англ простая. Пароля нет, почту подтверждать не надо. Каждый последующий вход выполняется путём получения кода для входа на почту.
2. Верификация
Верифицировать можно разными способами. Мы берём бесплатный сертификат, поэтому любой способ подойдет.
Верификация проходит также как и в большинстве других случаев: подтверждением владения почты административной почты. На почту приходит код, вводим его, профит. После этого в правом столбце у Вас появится подтверждённое доменное имя.
3. Запрос на сертификат
Теперь у нас есть подтвержденный домен и можно приступать к получению сертификата. Выбираем самый простой тот, что бесплатный
Этот шаг занимает чуть больше времени, чем остальные, но тоже прост: заполняем форму и отправляем.
- Указываем до 10-ти доменных имен
- Выбираем способ генерации CSR
Выполняем команду и генерируем CSR. В процессе генерации CSR Вам будет задан ряд вопросов, ответы на которые необходимо вводить в латинской раскладке. Достаточными являются:
- Country Name (2 letter code) [AU] — страна регистрации организации, для которой получаем сертификат (для Росcии — RU)
- State or Province Name (full name) [Some-State] — область, регион регистрации организации (Москва — Moscow)
- Locality Name (eg, city) [] — город регистрации организации (Москва — Moscow)
- Organization Name (eg, company) [Internet Widgits Pty Ltd] — наименование организации
- Common Name (e.
Пример запуска и результат команды
openssl req -newkey rsa:2048 -keyout mbaev.key -out mbaev.csr Generating a 2048 bit RSA private key ..................................................+++ .............................................................+++ writing new private key to 'mbaev.key' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:RU State or Province Name (full name) [Some-State]:Samara Locality Name (eg, city) []:Samara Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mbaev's blog Organizational Unit Name (eg, section) []: Common Name (e.
g. server FQDN or YOUR name) []:mbaev.com Email Address []: ---- Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:Далее открываем сформированный <файл>.csr, копируем содержимое и вставляем в ожидающее нас поле.
Отправляем и смотрим результат
4. Крепление сертификата к домену
Начать стоит, безусловно, со скачивания самого сертификата. Список всех сертификатов можно увидеть на странице Certificate list.
В скачанном архиве будет несколько папок и куча сертификатов. Это все один и тот же сертификат, только используется в разных случаях.
Сам процесс крепления обычно начинается и заканчивается запросом в службу техподдержки, где вам нужно будет предоставить полученный архив и файл с расширением .key, который Вы сформировали самостоятельно.
Сертификат от Let’s Encrypt
Однажды, два сотрудника из Mozilla почесали и репу и сказали: «Ёшки-матрёшки! Да что ж это такое?! Сертификаты — это же, всего лишь, единицы и нули. А почему бы нам не раздавать их всем желающим?.. Ну хотя бы тем, у кого нет коммерческой подоплёки?». Другие воскликнули: «Да! Давайте раздавать!». Так возникла идея автоматизированного сервиса по выдаче бесплатных сертификатов сроком на 90 дней, которую, мы теперь знаем под названием Let’s Encrypt.
Этот сервис полностью автоматизирован. Он устанавливается на хостинг за 15 минут, а процедура получения сертификата занимает до 30 секунд, в которую входит выполнение 2-х команд.
Установка CertBot’а — это отдельная тема, но всё же приведу несколько ссылок:
- Описание установки англ
- Список хостингов поддерживающих Let’s Encrypt англ
IT-Patrol
Хостинг, который вызывает у меня симпатию IT-Patrol, тоже поддерживает автоматизированный выпуск сертификатов от Let’s Encrypt. Этот хостинг «заточен» на работу с cms Drupal всех версий и нынче он располагается по адресу drupalhosting. ru . Моё последнее обращение к ним началось с просьбы о подключении автогенерации сертификата от Let’s Encrypt. Наше общение было такое же простое, лёгкое и приятное, как все предыдущие и через некоторое время я получил заветное сообщение «Подключили сертификаты. Проверьте, пожалуйста.»
That’s it.
Полезные ссылки
- Генерация self-signed сертификата
Please enable JavaScript to view the comments powered by Disqus.
Бесплатный валидный (подписанный) SSL-сертификат через StartSSL — kurazhov’s blog
*копипаста с этого блога
Бесплатный валидный (подписанный) SSL-сертификат через StartSSL
Итак, вы хотите получить бесплатный SSL-сертификат для своего сайта (для HTTPS). На сколько я знаю, единственный сервис, который выдает бесплатные валидные годовые сертификаты — это StartSSL. Израильская компания занимается цифровой сертификацией и является официальным Центром сертификации (CA) в PKI.
StartSSL раздает валидные годовые SSL-сертификаты бесплатно. Другие компании берут за это деньги начиная примерно от $20 в год. StartSSL зарабатывает на сертификатах более высоких классов, включая сертификат с расширенной валидацией, а базовый сертификат делает бесплатно. Их идея заключается в том, что они не берут деньги за сервис, в котором не используется труд людей (базовая валидация домена производится автоматически).
1. О системе StartSSL и их сертификатах
Особенность функционирования сайта StartSSL заключается в том, что авторизация в панель управления производится через клиентский S/MIME сертификат. Это большая редкость в наши дни. Отсюда возникает непонимание процесса неподготовленными пользователями и тупняк на этапе освоения сервиса.
Суть заключается в том, что вместо логина и пароля вам выдается сертификат. Почти такой же сертификат, какой выдается для подтверждения подлинности сервера. Этот сертификат отправляет на сервер ваш браузер при авторизации (автоматически после вашего подтверждения). Браузер берет его из хранилища, куда сертификат должен быть импортирован до проведения авторизации. Если сертификата в хранилище не окажется, то при авторизации вы увидите браузерное сообщение об ошибке, на подобии «Не удаётся завершить защищённую транзакцию».
Чтобы получить бесплатный сертификат для вашего сайта, нужно зарегистрироваться в сервисе StartSSL и получить персональный сертификат, войти с его помощью в панель, после чего можно будетзаказать и получить бесплатный SSL-сертификат для вашего сайта.
Персональный сертификат действует 1 год и его необходимо своевременно обновить за месяц до конца срока действия, иначе вы потеряете доступ к панели.
Так же следует сразу отметить, что получить сертификат можно только для доменов из фиксированного списка зон. Это домены второго уровня во всех региональных и коммерческих зонах первого уровня, а так же отдельные зоны второго уровня (с доменами третьего уровня).
Кроме того, на домене должна работать почта. На один из ящиков из фиксированного списка (webmaster@домен, postmaster@домен, hostmaster@домен или адреса, указанные в Whois) придет письмо с кодом проверки.
2. Регистрация
Зайдите на сайт StarSSL и начните регистрацию (кликаем Sign-up). При этом нельзя использовать Google Chrome (можно Opera, Firefox, IE)(*на момент 09.03.2016 данным браузером пользоваться можно).
Интерфейс сайта примерно с января 2016 года претерпел значительные изменения, но суть картинок не поменялась.
2.1. Заполните форму. Укажите свои реальные данные. Во-первых, этого требует соглашение, с которым вы соглашаетесь при регистрации. Во-вторых, эти данные проверяются вручную. В-третьих, указывать здесь фейковый данные смысла мало, т.к. кроме самого StartSSL их никто не увидит.
2.2. Укажите код подтверждения e-mail-а. Как правило, письмо с кодом приходит сразу или в течение минуты.
2.3. Дождитесь проверки указанных данных персоналом StartSSL.
Они могут задать дополнительные вопросы по e-mail для уточнения регистрационных данных. Отвечать на них имеет смысл, и опять-таки — честно.
После подтверждения аккаунта персоналом вам прийдет второе письмо с кодом проверки. Переходите по ссылке из второго письма, указывайте второй код активации, попадете на страницу генерации ключа персонального сертификата:
Для генерации ключа выбираем 2048 бит (в выпадающем меню), так как меньшую битность StartSSL не поддерживает, а в большей едва ли есть смысл.
После нажатия «Continue» генерируется ключ заданной длины. Он сохраняется в браузере и отправляется на сервер. Там генерируется сертификат на основании этого ключа. После генерации сертификат передается (после нажатия «Install») вам — в браузере появляется окно, предлагающее его установить.
Устанавливаем обязательно.
2.4. На данный момент картина следующая: у вас есть подтвержденная учетная запись StartSSL и персональный сертификат, установленный в браузер, который заменяет для вас одновременно логин и пароль.
Этот сертификат необходимо «достать» из браузера и сохранить в надежном месте. В случае потери установленного сертификата (например, переустановка ОС или браузера) вы сможете его вновь импортировать. Кроме того, сертификат нужен для того, чтобы войти в панель с другого компьютера.
Конкретные действия для экспорта сертификата зависят от вашего браузера. Общее лишь то, что вы должны попасть в управление хранилищем сертификатов, найти там свой персональный сертификат StartSSL и экспортировать его в файл. В Opera это делается так:
В Google Chrome: Настройки — Сертификаты. Вылезет стандартное диалоговое окно системы.
Формат экспорта — с секретным ключем PKCS#12. Если такого формата нет и вы не знаете, какой формат экспорта лучше выбрать (при условии, что их несколько), экспортируйте во все :). Если вы экспортируете сертификат без ключа, смысла в этом не будет — он не будет работать.
Если вы потеряете сертификат, утратите доступ к панели. Это значит, что для получения новых сертификатов и продления старых (через выписку нового), необходимо будет заново регистрироваться.
3. Итак, ваша учетная запись подтверждена и у вас есть персональный сертификат для авторизации в панели StartSSL. Теперь самое время зайти в панель. Нажимаем на кнопку с ключами и попадаем на страницу авторизации (смотрите на первом изображении в статье). Нажимаем «Authenticate». Подтверждаем передачу серверу нашего персонального сертификата. Авторизация пройдена — вы в панели.
Если на этом этапе вы получаете ошибки, значит что-то не то с сертификатом. Если браузер при авторизации не выдавал вам предложения отправить сертификат на сервер, значит он не импортирован в хранилище (см. выше).
Самое тяжелое позади. Теперь необходимо заказать и получить сертификат для вашего сайта. Он будет выдан на год. Спустя 11 месяцев необходимо зайти на сайт и получить новый сертификат на тот же сайт (то же имя). Как таковой процедуры продления сертификатов нет ни для сайта, ни для персональных сертификатов. Об окончании срока действия сертификатов StartSSL несколько раз предупреждает по почте. (заметка о продлении сертификата)
Панель StartSSL состоит из 3-х разделов (вкладки на изображении выше):
- Tool Box — инструментарий. Большая его часть бесполезна. Можно отметить только разделы для получения корневых и промежуточных сертификатов StartSSL и получения ранее созданных сертификатов.
- Certificates Wizard — мастер создания нового сертификата. С него начинается заказ нового сертификата для сайта или персонального сертификата. Для создания сертификата должен быть заранее подтвержден домен или адрес e-mail соответственно.
- Validations Wizard — это как раз и есть мастер проверки сайта и e-mail (а кроме того платных проверок личности и организации). С него нужно начинать получение сертификата для сайта. Каждая проверка действует 30 дней, так что при «продлении» сертификатов проверки необходимо повторять.
Итак, начинаем процесс получения сертификата для сайта.
3.1. Проверка (валидация) домена. Переходим в Validations Wizard, выбираем проверку домена (Domain Name Validation):
На следующем шаге укажите домен. После выбора домена необходимо выбрать из списка предложенных e-mail, на который придет письмо с кодом для проверки принадлежности домена. Письмо как правило приходит быстро, ввод кода подтверждения аналогичен, как при регистрации.
3.2. После проверки принадлежности домена нужно заказать для него сертификат. Для этого перейдите в Certificates Wizard, выберите Web Server SSL/TSL Certificate. Далее выберите из списка один из предварительно проверенных доменов.
На следующем шаге есть два варианта:
- пропустить шаг и предоставить собственноручно сгенерированный CSR со своим приватным ключем,
- или заполнить форму и сгенерировать приватный ключ в браузере.
Первый вариант выбирают те, кто знает, что такое CSR и как его сделать. В любом случае обратите внимание на то, что размер ключа (Keysize) не должен быть менее 2048 бит.
Предположим, что выбран вариант с генерацией ключа. Тогда заполните форму и нажмите «Continue». После некоторой паузы вы получите свой ключ. Сохраните его, он пригодится позже.
На следующем шаге повторно выберите домен. Далее, укажите для него поддомен. Сертификат будет действителен для выбранного домена и указанного сабдомена (например, www).
На следующем шаге просто подтверждается заказ сертификата. После этого вы получите сам сертификат (PEM-encoded). Сохраните его.
Процесс получения сертификата на этом завершен. В результате у вас есть 2 файла: приватный ключ и сертификат. Их нужно указать в конфигах вашего веб-сервера. Приватный ключ необходимо предварительно расшифровать командой:
openssl rsa -in ssl.key -out ssl.key
О том, как настроить веб-сервер для использования полученного сертификата, можно прочитать здесь. А вообще, по этой теме хватает информации в Интернете.
Источник —
Тема с установкой сертификата на веб-сервер смотрите тут — https://kurazhov.ru/tls-apache/
Как выдать или обновить SSL-сертификат в StartSSL · Франческо Пира
StartSSL — это служба, запущенная StartCom для выдачи SSL-сертификатов различного типа. Это один из крупнейших ЦА в мире. Большая часть его предложения — сертификаты класса 1, выдаваемые бесплатно. Они не поддерживают подстановочные знаки и действуют всего 1 год, но это не будет стоить вам ни цента!
Есть много причин для перехода на HTTPS, даже для вашего небольшого личного веб-сайта. Ваши посетители это оценят. Я нашел это полезным, но не очень интуитивным. Многие статьи ссылаются на старый пользовательский интерфейс StartSSL, поэтому я решил упростить процесс, написав руководство, чтобы помочь людям начать работу.
В приведенных ниже шагах yourwebsite
может быть чем-то вроде yourdomain.com
или stuff. yourdomain.com
. Таким образом, вы также можете бесплатно выпускать сертификаты для доменов третьего уровня. Бесплатные сертификаты не поддерживают подстановочные знаки и за последний 1 год , но вы можете выдать несколько сертификатов, по одному на домен.
Генерация ключа
Прежде всего, войдите на сервер как пользователь root.
openssl genrsa -des3 -out example.com.key.enc 4096
О приведенной выше команде:
-
-rand/var/log/messages
используется для некоторой случайности -
-des3
для защиты нашего ключа -
4096
хорошо. 8192 — это пустая трата ресурсов процессора, и даже не все поставщики сертификатов поддерживают его.
Создать CSR (запрос на подпись сертификата)
# openssl req -new -sha256 -key example.com.key.enc -out example.com.csr
Введите пароль, который вы использовали ранее, и введите запрошенную информацию (вы можете найти пример ниже).
Получение сертификата
Вход в систему startupsl.
В вашей системе должен быть установлен сертификат S/MIME. Этот сертификат предоставляется в процессе регистрации.
Если вас попросят подтвердить адрес электронной почты, сделайте это. Если вы подтвердили свою электронную почту за последние 30 дней, вам не будет предложено это сделать. После этого шага вы можете продолжить следовать этому руководству.
Перейдите к мастеру сертификатов и выберите Сертификат SSL/TLS веб-сервера .
На следующем шаге вставьте домен и выберите Сгенерировано мной
Если вам будет предложено подтвердить свой домен, сделайте это.
# кошка example.com.csr
и скопируйте/вставьте содержимое в StartSSL, включая BEGIN AND END LINES
! .
Теперь вы можете загрузить свой сертификат. Иногда приходится ждать до 3 часов, пока он будет готов.
Подготовка к установке сертификата
Загрузите сертификат, полученный на предыдущем шаге, на сервер. /root
каталог в порядке.
Теперь необходимо расшифровать сгенерированный ранее SSL-ключ (иначе пароль будет требоваться после каждой перезагрузки сервера). Конечно, используйте пароль, установленный ранее.
# openssl rsa -in yourwebsite.key.enc -out yourwebsite.com.key
Начиная с переработанной версии веб-сайта startupsl, они предоставляют вам промежуточный сертификат и вместе с вашим сертификатом ключа.
Если вы берете «версию nginx» сертификата, обратите внимание, что сертификат закрытого ключа и промежуточный сертификат уже связаны цепочкой . Имя должно быть примерно таким: 1_yourwebsite.com_bundle.crt
. Вы уже можете переименовать его как yourwebsite.com.crt и поместить в каталог /etc/nginx/ssl/
. Этот файл будет указан записью ssl_certificate
в файле конфигурации nginx для домена yourwebsite.com
.
Если вам нужно связать сертификат вручную, пожалуйста. Для Nginx мы должны объединить промежуточный сертификат StartSSL с нашим собственным сертификатом.
# cat 2_yourwebsite.com.crt 1__Intermediate.crt > yourwebsite.com.crt (если бы это было в формате pem, это было бы # cat example.com.pem sub.class1.server.sha2.ca.pem > example.com_chain.pem)
Развертывание
Будьте осторожны: Как указано в документации nginx SSL, в файле конфигурации веб-сайта строка сертификата сервера должна быть вставлена ПЕРЕД строкой с ключом.
ssl_certificate /etc/nginx/ssl/example.com.crt; <--- прикованный! ssl_certificate_key /etc/nginx/ssl/example.com.key; <--- фактический ключ (незашифрованный)!
Рекомендуется размещать сертификаты в каталоге /etc/nginx/ssl/
. Так что поместите их в эту папку. Если хотите, можете переместить старые в /etc/nginx/ssl/old
.
корень: корень .
В самой папке должно быть drwxr-xr-x
права доступа и принадлежать root:root
.
dhparam.pem (dh5096.pem) также должен быть 400.
Finishing
Теперь просто перезапустите nginx, чтобы начать использовать новый сертификат и ключ.
# перезапуск службы nginx
Важно: Не забудьте удалить временные файлы, которые вы поместили в /root
, чтобы избежать проблем с безопасностью.
Готово!
Спасибо за внимание.
Как настроить и установить бесплатные SSL-сертификаты от StartSSL — jeedo.net
Создание файлов ключей и SSL-сертификата Во-первых, вам нужно сгенерировать все необходимые файлы для установки SSL-сертификата. Ниже описано, как создать и получить эти файлы. Создание закрытого ключа с помощью Openssl Запомните пароль, который вы ввели при генерации ключа, он понадобится вам позже.
openssl genrsa -des3 -out domain.key 2048
Создание запроса на подпись сертификата (CSR) Следуйте всем подсказкам и просто пропустите последние 2 расширенных вопроса (пароль запроса и необязательное название компании).
openssl req -new -sha256 -key domain.key -out domain.csr
Получите бесплатный сертификат от StartSSL Перейдите на https://www.startssl.com/ выполните аутентификацию, если у вас уже есть учетная запись, или зарегистрируйтесь, если ее нет. Подтвердите домен, для которого вы устанавливаете ssl: Создать сертификат Перейдите к мастеру сертификатов и выберите SSL/TLS-сертификат веб-сервера в качестве целевого сертификата, затем нажмите «Продолжить». Пропустите генерацию закрытого ключа, так как мы уже создали его ранее через openssl. Отправьте CSR, это будет domain.csr — сгенерированный ранее с помощью openssl. Откройте domain.csr в текстовом редакторе и скопируйте в него все содержимое. Убедитесь, что вы ничего не меняете в тексте. Если ваш CSR был сгенерирован должным образом, вы должны получить сообщение о полученном запросе сертификата. Нажмите Продолжить , в окне появится сообщение о том, что запрос сертификата получен, нажмите Продолжить еще раз, чтобы продолжить. В мастере сертификатов продолжите добавление домена, выберите домен, для которого вы настраиваете. Затем добавьте поддомен, обычно это «www» , но это может быть и другой поддомен в зависимости от вашей конфигурации. Помните, что вы можете проверить только один поддомен, поскольку это не сертификат SSL с подстановочными знаками. На этом этапе ваш сертификат должен быть готов к обработке. Нажмите Продолжить , чтобы продолжить. Сохраните свой ssl-сертификат, скопировав его в текстовом редакторе, таком как Notepad++, убедитесь, что нет лишних пробелов и т. д. Сохраните скопированный текст как ssl.crt . Вы закончили создание необходимых файлов ключей и сертификата ssl, но мы еще не закончили. Далее устанавливается этот сертификат на наш веб-сервер nginx.
Теперь нам нужно установить сертификат и настроить nginx для обслуживания через правильный порт. Начните с расшифровки закрытого ключа, используя пароль, который вы ввели ранее.