По умолчанию Let’s Encrypt использует запрос HTTP-01 для проверки права собственности. Запрос HTTP-01 помещает файл в корневой каталог вашего веб-сервера и использует DNS-имя веб-сервера для получения файла. Если файл можно получить из Интернета, проверяется авторитетность доменного имени и выдается сертификат SSL. Это хорошо для большинства серверов и домашних пользователей, которые могут позволить себе общедоступный IP-адрес от своего интернет-провайдера (ISP).
Но что, если вы хотите использовать SSL-сертификаты Let’s Encrypt для доменных имен вашей домашней сети или частной/внутренней сети? Что ж, в большинстве домашних сетей получение SSL-сертификата Let’s Encrypt является непростой задачей, поскольку, скорее всего, ваш интернет-провайдер не предоставит вам общедоступный IP-адрес. Таким образом, вы не сможете пройти задание Let’s Encrypt HTTP-01 (поскольку ваши компьютеры/серверы недоступны из Интернета).
В этом случае вы можете использовать задание Let’s Encrypt DNS-01, чтобы получить сертификаты SSL для вашей домашней/внутренней сети. В этом методе Let’s Encrypt добавляет запись DNS TXT для «поддомена _acme-challenge.yourdomain.xyz» на ваш DNS-сервер и проверяет, доступна ли запись DNS TXT из Интернета. Если запись TXT совпадает, вы подтверждаете, что являетесь владельцем домена, и Let’s Encrypt выдает SSL-сертификат.
Чтобы задача Let’s Encrypt DNS-01 работала и автоматически обновляла сертификат SSL, вы должны использовать поставщика услуг DNS (например, CloudFlare, DigitalOcean), который предоставляет API, который можно использовать для добавления/удаления записей TXT на DNS-сервере.
Если ваш регистратор DNS (где вы зарегистрировали доменное имя) не поддерживает такие услуги, вы можете использовать стороннего поставщика услуг DNS. Все, что вам нужно сделать, это изменить адрес DNS-сервера имен вашего домена с DNS-сервера вашего DNS-регистратора на адрес DNS-сервера имен желаемого стороннего поставщика услуг DNS.
Тема содержания:
- Список провайдеров DNS, которые легко интегрируются с проверкой DNS Let’s Encrypt
- Список клиентов Let’s Encrypt ACME
- Изменение DNS-сервера имен у регистратора домена
- Преимущества проверки Let’s Encrypt DNS-01
- Недостатки проверки Let’s Encrypt DNS-01
- Заключение
- Рекомендации
Список провайдеров DNS, которые легко интегрируются с проверкой DNS Let’s Encrypt
Сообщество Let’s Encrypt составило список DNS-провайдеров которые предоставляют своего рода API для автоматического добавления/удаления записей DNS, чтобы клиенты Let’s Encrypt могли проверять доменные имена и выдавать сертификаты SSL.
Список провайдеров DNS, которые легко интегрируются с проверкой DNS Let’s Encrypt, можно найти по адресу эта ссылка .
Список клиентов Let’s Encrypt ACME
Клиенты Let’s Encrypt также называются клиентами ACME. ACME означает среду автоматического управления сертификатами. ACME — это протокол для автоматизации взаимодействия между компьютером/сервером и центром сертификации (т. е. Let’s Encrypt).
Наиболее популярные ACME-клиенты Let’s Encrypt:
Изменение DNS-сервера имен у регистратора домена
Если регистратора вашего домена нет в списке поставщиков DNS, которые легко интегрируются с Let’s Encrypt, вы можете использовать CloudFlare или других сторонних поставщиков услуг DNS. Все, что вам нужно сделать, это изменить DNS-сервер имен вашего домена с панели управления регистратора вашего домена на DNS-сервер имен стороннего поставщика услуг DNS, которого вы хотите использовать.
На следующем снимке экрана мы показали вам процесс изменения DNS-сервера имен (на DNS-сервер CloudFlare) для одного из наших доменов с панели управления/веб-сайта нашего регистратора доменов (где мы зарегистрировали наше доменное имя). Для вашего регистратора доменов процесс должен быть аналогичным. Для получения дополнительной информации прочтите документацию вашего регистратора домена или свяжитесь с ним.
Преимущества проверки Let’s Encrypt DNS-01
Преимущества проверки DNS-01 от Let’s Encrypt:
- Для этого не требуется общедоступный/доступный в Интернете IP-адрес или веб-сервер.
- Вы можете использовать его для выдачи сертификатов SSL для доменных имен с подстановочными знаками (например, *.nodekite.com, *.linuxhint.com).
- Это хорошо работает для нескольких веб-серверов.
Недостатки проверки Let’s Encrypt DNS-01
Несмотря на множество преимуществ проверки Let’s Encrypt DNS-01, есть и некоторые недостатки:
- Чтобы проверка DNS-01 работала, вам необходимо хранить ключ/токен API вашего поставщика услуг DNS на сервере, который клиент Let’s Encrypt будет использовать для создания записи TXT на DNS-сервере для проверки DNS-01. Поскольку ключ/токен API хранится на сервере, в случае взлома сервера существует вероятность того, что ключ/токен API будет скомпрометирован.
- После того как клиент Let’s Encrypt добавит запись TXT на DNS-сервер, потребуется некоторое время, чтобы распространить изменения на другие DNS-серверы имен по всему миру. Клиенту Let’s Encrypt необходимо дождаться распространения изменений на общие DNS-серверы имен по всему миру, чтобы подтвердить право собственности на домен. Если ваш поставщик услуг DNS не предоставляет время распространения DNS в API, клиент Let’s Encrypt не будет знать, как долго ждать распространения изменений DNS на другие серверы имен по всему миру. В этом случае время проверки DNS может истечь, и Let’s Encrypt может не выдать SSL-сертификат.
Заключение
В этой статье мы обсудили задачу Let’s Encrypt DNS-01 и зачем использовать ее вместо задачи HTTP-01 по умолчанию для проверки права собственности на доменное имя. Мы также обсудили требования для прохождения конкурса Let’s Encrypt DNS-01 для получения SSL-сертификата Let’s Encrypt. Мы перечислили поставщиков услуг DNS, которые хорошо интегрируются с Let’s Encrypt, а также клиентов Let’s Encrypt ACME, которые вы можете использовать для выполнения проверки DNS со своего компьютера/сервера. Наконец, мы обсудили преимущества и недостатки проверки DNS Let’s Encrypt.
Использованная литература:
- Типы задач – давайте зашифруем
- Поставщики DNS, которые легко интегрируются с проверкой DNS Let’s Encrypt – Технология выдачи – Поддержка сообщества Let’s Encrypt
- Среда автоматического управления сертификатами — Википедия
- Сертбот
- GitHub – acmesh-official/acme.sh: чистый сценарий оболочки Unix, реализующий клиентский протокол ACME.
- Установка :: Клиент Let’s Encrypt и библиотека ACME, написанные на Go.
- Главная — Пош-АКМЕ