- Бесплатные SSL-сертификаты от Let’s Encrypt
- Установить SSL-сертификат для Apache
- Настройка SSL-сертификатов для других веб-серверов
- Standalone
- Webroot
- Вручную
- Настройка SSL в Nginx
- Продление SSL-сертификата
- 💌 Присоединяйтесь к списку рассылки
- Начало работы
- С доступом к командной строке
- Без оболочки. access
- Как получить помощь
- Презентация работы
- У вас есть доступ SSH?
- Нет доступа по SSH?
- Нужна помощь?
- Let’s Encrypt: Получение сертификата Шаги
- Как это работает
- Пошаговый процесс
Бесплатные 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 дней. Уведомления об истечении срока действия сертификата будут отправлены на адрес электронной почты, указанный вами для генерации.
Я хотел бы услышать ваши комментарии или предложения по статье.
Источник