Hlavní navigace

Linuxové telefony jsou tu, stavíme virtuální laboratoř a trezor na tajemství

20. 6. 2022
Doba čtení: 10 minut

Sdílet

 Autor: Jakub Jančička
O víkendu 11. a 12. června se uskutečnil další ročník konference InstallFest. V neděli se mluvilo o stavbě přenosné a přenositelné softwarové laboratoře, technologii Hashicorp Vault nebo sledování polohy MHD.

Ondřej Caletka: Přenosná a přenositelná laboratoř s open source

Ondřej Caletka pracuje ve sdružení RIPE NCC, které pro své členy zajišťuje také prezenční školení. Kromě toho dělá také webináře, což jsou živé online lekce na jednu nebo dvě hodiny. To jsme dělali dávno předtím, než to bylo cool. Veřejně dostupné je pak e-learningové prostředí, na kterém je možné se vzdělávat kdykoliv bez nutnosti interakce s živým lektorem. Po absolvování kurzů je možné získat digitální certifikát po otestování znalostí.

Novinkou v e-learningových kurzech je školení IPv6 Security, který probíhá poprvé včetně praktických úloh ve virtuálním prostředí. Máte možnost si skutečně všechny nabízené scénáře vyzkoušet. Vše běží ve virtuálním prostředí, které je dostupné pro všechny, což přináší problémy se škálováním. Může se stát, že to používá najednou i sto lidí nebo třeba nikdo. Potřebujete to tedy škálovat, ale nechcete do toho investovat hromady peněz. Nakonec organizátoři došli k tomu, že si účastníci spustí virtuální prostředí na svých počítačích.

S virtuálními stroji jsou ale také nějaké problémy, například každá platforma poskytuje jiný způsob virtualizace. Windows používají Hyper-V, Linux má KVM a macOS nabízí také vlastní řešení. Jediný software, který funguje na všech platformách je VirtualBox. Je to méně optimální řešení, ale funguje všude. Další problémy způsobuje různorodé rozložení klávesnice a rozlišení obrazovky. Proto neprovozujeme virtuální server s displejem, ale otevřeme webové rozhraní a každý používá vlastní prohlížeč se svým rozložením klávesnice.

Je také potřeba, aby získání a spuštění obrazu bylo pro uživatele co nejjednodušší. K tomu v RIPE používají Vagrant, který je také dostupný pro všechny tři platformy. Uživatel tedy dostane jednoduché instrukce: nainstalujte VirtualBox a Vagrant, napište do terminálu dva příkazy a otevřete v prohlížeči danou lokální adresu. V prohlížeči jsou pak dostupné obrazovky jednotlivých virtuálních počítačů a je možné je používat. Je to přenosné, protože to máte ve svém počítači, a také přenositelné, protože to je celé postavené na open source.

Virtuální stroj je postaven na Ubuntu 20.04 LTS a uvnitř běží tři další systémy umístěné v kontejnerech LXD. Konzole jsou zpřístupněny pomocí ttyd a tmux, webové rozhraní pak zajišťuje statická webová stránka s WebSocket proxy pomocí Nginx. Všechno je to sestaveno pomocí Ansible. Vývoj je kompletně otevřený, zdrojové kódy je možné najít v repozitáři na GitHubu.

Terminál je implementován pomocí nástroje ttyd, který se chová jako HTTP server s podporou WebSocket. Na straně prohlížeče pak běží knihovna Xterm.js, což je javascriptová implementace protokolu xterm, která komunikuje se serverem. Pro každé spojení se pak spustí samostatný proces a otevře se nové spojení. Pokud ale prohlížeč zavřete, zastavíte i spuštěný proces. To je velmi nepříjemné, protože webové stránky běžně zavíráme. Pro udržení běhu se tedy interně používá tmux, který také umožňuje vícenásobné připojení ke stejné relaci.

Robert Vojčík: Hashicorp Vault: Swiss Army Knife

Hashicorp vyvíjí řadu známých nástrojů: Vagrant, Terraform, Nomad, Consul a další. Vault je systém na správu tajemství, což je všechno, co potřebujete nějak ochránit nebo k tomu regulovat přístup. Instalace vlastně sestává ze stažení a spuštění jedné jediné binárky, která v sobě obsahuje CLI utilitu, server s API i webové rozhraní. Webové rozhraní má hodně omezení a ne vše je v něm možné udělat. Doporučuji se spíš zaměřit na API.

Vault chrání data pomocí šifrování, ale je potřeba ochránit i šifrovací klíč. To je zajištěno pomocí Shamirova algoritmu. Při inicializaci Vaultu je nutné zvolit, kolik částí klíče vznikne a kolik je jich potřeba k sestavení hlavního klíče odemykajícího Vault. Můžeme mít třeba šestnáct kolegů a k odemčení vyžadujeme nejméně tři. Při vytváření klíčů je možné rovnou Vaultu předat PGP klíče, které budou používány k zašifrování jednotlivých klíčů. Klíče v čitelné podobě tedy nemusejí nikdy opustit bezpečné prostředí Vaultu.

Pro autentizaci je možné použít celou řadu různých metod: kombinace jméno/heslo, AppRole, Kubernetes, LDAP, AWS, Radius a mnoho dalších. Stejně tak existuje hodně různých secret enginů, které drží tajemství nebo je dokáže generovat. Každý se hodí k něčemu jinému, řeší jiný problém a chová se hodně rozdílně. Nejčastěji se Vault používá pro uložení dat typu klíč/hodnota.

Autor: Kateřina Čevelová

Takzvaný KV Storage má dvě verze: v1 je jednodušší varianta, v2 zabírá více dat, ale udržuje historii. Pro uživatele se dobře používá z webového rozhraní. Vault je možné také použít pro centrální distribuci certifikátů, například od Let's Encrypt. Máme jeden bod, který se nám o certifikáty stará. Ten citlivě monitorujeme a z něj pak distribuujeme certifikáty do jednotlivých služeb.

Vault umožňuje také vytvořit a spravovat vlastní certifikační autoritu. Protože je Vault postaven na API, okamžitě automaticky získáte HTTP API i ke své autoritě. Máte k dispozici revokační rozhraní, přes další máte přístupný certifikát autority a také získání certifikátu je automatizované na úroveň jednoho jediného dotazu. Je možné importovat i existující autoritu a získat k ní API, automatizaci a všechny nástroje.

Pokud spravujete a často reinstaujete mnoho linuxových serverů, hodí se vám SSH Host Sign, který umožňuje podepsat serverové SSH klíče, čímž vznikne certifikát. SSH server se vám pak prokazuje certifikátem vystaveným vaší důvěryhodnou autoritou a už nikdy nebudete muset ručně ověřovat otisky klíčů. Do konfigurace SSH klienta je potřeba jen nastavit, jaké certifikační autoritě důvěřujeme. Podobně je možné vytvořit klientské certifikáty pro klienty, kteří se pak při autentizaci prokazují certifikátem.

Pavel Machek: linuxové telefony jsou tu

Pavel Machek by chtěl mít telefon, na kterém běží Linux, ale není to Android. Ten má s Linuxem společný jen kernel, programuje se pro to úplně jinak, věci se tam kazí a špehuje vás Google. Většina linuxových telefonů je také velmi vzdálená od standardního jádra, například Nokia 900 má vlastní upravené jádro a vlastní distribuci s uzavřenými komponentami. K ideálu se blíží PinePhone, který se snaží držet standardních linuxových distribucí. Úplně nejlepší by bylo mít standardní ThinkPad s Linuxem.

Velmi zajímavým hardwarem je Librem 5, který stojí okolo 16 000 Kč a je to linuxový počítač se čtyřjádrovým procesorem a 3 GB paměti. Je ale tlustší a chlubili se, že už vydrží 10 hodin na baterie. Další variantou může být PinePhone Pro, který pořídíte za 10 000 Kč, má 4 GB RAM a šestijádrový procesor. Dá se to koupit, ale je to spíš pro vývojáře. Poslední zmíněnou variantou je PinePhone, který je na trhu už několik let a už má velmi slušnou podporu. Už to telefonuje, datuje, chodí tam esemesky a padá to jen občas. Veškerý tento hardware je navržený pro Linux, ale jeho poměr cena/výkon nebude dobrý, protože se vyrábí v malých sériích.

Autor: Kateřina Čevelová

Proto může být výhodnější pořídit si hardware, který je určený pro jiný operační systém. Oblíbený je OnePlus 6T, který je původně určený pro Android. Budete ale bojovat s bootloaderem a dalšími problémy. Motorola Droid 4 je starší kousek, ale má hardwarovou klávesnici a dá se koupit velmi levně. Má ale jen gigabajt paměti, což je na dnešní poměry už málo. Hardwarově hezkým řešením je Nokia 900, kterou dnes už často dostanete darem. Má to jen 256 MB paměti, ten hardware je 13 let starý.

Pokud si chcete hrát s Linuxem na telefonu, pořiďte si PinePhone. Ten je nejlepší, pokud nevíte, co děláte, pořiďte si PinePhone. Má čtyřjádrový procesor Allwinner A64na 1,15 GHz, 2 nebo 3 GB paměti, 16 nebo 32 GB paměti eMMC vyměnitelnou baterii a umí 4G. Existují dvě edice: levnější má méně paměti a menší úložiště. Podle Pavla Machka to není nijak úžasné zařízení, ale je to to nejlepší, co je možné s Linuxem sehnat.

Je možné si vybrat různé operační systémy, které na PinePhone zprovozníte: nejobvyklejší postmarketOS je velmi upravitelný a má hezké rozhraní. Maemo Leste je postaveno na Debianu a je to tedy běžná distribuce. Mně přišla uchopitelnější. Další varianty také existují, jako Manjaro Lomiri, Ubuntu Touch a podobně. Když jsem je zkoušel, tak měla každá nějaký problém. Obvykle to vypadá dobře, ale třeba to netelefonovalo. Na PinePhone je nejpoužitelnější distribuce Mobian, která vychází z PureOS původně vyvinutého pro Librem 5. Je možné k tomu mít výhrady, ale je to použitelné.

Velkým problémem dnešních telefonu je nedořešený power management a uspávání. Bývá zvykem, že když si něco necháte vyhledat na souborovém systému, tak se to prostě najde. Tady ne, po chvíli se to celé uspí. Stejným problémem trpí i Android, který také uspává aplikace, aby šetřil baterií. Když na linuxovém telefonu pustíte Gnome Clock a nastavíte si budík, ten vám kvůli tomu nezazvoní. Bohužel je to velký problém a je to nedořešené.

Stav Mobianu na PinePhone je uspokojivý, telefonuje to, zprávy chodí, Firefox je použitelný a rozhraní GNOME je použitelné. Ostatní aplikace tak nějak běží. Funguje rozpoznávání hlasu, fotoaparát fotí a výdrž je použitelná. Je to přiměřeně stabilní a dá se na to naesesháčkovat. Co se vám ale stane po pěti minutách? Mašina usne. Problémem je, že telefon je poměrně velký, fotoaparát nefotí příliš dobře, čitelnost na přímém slunci je mizerná, GPS není příliš citlivá a kvalita hovoru je spíše horší.

I kdyby se podařilo všechny softwarové problémy vyřešit, pořád nebude PinePhone dokonalý telefon. Pořád to bude pomalé, pořád to bude velké a nebude to mít dobrý displej. Přesto by stálo za to, aby to někdo vyřešil. Měl by přijít nějaký nástupce, který bude mít zase lepší hardware a mohl by být o to použitelnější. Hodně je toho možné zlepšovat na GUI, stálo by za to mít lepší softwarovou klávesnici, neexistuje rozumný způsob jak skriptovat GUI a indikátory signálů neukazují správné informace. Indikátor mi třeba ukazoval tři čárky, ale byl to signál jiného operátora. Takže si třeba můžu zavolat záchranku, ale běžný hovor neuskutečním.

Pomoci může každý tím, že pošle sponzorské peníze firmám jako Purism nebo Pine64. Pomůže také testování, psaní dokumentace a vytváření překladů. Spousta práce je na vývoji. Kromě nízkoúrovňových úprav jádra pro konkrétní modely je také potřeba ladit distribuce a aplikace pro ně.

Josef Schlehofer: open-source routery Turris v roce 2022

V letošním roce byla ukončena podpora operačního systému Turris OS 3.x. Spustili jsme automatickou migraci, po níž jsme podporu ukončili. Původní modré Turrisy 1.0 a 1.1 jsou i po osmi letech stále podporované a připravuje se pro něj například nový U-boot. Podařilo se nám podporu modrých Turrisů dostat do upstreamu linuxového jádra.

Plánovaná je podpora standardu Wi-Fi 6, přičemž se připravuje aktualizační sada pro Omnii i modré Turrisy. Čeká nás také nová limitovaná edice Omnie. Připravovaný Turris OS 6 bude postavený na OpenWrt 21.02, přijde s podporou WPA3 a bude nabízet už jen rozhraní reForis. Připravujeme oznamování bezpečnostních událostí pomocí notifikací nástrojem Morče. Připravuje se také česká verze služby Have I Been Pwned, která bude založena na datech naměřených routery Turris.

Připravuje se také úplně nový Turris Omnia II, který bude mít čtyřjádrový 64bitový procesor, alespoň 4 GB RAM, podporu Wi-Fi 6, bude mít dvě 10GE rozhraní a sloty na m.2. Plánujeme také vlastní e-shop, na kterém od začátku bude limitovaná edice routeru Omnia. Potom uvidíme, podle toho, jak bude o nakupování zájem.

Tomáš Tichý: co je nového ve sledování vozidel MHD

V lednu roku 2020 začal pražský dopravní podnik zveřejňovat data o zpoždění autobusů. V červnu pak došlo k dalšímu rozšíření o data v aplikacích třetích stran. V říjnu stejného roku pak vznikl portál mapa.pid.cz, kde je vše vidět vizualizováno na mapě. Těsně před koncem roku 2020 byla přidána i data autobusů. V dubnu roku 2021 pak byla přidána data vlaků ČD, o chvíli později pak byly přidány vlaky Arriva a KŽC. Data jsou dostupná přes API, jehož první verze byla ukončena a nyní je k dispozici druhá verze.

Root obecny

V API jsou vidět informace o autobusu, poslední poloha, čas o zpoždění, poloha vozu, pořadí projeté zastávky na trase, typ vozidla, cílovou zastávku, identifikace spoje, bezbariérovost, vybavenost klimatizací a další podrobnosti. Dnes můžeme slavit, protože právě dnešním dnem byla dokončena integrace dopravy v celém středočeském kraji. V současné době má PID dvanáct pásem a zajíždí dokonce v některých případech i mimo kraj.

Autor: Kateřina Čevelová

Z otevřených dat je možné vytvářet pěkné přehledy s pomocí běžných konzolových nástrojů. V API si můžeme vyžádat všechna potřebná data a nechat si je rovnou vyfiltrovat. Dostaneme výstup v JSON, který obsahuje všechny potřebné informace. Tomáš Tichý použil nástroje jako curl ,jq nebo q. Pro přístup k API je potřeba získat token ze stránek Golemia.

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.