Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.
Apple dnes představil (YouTube) iPhone Duo, iPhone 18 Pro, Watch Series 12, Watch Ultra 4 a AirPods 5.
Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.
DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.
Na stránkách PostgreSQL bylo představeno LibreDB Studio. Jedná se o open-source self-hostované SQL IDE pro (nejenom) PostgreSQL v prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Byla vydána nová verze 12.0 media serveru Jellyfin (Wikipedie). Přehled novinek v poznámkách k vydání. Pro vyzkoušení je k dispozici Demo Server. Jellyfin je fork media serveru Emby, původně Media Browser.
V MikroTik RouterOS bylo nalezeno šest zranitelností společně pojmenovaných MikroTrick umožňujících útočníkovi, pokud má přístup k SSH, získat plnou kontrolu nad zařízením bez nutnosti autentizace. Ve verzích RouterOS 7.25beta3, 7.24.2, 7.23.4 a 6.49.21 je již opraveno.
Byla vydána verze 9.5 open source unixového operačního systému NetBSD (Wikipedie). Přehled novinek v poznámkách k vydání. Jedná se poslední vydání řady NetBSD 9. Doporučen je přechod na NetBSD 11 nebo NetBSD 10.
Akční adventura State of Mind je na portále GOG.com zdarma, akce trvá do 10. září.
Na Kickstarteru běží kampaň na podporu malého robotický psa Petoi Quaddle. Postaven je na ESP32-S3. V několika variantách. S řadou senzorů. Programovat lze pomocí Pythonu, C++ nebo i vizuálních bloků. Zkoušet a trénovat lze v simulátoru.
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 ~/.emacsapt-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 ~/.emacsSSLProtocol 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/
No nefunguje v žádném protokolu, TLS, PGP ani jiném.

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