Není, generování certifikátů u StartSSL je strašně moc ruční práce, kterou je potřeba pořád opakovat. S Let's Encrypt jsem sice musel udělat nějakou přípravu, ale teď pro obnovení stačí zmáčknout enter.
Navíc mám certifikát i pro komerční použití, což u těch ze StartSSL neplatí. Certifikát zdarma je určen výhradně pro osobní užití.
Je třeba si také uvědomit, že já jsem postupoval nestandardní cestou. Ta standardní je spustit klienta, zmáčnout párkrát enter a je hotovo. Ondra to ukazoval na LinuxDays a dohromady se o tom moc článek napsat ani nedá. Prostě se v tom průvodci mačká „dál“ a „dál“.
Je to jen beta, ta vzorová utilita není zdaleka dokončená a vyladěná, takže jakž takž spolehlivě chodí jen s Apache. Dá se předpokládat, že časem: bude dodělána, vzniknou jiné (a lepší), autoři to integrují do serverů a bude stačit volba enable_letsencrypt on;
a o všechno se server postará sám.
Nasazoval jsem Let's encrypt na Apache server. Ten samotný průvodce je jenom párkrát enter.
Ale potom jsem otevřel prohlížeč a nefungovalo to. Ještě bylo potřeba udělat symlink z sites-available na -enabled, potom tam doplnit cestu k certifikátu (byl tam placeholder), přidat SSLCertificateChainFile, povolit nějaký mods a restartovat server. Bohužel nikde není tohle popsáno a člověk na to musí přijít sám.
Potom to fungovalo. Ještě jsem přidal HSTS a mám A+ na SSL Labs.
Měl bych dva dotazy, bude možné generovat i certifikáty s delší platností a je možné vystavit i wildcard certifikát, jako např. *. domena.cz?
Podle mě není důvod mít delší čas, prostě se to aktualizuje aspoň se předejde tomu, že až se za rok zjistí že sha256 je slabá kvuli tomu, že někdo odflákl implementaci a bude tedy nutné přejít na shaXXX jinak přijdeš o zelený řádek v prohlížeči viz teď staré certifikáty s sha1, tak tou zkrácenou platností se to řeší. Řeší se tím i případné chyby při generování, nebo při odcizení klíče autority. Relativně rychle se všude certifikáty vymění.
Stávající stav kdy někde smrdí starý certifikát tři roky je na dvě věci.
Navíc díky možnosti automatizace to adminům spíš práci ubírá než přidává.
Naposledy když se to řešilo, tak bylo řečeno, že https nezvládají reklamní systémy a proto není možné https nasadit (prohlížeč by řval, že na zabezbečené stránce jsou nezabezpečené prvky). Začínám mít pocit, že to reklamní systémy dělají schválně, je to problém starej už několik let. Ať mi nikdo nepovídá, že při troše dobré vůle není implementace https do reklamy otázkou jednoho hezkého odpoledne. Jenom by se muselo chtít...
My to docela intenzivně řešíme, protože HTTPS samozřejmě chceme. V tuhle chvíli už tam certifikát je, ale zatím to jen přesměrovává na HTTP. Je potřeba jednak doladit ty reklamy, ale taky se čeká na to, až si Seznam opraví vyhledávač. Na vývojové verzi už nám ale šifrování krásně funguje, posílal jsem na Twitter obrázek před časem.
Nejsem Internet Info, ale kdybych byl, tak bych řešil https pro všechny weby skupiny zároveň, abych v tom neměl moc velký bugr. A pak už ta čísla můžou být jiná. Například na ten pochybný obsah, co je na Vitalii, bych naopak čekal, že bude možná chodit více lidí ze seznamu než napřímo.
Ale zvolil bych jinou metodu, než se nechat vydírat Seznamem, tak bych nasadil https rovnou všude, a nechal je, ať si vyžerou, že lidi nenajdou to, co hledají...
Něco jako velmi odlehčená CLI utilita se rodí třeba zde: https://github.com/diafygi/letsencrypt-nosudo
A jinak ano, zaplatit jiné autoritě může být v mnoha ohledech výhodnější řešení.
Jinou utilitu, která nebude záviset na Pythonu, ale na jiném „balastu“, samozřejmě kdokoli udělat může. Kdyby to udělal Let's Encrypt, tak se na Rootu objeví třicet chytrých komentářů, proč to závisí na Wgetu, OpenSSL a libjson, když to mohli napsat v Pythonu. A kdyby napsali třicet různých utilit pokaždé s jinými závislostmi, aby si každý mohl vybrat tu svou, tak by si titíž zase ztěžovali, proč k tomu je třicet různých utilit, když by stačila jedna. Takže autoři Let's Encrypt rezignovali na to zavděčit se komentujícím na Rootu, a prostě utilitu napsali.
Keby to napisali v niecom co nepotrebuje more zavilosti na beznom serveri, niekto by nic nenamietal. Ale kazdy s izvazi ci na produkciu nainstaluje 20 balikov navyse.
Anyway, ten kto chce rozbehat https, sa tazko bude divit nad tym ze potrebuje openssl, to mi verte
Trochu varite vodu a hladate excuse na svoje predosle tvrdenia. Lets encrypt je pocin urcite chvalihodny, ale pre mnohych momentalne mimo scope, co je skoda.
Nenapsal jste nic, co by dokazovalo, že vaše představa o závislostech je objektivně lepší, než současné závislosti.
pre mnohych momentalne mimo scope, co je skoda
Škoda by naopak byla, kdyby ladili k dokonalosti utilitu a certifikáty si nemohl pořídit vůbec nikdo. Takhle si je mohou pořídit alespoň ti, kteří tu utilitu použijí nebo kteří to udělají ručně.
A do toho článkou koukali, Mr. Jirsák? Tak je ten výpis hrůzných závislostí hned nahoře. Kdyby to náhodou nemohli najít, tak pod větou "Poté bylo potřeba pod rootem spustit instalační skript bootstrap/debian.sh, který si ale jen pomocí standardního balíčkovacího systému stáhl potřebné utility a knihovny."
Když se podíváte do toho skriptu, který jsme spustili, uvidíte, že tam rozhodně žádné hrůzné závislosti nejsou:
apt-get install -y --no-install-recommends \ git \ python \ python-dev \ $virtualenv \ gcc \ dialog \ libaugeas0 \ libssl-dev \ libffi-dev \ ca-certificates \
To, že debian předepisuje těmto balíčkům další závislosti aniž by byly nezbytné (například zmíněný Python 3), není věc, kterou může řešit Let's Encrypt.
To je ale překvapení, že když kompilujete utilitu ze zdrojových kódů, že k tomu potřebujete kompilátor. Možná vás překvapím ještě víc tvrzením, že když budete instalovat ze zdrojových kódů betaverzi nějakého webserveru, taky vám to vnutí kompilátor jako závislost!
Je to určitě spiknutí a ten kompilátor jsou ve skutečnosti zadní vrátka pro NSA.
Kristova noho, co kde kompilujete? Jediný výskyt řetězce gcc je celém repozitáři jsou ty dementní závislosti.
https://github.com/letsencrypt/letsencrypt/search?utf8=%E2%9C%93&q=gcc
No, myslím, že záležitost ukončím citátem klasika: Tudy ne, přátelé! Anebo ještě jinak :-)
Něco podobného jsem už někde četl minulý měsíc ... jo viz link pod jednou ze zpráviček https://www.klosko.net/blog/=clanek=instalace-ssl-certifikatu-letsencrypt
Zdravim,
hodnoceni A+ u Qualysu je vzorove, ted jeste dodelat spravne STARTTLS u tech mailu, proc tam neni pouzit take tento certifikat, kdyz je duveryhodny ? Pise to, ze tam mate pro TLS neco self-generated.... a navic to umoznuje i SSL, proc jste nezkusil i tento certifikat pouzit pro postovni server a jeho TLS ?
The certificate is not valid for the server's hostname.
The certificate is self-signed.
There are one or more fatal problems which causes the certificate not to be trusted.
Důvodů je víc: zaprvé mail server má jiné doménové jméno, které nemám zatím u Let's Encrypt whitelistované a nemůžu si pro něj vygenerovat certifikát. Další věc je, že mail servery stejně nevalidují certifikáty a je mnohem lepší investovat čas do TLSA než do důvěryhodného certifikátu. Ale mám v plánu to dát do pořádku.
OK, tak udělám víc certifikátů pro domény neco1.example.net neco2.example.net atd. Ale jak vyřeším server aliasy? V jednom certifikátu mám domény v CN, takže jeden konfig Apache pro všechny domény na konkrétní subdoménu:
<VirtualHost 127.0.0.1:8443>
ServerName mailadmin.example1.net
ServerAlias mailadmin.example2.net
ServerAlias mailadmin.example3.net
ServerAlias mailadmin.example4.net
ServerAlias mailadmin.example5.net
ServerAlias mailadmin.example6.net
ServerAlias mailadmin.example7.net
DocumentRoot /var/www/postfixadmin
ErrorLog /var/log/apache2/error_ssl_mailadmin.log
CustomLog /var/log/apache2/access_ssl_mailadmin.log combined
Options -Indexes
SSLEngine On
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>
To butu mít na každou subdoménu a každý alias zvlášť config a certifikát?
Já mám něco podobného. Cestu k certifikátu mám na Debianu v /etc/apache2/ports.conf
Listen 80
<IfModule mod_ssl.c>
Listen 443
SSLCertificateFile "/etc/ssl/certs/https.crt"
SSLCertificateKeyFile "/etc/ssl/private/https.key"
</IfModule>
A chtěl jsem si to zkušebně přidat do jednotlivých (sites-enabled) konfigů virtualhostů doplněním a zakomentováním těch cest k certifikátům v ports.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
...................
SSLEngine On
SSLCertificateFile /etc/ssl/certs/https.crt
SSLCertificateKeyFile /etc/ssl/private/https.key
...................
</VirtualHost>
</IfModule>
Když ale odstraním z ports.conf ty řádky s certifikáty, nefunguje mi ani http? Co tam mám blbě? Díky.
Přesně tak. DNS i VirtualHost ve web serveru je přes hvězdičku, aplikace podle hlavičky Host udělá dotaz do db a vrátí příslušný odkaz.
Bohužel provozuju jeden neziskový projekt, kde SW je takto napsaný a peníze na komerční wildcard certifikát nemáme. Těšil jsem se na Let's Encrypt, ale pro tento use-case je hodně těžko použitelný.
Nevylučuju, že se to někomu stát může, ale ve všech případech, kdy jsem se s takovým řešením setkal v praxi, to bylo na dedikované subdoméně a admini věděli, jak to funguje. Předpokládám, že stejné je to s blog.root.cz, ale i blog.idnes.cz, blog.ihned.cz). Je to celkem běžný usecase a je imho škoda, že tam Let's Encrypt požít nepůjde.
Jirsaku ty ses fakt povedl. Aneb jak politicky jit proti uzivatelum kteri maji sve problemy. Resim uplne stejny problem - mam *.domena.tld kde hvezdicka je username a tech je x desitek tisic. Proste to tak chci a potrebuju. Fakt je to ta tvoje rada nejaka hitparada? Tohle je cely to vase slavny vynuceny https pres mrtvoly. horsi jak grínpis.
Pokud se vám ta rada nelíbí, tak se jí neřiďte.
To je fakt neuvěřitelný. Někdo představí nějakou službu nebo popíše, jak něco dělá, načež se seběhnou místní trollové, j/x/fd, Seti, Lol Phirae a to_je_jedno, a začnou nadávat, že oni takovou službu vůbec nepotřebují, tak jak si někdo může dovolit něco takového nabídnout, jak někdo mohl o něčem takovém vůbec začít přemýšlet. Tak se s tím děcka smiřte, že nejste pupkem světa, že si někdo klidně může dovolit nabídnout službu, kterou vy k ničemu nepotřebujete, že někdo může věci dělat jinak, než vy. Nemusíte pořád všem vnucovat, že váš pohled na svět je jediný správný a tvářit se, že každý, kdo něco dělá jinak, než vy, je přinejmenším úplný debül.
Problém to je snad pouze v případě, že by se to mělo zakládat on-the-fly, tedy že před navštívením https://xyz.blog.root.cz nebylo toto doménové jméno serveru známé. Pro což si nedovedu moc dobře představit use-case.
Pokud ale dojde k uživatelské registraci, pak nevidím problém v tom, aby toto řešil nějaký skript, který se při té příležitosti spustí.
A je to taková zátěž?
(Mimochodem, certifikát se při registraci nebude měnit, ale přidávat…)
A pokud dosáhnete takového množství uživatelů, že to bude významná zátěž pro servery, jistě peníze za wildcard certifikát od jiné CA už budou pouze drobné.
Myslím, že LE prostě řeší velkou část use cases zadarmo. Buďme za to rádi. Že neřeší některé edge cases – no a co? Svoje místo tu má i bez nich a řešení takovýchto edge cases by stálo mnoho sil s malým výsledkem.
Pokud budete mít tolik uživatelů, že to bude generovat významnou zátěž serveru (a pokud nemáte dost velký edge case jako třeba tisíc nových subdomén denně na jednoho uživatele), pak stejně budete muset řešit nějaké financování serverů i bez HTTPS. (Ať už reklama, nebo sponzorské dary.) A ten wildcard certifikát už asi nebude tak velká nákladová položka. Ale pochybuju, že třeba pro root blog by tento postup byl až takový problém.
A jaký vidíte problém s bezpečností?
Mně osobně třeba ani tak nejde o zátěž na serveru (u nás jde jen o pár desítek certifikátů), ale o vytváření zbytečných vazeb napříč infrastrukturou. Do teď stačilo, aby si aplikace přidala záznam do db, se kterou stejně pracuje, ale teď bude muset ještě při zakládání blogu volat externí utilitu a konfigurovat web sever. Samozřejmě, že můžeme říct, že koupit wildcart certifikát není takový náklad (i když pro neziskovku je každá koruna problém), ale myslel jsem, že hlavním přínosem Let's Encrypt má být odbourání paradigmatu bezpečnost = nadstandard za peníze.
Ty vazby podle mne nejsou zbytečné. Naopak díky tomu máte podchycenu vazbu, která reálně existuje, ale kterou dnes stavíte jenom na shodě nějakého textu ve webovém prohlížeči.
To, že dnes konfigurujete web server, je přece jenom takový workaround. Ideální řešení je přece takové, že máte web server napojen na tu databázi (takže hlavičku Host hledá v té databázi), DNS server také, no a žádnou externí utilitu volat nebudete, protože ten přímo v té aplikaci zakládající nový záznam do DB bude i vystavení certifikátu přes ACME a zápis toho certifikátu do databáze (odkud ho bude načítat ten web server).
Jasně, takže překopeme úplně všechno. A kdyby náhodou ta aplikace běžela za load balancerem, který terminuje SSL (třeba AWS ELB) tak to nepůjde vůbec, nebo teoreticky takový LB najdu nebo si napíšu sám a budu v něm udržovat datový model aplikace, kdyby náhodou programátoři potřebovali tu tabulku se seznamem blogů změnit. A kešování přístupu do db budu taky řešit na úrovni web serveru.
To jsou opravdu rady ze života.
Někdo má aplikaci udělanou tak, že nic překopávat nemusí. Pokud vy ji máte udělanou tak, že byste musel úplně všechno překopávat, zvážíte, jestli to pro vás má význam nebo nemá. Mně to rozhodování připadá celkem jednoduché, nevidím důvod, proč o tom v několika komentářích mudrovat v diskusi. Zatímco vy se tváříte, jako by vás k té změně někdo nutil a vám se do toho vůbec nechtělo.
(Mimochodem, certifikát se při registraci nebude měnit, ale přidávat…)
Nikoliv. Řeším Jirsákův genitální nápad, že si pro každou subdoménu přidám SAN do certifikátu. Ten byl vopravdu dobrej.
Tak jistě. A ten certifikát má reálně něčemu sloužit, nebo je pouze k onanování nad tím "Hele, já sem ale borec, mám web s HTTPS, heč!"... Nevím jak vy, ale pokud nějaký web bude měnit 50x denně certifikát, tak usoudím, že to buď někdo hacknul, nebo mám vážný problém s MITM.
Používání různých certifikátů k témuž jménu nikomu neznemožňuje nalezení problému s MiTM. Máte seznam důvěryhodných autorit, pokud některá z nich vydala certifikát, pak věříte tomu, že je certifikát pravý. To, že je obecně známo, že někteří ověřují certifikáty špatně, opravdu neznamená, že je dobrý nápad podporovat to chybné ověřování.
Stále čekám na vysvětlení ohledně toho, je je na wildcard certifikátu špatného. Asi se ho nedočkáme.
Jinak ale samozřejmě podobné retardované využívání certifikátů a jejich neustálé změny to nalezení MITM nesmírně usnadňují a urychlují, to je pochopitelné a je to vidět na příkladech, jako je CNNIC - https://googleonlinesecurity.blogspot.cz/2015/03/maintaining-digital-certificate-security.html
Zajimalo by me, jaka je kompatibilita s WinXP. Nahodou jsem zjistil, ze Google Chrome na WinXP neumi zobrazit https://www.wesnoth.org/ Google Chrome je aktualni. SSLlab hodnoti domenu www.wesnoth.org velmi dobre, A+. Je tam videt, ze se pouzivaji certifikaty od Let's encrypt...
https://www.ssllabs.com/ssltest/analyze.html?d=wesnoth.org
Ale Google Chrome na WinXP odmitne stranku zobrazit, downgrade na "http" neni mozny. Takze jsem nahrany (ne uplne, mam i Linux)
Toto je chybova hlaska:
www.wesnoth.org normally uses encryption to protect your information. When Chrome tried to connect to www.wesnoth.org this time, the website sent back unusual and incorrect credentials. Either an attacker is trying to pretend to be www.wesnoth.org, or a Wi-Fi sign-in screen has interrupted the connection. Your information is still secure because Chrome stopped the connection before any data was exchanged.
Tipnul jsem to na SNI nebo SHA2 a s tím SHA2 jsem se trefil:
„Chrome is capable of supporting SHA-2 certificates as of version 1.0, however through version 37 it is dependent on the operating system. For instance, on Windows Server 2003 without MS13-095 or Windows XP SP2 Chrome will not connect to pages using SHA-2 certs. Applying MS13-095 to Server 2003, or SP3 to Windows XP will allow Chrome to support SHA-2 on these legacy systems.“ – https://support.globalsign.com/customer/portal/articles/1499561-sha-256-compatibility
Z pozice uživatele: Windows XP již není záplatovaný, takže není vhodný, pokud záleží na bezpečnosti.
Z pozice správce: Přechod zpět na SHA1 by sice vyřešil Windows XP, ale dnešní prohlížeče by patrně začaly nadávat, že SHA1 je již zastaralé. Kompletní zákaz se chystá, tuším, na půlku tohoto roku. Tuším, že Facebook přišel s řešením v podobě dvou certifikátů a nějakou detekcí prohlížeče (nevím, na základě čeho, možná podle SNI?), ale nechtělo by se mi to nasazovat.
Diky, vse vysvetleno! Sice pisi o wesnoth.org, ale https://www.petrkrcmar.cz/ se chova uplne stejne.
S nadsazkou lze napsat, ze "zabijakem WinXP" budou SSL certifikaty od Let's Encrypt... ;-)
Tak problem vyresen, nove certifikaty vydane po 26 breznu 2016 jsou s WinXP kompatibilni.
http://www.root.cz/clanky/let-s-encrypt-funguje-v-xp-veci-se-ale-mohou-rozbit/