Pekny popis ... Pro FreeBSD existuje port https://www.freshports.org/security/dehydrated/ drive se to jmenovalo letsencrypt.sh.
Mám dobrý zkušenosti s
https://github.com/analogic/lescript
Certbot je take jedno z pouzitelnych reseni - https://certbot.eff.org/
V debian jessie/backports dostupne i jako balicek.
Certbot je přímo referenční klient od Let's Encrypt. Je to to, co se dříve jmenovalo letsencrypt.
Pridavam nazor: pouzivam getssl (https://github.com/srvrco/getssl), ale vyzahuje BASH (ne obecny SH). Jinak taky pouze curl a nslookup/host/dig. Pro web overeni staci pouze script, pro DNS overeni obsahuje dalsi DNS-helpers. Config file bash script s promennymi. Automaticky kontroluje dobu platnosti uz existujiciho certifikatu a aktualizuje pokud cert vyprsi za (default) 30 dni (lze menit). Umi i revoke. SANs. Umi ukladat challenge a vysledne cert+key na jine servery pres ftp nebo ssh.
Otázka je, proč by nebylo možné ověřit vlastnictví domény přes DNS. Pokud je to normální doména registrovaná kdekoli pod TLD, mělo by být možné ji přes DNS ověřit. Pokud je to nějaká vlastní doména (např. local), zvažte přechod na normální doménu – s těmihle lokálními doménami bude čím dál víc problémů. Už dnes u těchhle domén budete mít problém právě s certifikáty pro HTTPS a s DNSSEC.
Neřekl bych, že to přináší problémy – spíš někde může být problém dostat příslušný validační TXT záznam do veřejného DNS serveru. Ale není to neřešitelné. Prostě pak bude zónový soubor veřejného DNS serveru vypadat nějak takhle:
$ORIGIN example.com. @ SOA ns.example.com. hostmaster.exemplecom. (…) @ MX 10 a.smtp.example.com. MX 20 b.smtp.example.com. SPF "…" A a.b.c.d AAAA a:b:c:d::1 www A a.b.c.d AAAA a:b:c:d::1 mail A a.b.c.d AAAA a:b:c:d::1 _acme-challenge TXT "…" _acme-challenge.www TXT "…" _acme-challenge.mail TXT "…" $ORIGIN local.example.com. _acme-challenge.intranet TXT "…" _acme-challenge.www TXT "…" _acme-challenge.ucto TXT "…"
Tím máte zvalidované názvy www.local.example.com
, intranet.local.example.com
a ucto.local.example.com
, a kam si je nasměrujete na vnitřním DNS, to už je vaše věc.
Pripadne si pres https://kb.isc.org/article/AA-00851/0/Understanding-views-in-BIND-9-by-example.html nastavite, ze verejne IP dostavaji jine odpovedi nez znamene IP z vasi site a cele se to da udelat na jednom nameserveru.
Mimochodem kdyz jste startup a tesite se, ze vas nekdo koupi, tak pouziti .local je potom peklo pri integraci tech dvou siti ;)
Tak ako to poisujes (intranetovo) sa "cely letsencrypt" da pouzit asi tak, ze si stiahnes Boulder (serverova cast LE) ktory si nainstalujes na nejaky svoj intranetovy server, kde budes mat svoju vlastnu (intranetovu) certifikacnu autoritu, ktorej certifikat potom rozdistribuujes medzi (intranetovych) klientov tak, aby mu doverovali. No a na intranetovych serveroch budes potom pochopitelne ziadat certifikaty od tej svojej intranetovej certifikacnej autority (a v ramci intranetu to overenie cez HTTP a/lebo DNS mozne je).
Ked nechces vytvarat a udrzovat vlastnu intranetovu certifikacnu autoritu, potom plati co napisal Petr Krcmar.
Certifikát... ten se dá skoro každému... Jinak těch cest k tomu je samozřejmě více a každému sedí něco jiného, ale toto mě docela dost zaujalo.
Nedávno můj známý hádal o tom (laik prostě), že certifikáty jsou zaručením čisté stránky bez malwaru, virů atd.... Hádal se se mnou hodinu skoro... že mu to říkal známý, a že to musí být pravda... Vyřešil jsem to tím, že jsem mu ukázal fake stránku na českou spořitelnu... taky to mělo certifikát... ;)
V článku sa nespomenula pomerne zaujímavá vlastnosť Dehydrated (inak pôvodne sa to volalo letsencrypt.sh). A to parameter cron. V praxi Dehydrated overuje či je nutné vyžiadať nový certifikát, alebo je stále v platnosti pôvodný. Takže je možne pridať denný cron job na kontrolu platnosti a prípadnú aktualizáciu certifikátov, bez toho aby ste nejakým spôsobom zaťažovali letsencrypt autoritu. Spúštať kontrolu denne, vám zvýši šancu, že certifikát neexpiruje v prípade ojedinelej chyby na strane letsencrypt či vašej.