Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.
Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.
Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".
Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Toto je postup, jak zprovoznit https s certifikátem od Let's encrypt během deseti minut (pokud vám nevadí spouštět klienta pod právy roota a shodit na chvilku web server).
Jak to funguje? Certifikační autorita Let's encrypt musí ověřit, že daný web vlastníte. Podle mého chápání ověřuje oprávněnost dotazu tak, že pošle klientovi nějaké tajmeství a klient jej vystaví na tom daném webu (na nějaké smluvené adrese) a tím prokáže, že daný web opravdu ovládá. V normálním případě tvoří pro Let's encrypt klienta největší překážku v cestě právě web server, který běží na dané IP adrese. Klient zná různé metody, jak využít k nasdílení tajemství běžící webserver (umí několik webserverů a zná jejich konfigurace), ale stejně je tento způsob nespolehlivý. Například mně vypršel certifikát od StartSSL a nešifrované HTTP neprovozuji, stejnou paseku může způsobit například mod_rewrite apod.
Jako nejjednodušší a nejblbuvzdornější metoda, jak to celé vyřešit, mi přišlo prostě shodit na chvilku apache a nechat klienta spustit si vlastní server (to je jedna z cest, jak může klient tajmeství na chvilku vystavit), počkat na doručení klíčů a pak zase nahodit apache. Pro výměnu SSL klíče je potřeba apache shodit tak jako tak (opravdu, drží si jej v paměti, změna souboru nestačí), takže těch pár sekund navíc nikoho nezabije. Má to nejméně parametrů a nejméně věcí se může pokazit.
Teď postup, jak na to. Nejdřív stáhneme klienta.
git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt
Pak to normálně pod rootem spustíme, srabíci si mohou vytvořit vlastního uživatele. Skript si nainstaluje pár balíků, nic hrozného se u mě nedělo. Po samotném spuštění se může objevit menu a člověk se může možná prakticky "proklikat" až k výsledku, mě ale následující krok skončil na tom, že letsencrypt nerozumí konfiguraci mého apache. První spuštění provedeme pomocí tohoto:
./letsencrypt-auto
Pokud to aspoň stáhne balíky, je to OK. Pro vytvoření samotného certifikátu potřebujeme (jak jsem vysvětlil dříve) shodit apache.
service apache2 stop
...a jdeme na to:
./letsencrypt-auto certonly --standalone --email muj@email.cz -d muj.server.cz
Co to znamená? certonly je, že chci jenom certifikáty (o úpravy konfigurace si neprosím), --standalone znamená "použij pro nasdílení tajemství vlastní webserver", email je povinný pro Let's encrypt autoritu a pak už je jenom suše jméno serveru pro certifikát.
Co se stane? Klient požádá o certifikát, dostane tajemství, to vystaví, certifikační autorita porovná své tajemství s vystaveným, potvrdí si tím pravost serveru, vystaví certifikáty, pošle je klientovi, ten je uloží do /etc/letsencrypt/live/muj.server.cz - a to vše neinteraktivně. Pokud chci takto vystavený certifikát používat, zavedu si do apache něco jako:
<VirtualHost *:443> SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA SSLHonorCipherOrder on SSLCertificateFile /etc/letsencrypt/live/muj.server.cz/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/muj.server.cz/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/muj.server.cz/chain.pem ServerName muj.server.cz ... </VirtualHost>
...a pak spustit apache. Let's encrypt vytváří certifikáty jenom na tři měsíce, takže bychom je měli nějak pravidelně obnovovat. Pro to si můžeme vytvořit skript například takovýto:
#!/bin/sh /etc/init.d/apache2 stop cd /root/letsencrypt ./letsencrypt-auto certonly \ --renew-by-default --standalone \ --email muj@email.cz \ -d muj.server.cz /etc/init.d/apache2 start
Jak už jsem psal výše, restart apache je stejně nutný, takže to je vlastně celé OK. Toto uložíme pod názvem "autoupdate" a dáme to do cronu (pro roota) třeba takto:
10 4 8 */2 * /root/letsencrypt/autoupdate
...a je vystaráno. Pokud se něco rozbije, prostě si to člověk spustí ručně.
Disclaimer: Spouštět pod právy roota soubory stažené z internetu není obecně moc dobrý nápad, jak to celé udělat bezpečně(ji) je ponecháno jako cvičení čtenáři.
Tiskni Sdílej:
apt-get install letsencryptA není potřeba shazovat server. Ještě jednodušší je nastavit, aby
/.well-known
na všech virtualhostech šlo do adresáře .well-known v defaultním webroot webserveru a na tento webroot pak poslat letsencrypt. Nevyžaduje to žádnou interakci s webserverem a můžeš to spouštět z cronu co pár týdnů. Letsencrypt si tam vytvoří soubor v podadresáři acme-challenge, server autority to zkontroluje a je hotovo.
vim ~/.emacs
Pro výměnu SSL klíče je potřeba apache shodit tak jako tak (opravdu, drží si jej v paměti, změna souboru nestačí)mě vždy stačil "reload", tedy
service apache2 reload
(na apache 2.2.22).
Ještě nepamatuju si, jestli to po mě chtělo i při druhém a dalším spuštění, ale při prvním určitě a proto používám argument --agree-tos
na souhlas s podmínkami služby, aby se to neptalo.
Taky je možné použít skript letsencrypt-renewer
, který projede všechny získané certifikáty a obnoví ty, které mají 30 dní do vypršení (použije identické argumenty, jako při prvním vystavení certifikátu, zaznamenává si je totiž do souboru).
Nakonec je potřeba si dát pozor, že v současné době je na jednu registrovanou doménu možné registrovat maximálně 5 certifikátů za posledních 7 dní (i když tyto limity mají kvůli rozjezdu a budou je postupně zvedat). Registrovaná doména je to, co si člověk registruje u registrátora (takže ne její subdomény), a do limitu pro jednu registrovanou doménu se počítá jakýkoliv certifikát, kde je použita daná registrovaná doména (ať už přímo, nebo jako subdoména). Takže pozor při experimentování s obnovováním (aneb hádejte, co se mi před 2 týdny stalo ). Pro experimentování lze použít testovací server vydávající neplatné certifikáty, který ale nemá prakticky žádné limity jako ten uvedený výše (parametr --test-cert
).
vim ~/.emacs
apt-get install libapache2-mod-macro; a2enmod macro
, pokud je to Apache starší než 2.4):
<Macro LetsEncrypt $host>
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/$host/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/$host/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/$host/chain.pem
</Macro>
Dá se to dát např. do /etc/apache2/letsencrypt.local.conf
Pak už ve virtuálním hostu stačí jen:
Use LetsEncrypt muj.server.cz
vim ~/.emacs
/etc/apache2/letsencrypt.local.conf
Vypadlo mi: /etc/apache2/conf.d/letsencrypt.local.conf
vim ~/.emacs
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLv3 a RC4 nebrat!
Pokud chcete uspokojivé bezpečné nastavení pro většinu klientů, lze se řídit doporučením Mozilly: https://mozilla.github.io/server-side-tls/ssl-config-generator/
To chcete říct, že 10 minut je zanedbatelný množství času?nene, neni. Asi to bude znit blbe, ale ja v tomhle ohledu casto uvazuju stejne jako Homer