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

Бесплатные SSL-сертификаты от Let’s Encrypt

В прошлом году Google дал понять всем, что пришло время добавить SSL-сертификаты на свои сайты . Сайты, использующие безопасное соединение, теперь будут предпочтительны по умолчанию. В этом смысле в последнее время (уже довольно давно) вокруг бесплатных SSL-сертификатов ходит ажиотаж. При поддержке Linux Foundation, Mozilla, Facebook, Akamai, Cisco и многих других важных гигантов ИТ-индустрии родился проект Let’s Encrypt.

Проект в первую очередь ориентирован на защиту Интернета, поскольку а также облегчение жизни рядовым веб-разработчикам (все эти неразберихи с генерацией приватных ключей, CSR, подтверждением доменных прав, настройками веб-сервера и т.п. перезаписываются). Кроме того, SSL-сертификаты , выпущенные Let’s Encrypt, полностью бесплатны . Они верные, но они базовые и срок действия ограничен 3 месяцами (но это совсем не проблема, т.к. продление может быть установлено автоматически).

Сразу скажу, что у меня есть разместил на своем блоге сертификат Let’s Encrypt.

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

Весь процесс работы с сервисом осуществляется с помощью скрипта letsencrypt python, на данный момент не во всех дистрибутивах linux есть пакеты letsencrypt, поэтому официальная документация рекомендует устанавливать его после клонирования репозитория git github.

letsencrypt-auto — последовательность команд оболочки для letsencrypt , который автоматизирует процесс развертывания. Короче говоря, скрипт загружает все необходимые зависимости, генерирует отдельную виртуальную среду для Python с помощью virtualenv, устанавливает необходимые модули Python, не перегружая систему Python. Стоит отметить, что для корректной работы скрипта необходимы права на запись в системные каталоги (sudo).

Так как скрипт призван максимально упростить работу по установке сертификатов безопасности, он поддерживает Системный плагин. В стандартной раздаче, например, есть плагин для работы с Apache (полностью функционален) и nginx (пока только в экспериментальной фазе).

Установить SSL-сертификат для Apache

Мой блог работает на стеке LAMP, т.е. Linux, Apache, MySQL и PHP. Разработчики Let’s Encrypt пошли дальше и упростили настройку сертификата для Apache. Весь процесс сводится к следующим шагам:

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

  • Проверить право собственности на домен
  • Выдать требуемый сертификат на 90 дней
  • Выполнить все шаги, необходимые для установки поднимаем веб-сервер Apache

После всех этих манипуляций все, что мне нужно было сделать, это настроить 301 редирект (переехал навсегда) с http на https и перезапустить веб-сервер.

Ситуация с конфигурацией nginx хуже, в основном из-за того, что этот плагин по-прежнему не работает вместе с letsencrypt-auto. При необходимости настроить SSL-сертификаты для nginx (а nginx и так один из самых популярных веб-хостов), я бы рекомендовал делать это вручную. Как это сделать, читайте ниже.

Настройка SSL-сертификатов для других веб-серверов

Помимо плагина для работы с Apache, letsencrypt включает в себя несколько других, а именно:

Standalone

Суть standalone заключается в том, что во время процедуры получения сертификата (для подтверждения владения доменом) скрипт попытается открыть собственный веб-сервер, и для этого необходимо будет отключить тот который уже запущен, чтобы освободить порты 80 и 443. Для большинства веб-разработчиков этот вариант неудобен из-за необходимости отключения сети.

Webroot

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

При использовании этого параметра необходимо настроить веб-сервер для чтения файлов.

Вручную

Из названия можно догадаться, что настройка и установка SSL-сертификата будет производиться вручную 🙂 Пожалуй, сейчас самый удобный вариант настроить сертификат для nginx из-за «влажность» от плагина letsencrypt nginx.

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

Читайте также:  Как получить копию судебного постановления у судебных приставов

Настройка SSL в Nginx

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

  • privkey.pem — наш приватный ключ
  • cert.pem — сертификат сервера
  • chain.pem — корневой (root) и промежуточный (intermediate)
  • fullchain.pem: все сертификаты, необходимые для настройки веб-сервера.

Как в этом случае будет выглядеть конфигурация Nginx?

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

Продление SSL-сертификата

Я упоминал ранее, что бесплатные SSL-сертификаты «живут» только 90 дней, так что после истечения срока вам придется начать процедуру продления, потому что это также бесплатно 🙂

Как работает процесс продления?

Согласно Let’s Encrypt, до истечения срока дату, отправил письмо с уведомлением на соответствующую почту, указанную при создании, о том, что пора обновить сертификат. Чтобы сделать это вручную, просто введите команду:

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

Если вы используете Windows, letsencrypt можно реализовать с помощью Vagrant или Docker. Правда, в этом случае вам придется вручную переместить все файлы на сервер, чтобы правильно настроить веб-сервер.

💌 Присоединяйтесь к списку рассылки

Понравился контент? Подпишитесь на информационный бюллетень.

Источник

Начало работы

Чтобы включить HTTPS на своем веб-сайте, вы должны получить сертификат (тип файла) от центр сертификации (ЦС). Let’s Encrypt — это ЦС. Чтобы получить сертификат для домена вашего сайта от Let’s Encrypt, вам необходимо подтвердить контроль над доменом. С помощью Let’s Encrypt вы делаете это с помощью программного обеспечения, использующего протокол ACME, которое обычно работает на вашем веб-узле.

Чтобы определить, какой метод вам больше подходит, вам нужно знать, есть ли у вас доступ к оболочке ( также как SSH-доступ) к вашему веб-хосту. Если вы управляете своим веб-сайтом исключительно через панель управления, такую ​​​​как cPanel, Plesk или WordPress, есть большая вероятность, что у вас не будет доступа к оболочке. Чтобы убедиться в этом, обратитесь к своему хостинг-провайдеру.

С доступом к командной строке

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

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

Если вы экспериментируете с другими клиентами ACME, используйте наш рабочий стол, чтобы избежать ограничений скорости.

Без оболочки. access

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

Посмотрите наш список хостинг-провайдеров, чтобы узнать, есть ли в нем ваш. Если это так, следуйте их документации, чтобы настроить сертификат Let’s Encrypt.

Если ваш хостинг-провайдер не поддерживает Let’s Encrypt, вы можете обратиться к ним за помощью. мы делаем все возможное, чтобы упростить добавление поддержки Let’s Encrypt, и провайдеры часто рады услышать предложения клиентов!

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

Читайте также:  Как получить личную электронную подпись для госуслуг

Как получить помощь

Если у вас есть вопросы о выборе клиент ACME или использование определенного клиента или что-либо еще, связанное с Let’s Encrypt, попробуйте наши полезные форумы сообщества.

Источник

Презентация работы

чтобы включить протокоетро https на вашем сайте, ваиенен необхтимометраје полчит сертифат (оо фиф. Let’s Encrypt — это как раз ЦС. Предварительно программа для домашнего сайта от Let’s Encrypt, вам необходимо подтвердить провокацию на дедень. Vamos a encrypt делает от с поеенощ сециального по, истим .

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

У вас есть доступ SSH?

Большинству людей с доступом по SSH мы рекомендуем использовать клиент ACME Certbot. Автоматизируйте выпуск и установку сертификатов без перерыва. Он также имеет экспертные режимы для людей, которые не хотят использовать автоматические настройки. Он прост в использовании, работает на большинстве операционных систем и хорошо документирован. Посетите веб-сайт Certbot для получения инструкций по настройке операционной системы и веб-сервера.

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

Если вы экспериментируете с различными клиентами ACME, используйте нашу тестовую среду, чтобы избежать ограничений скорости.

Нет доступа по SSH?

Лучший способ использовать Let’s Encrypt без SSH — использовать встроенную поддержку вашего хостинг-провайдера. Если ваш хостинг-провайдер предлагает поддержку 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: Получение сертификата Шаги

В этой статье описывается фактический способ получения сертификата от Let’s Encrypt в ручном режиме для его последующая установка на веб-сервер Windows (IIS/Microsoft Azure) или Linux (полностью ручной режим). Поскольку официального клиента для Windows нет, будет использоваться дистрибутив Linux .

для создания сертификата.

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

Читайте также:  Как получить лунный меч бладборн

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

Как это работает

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

Назначение пакета Automated Certificate Management Environment (ACME) (написанного на Python) — автоматизировать создание и установку сертификатов в среде Linux.

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

Пошаговый процесс

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

[01.11.17] Новый клиент CertBot

Незначительное обновление статьи в 2017 г.
Теперь вы можете установить CertBot и получить сертификат вручную .

1. Скачать дистрибутив

2. Настройки права доступа к файлам

chmod a+x certbot-auto

3. Начать получение сертификата вручную

./certbot-auto certonly —authenticator manual

4 , Следуйте инструкциям программы (см. подробные инструкции ниже, начиная с шага 4).

Подробные инструкции (старый клиент — все еще работает)

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

1. Загрузите ваш любимый дистрибутив Linux (мы используем Debian 8).

или 2. Установите Git и выполните следующие команды:

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

или 2. Загрузите и распакуйте этот файл в папку и перейдите к этой папке

3. Запустите установку и выполните сборку с помощью

./ letsencrypt-auto —agree-dev-preview —server \https://acme-v01.api.letsencrypt.org/directory -ручная аутентификация

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

4. Далее введите домены, для которых вы хотите создать сертификаты

5. Подтвердите, что ваш адрес сохраняется в реестрах Let’s Encrypt

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

Незначительное изменение с сентября 2016 г. в процессе получения сертификата. Спасибо toxi_roman за обновление.

Это один из критических моментов в ручном режиме регистрации.
Примечание: нас просят создать ответ на запрос, который возвращает тип содержимого/обычный текст .

Этот ответ завершится ошибкой, и фиксация вернет ошибку:

Это должно выглядеть так:

Если у вас Windows server (с поддержкой Razor Views, аналогично MVC), то проще всего создать правильный ответ:
а) создать папку .well-known и внутри нее папку acme-challenge
б) положить туда файл [request ].cshtml
в) добавить к содержимому этого файла:
@ проверочный код сюда

7 После успешной проверки они будут находиться в папке следующих сгенерированных сертификатов /etc/letsencrypt/live/[domainname] :

privkey.pem : закрытый ключ для сертификата
Использует Apache для SSLCertificateKeyFile и nginx для key_ssl_certificate_key.

cert.pem (сертификат сервера)
Используется Apache для SSLCertificateFile.

chain.pem (сертификат цепочки)
Также использует Apache для SSLCertificateChainFile.

fullchain.pem (связывание chain.pem и cert.pem)
Nginx также использует его для ssl_certificate.

7. Теперь пришло время преобразовать его в собственный формат Windows .pfx .
Перейти в папку /etc/letsencrypt/live/[имя домена] (открыть терминал в режиме администратора командой su):

cd /etc/letsencrypt/live /[имя домена]

Запустить OpenSSL командой:

и запустить преобразование командой:

pkcs12 -inkey privkey.pem -in fullchain.pem — export -out mydomain.pfx

Вы будет запрошен пароль и его подтверждение.

7.2 Закройте OpenSSL с помощью quit

7.3 Скопируйте полученный файл в наш пользовательский каталог
cp —no-preserve=all mydomain.pfx /home/(username)/Documents

8. Мы получили сертификат mydomain. pfx , который теперь мы можем использовать в среде Windows.

Чтобы обновить сертификат вручную:
./letsencrypt-auto certonly —renew-by-default -a manual

Важно знать, что сертификаты Let’s Encrypt действительны в течение 90 дней. Рекомендуется обновлять их каждые 60 дней. Уведомления об истечении срока действия сертификата будут отправлены на адрес электронной почты, указанный вами для генерации.

Я хотел бы услышать ваши комментарии или предложения по статье.

Источник

Поделиться с друзьями
Решатор
Adblock
detector