По подразбиране Let’s Encrypt използва предизвикателството HTTP-01, за да потвърди собствеността. Предизвикателството HTTP-01 поставя файл в Webroot на вашия уеб сървър и използва DNS името на уеб сървъра, за да извлече файла. Ако файлът може да бъде извлечен от интернет, авторитетът на името на домейна се проверява и се издава SSL сертификатът. Това е добре за повечето сървъри и домашни потребители, които могат да си позволят публичен IP адрес от своя доставчик на интернет услуги (ISP).
Но какво ще стане, ако искате да използвате SSL сертификатите Let’s Encrypt за имената на домейни на вашата домашна мрежа или частна/вътрешна мрежа? Е, в повечето домашни мрежи получаването на Let’s Encrypt SSL сертификат е предизвикателство, защото най-вероятно вашият интернет доставчик няма да ви даде публичен 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 доставчици, които се интегрират лесно с Let’s Encrypt DNS Validation
- Списък на клиенти на Let’s Encrypt ACME
- Промяна на DNS сървъра за имена от вашия регистратор на домейни
- Предимства на Let’s Encrypt DNS-01 Validation
- Недостатъци на Let’s Encrypt DNS-01 Validation
- Заключение
- Препратки
Списък на DNS доставчици, които се интегрират лесно с Let’s Encrypt DNS Validation
Общността Let’s Encrypt състави a списък с DNS доставчици които разкриват някакъв вид API за автоматично добавяне/премахване на DNS записите, така че клиентите на Let’s Encrypt да могат да валидират имената на домейни и да издават SSL сертификати.
Списъкът с DNS доставчици, които се интегрират лесно с Let’s Encrypt DNS валидирането, може да бъде намерен на тази връзка .
Списък на клиенти на Let’s Encrypt ACME
Клиентите на Let’s Encrypt се наричат още клиенти на ACME. ACME означава среда за автоматично управление на сертификати. ACME е протокол за автоматизиране на взаимодействието между компютъра/сървъра и сертифициращия орган (т.е. Let’s Encrypt).
Най-популярните клиенти на Let’s Encrypt ACME са:
Промяна на DNS сървъра за имена от вашия регистратор на домейни
Ако вашият регистратор на домейни не е в списъка с DNS доставчици, които се интегрират лесно с Let’s Encrypt, можете да използвате CloudFlare или други доставчици на DNS услуги на трети страни. Всичко, което трябва да направите, е да промените DNS сървъра за имена на вашия домейн от таблото за управление на вашия регистратор на домейни към DNS сървъра за имена на доставчика на DNS услуги на трета страна, който искате да използвате.
Показахме ви процеса на промяна на DNS сървъра за имена (към DNS сървъра на CloudFlare) за един от нашите домейни от таблото за управление/уебсайта на нашия регистратор на домейни (където сме регистрирали името на нашия домейн) в следната екранна снимка. Процесът трябва да е подобен за вашия регистратор на домейни. За повече информация прочетете документацията на вашия регистратор на домейни или се свържете с него.
Предимства на Let’s Encrypt DNS-01 Validation
Предимствата на DNS-01 валидирането на Let’s Encrypt са:
- Не изисква публичен/достъпен в интернет IP адрес или уеб сървър.
- Можете да го използвате за издаване на SSL сертификати за имена на домейни със заместващи символи (т.е. *.nodekite.com, *.linuxhint.com).
- Работи добре за множество уеб сървъри.
Недостатъци на Let’s Encrypt DNS-01 Validation
Въпреки че има много предимства на валидирането на 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 за получаване на Let’s Encrypt SSL сертификат. Изброихме доставчиците на DNS услуги, които се интегрират добре с Let’s Encrypt, както и клиентите на Let’s Encrypt ACME, които можете да използвате за извършване на DNS валидиране от вашия компютър/сървър. И накрая, обсъдихме предимствата и недостатъците на валидирането на Let’s Encrypt DNS.
Препратки:
- Типове предизвикателства – Let’s Encrypt
- DNS доставчици, които лесно се интегрират с Let’s Encrypt DNS validation – Issuance Tech – Let’s Encrypt Community Support
- Среда за автоматично управление на сертификати – Wikipedia
- Certbot
- GitHub – acmesh-official/acme.sh: чист Unix shell скрипт, внедряващ ACME клиентски протокол
- Инсталиране :: Let’s Encrypt client и ACME библиотека, написани на Go.
- Начало – Posh-ACME