OpenBSD 6.1: zlomové vydání podporuje RPi a virtualizuje Linux

2. 5. 2017
Doba čtení: 4 minuty

Sdílet

S vývojáři OpenBSD je zábava. Nejdřív zuřivě popřou, že by někdy podpořili tu či onu technologii, a o pár vydání později v plné slávě předvedou opak. Nyní přichází odmítaná podpora RPi i vylepšení virtualizace.

Podpora Raspberry Pi a virtualizovaný Linux ve vmm

Jako aprílový žertík by mohlo přijít vydání 6.1 tomu, kdo dlouhodobě sleduje vývoj tohoto unixového systému. Namísto 1. května, což byl poměrně zavedený termín vydání nových verzí (i když loni už překvapili v březnu), vyšlo OpenBSD 6.1 dne 11.dubna. Když je někdo unixový administrátor a má svůj zavedený plán updatů, může tím být trošku překvapen. To ale nic není proti tomu, co dalšího překvapivého toto vydání přineslo.

Se smutkem jsem v době příchodu Raspberry Pi četl vyjádření hackerů z OpenBSD, že binární blob plný neprůhledného kódu nikdy podporovat nemohou a nebudou. S pobavením jsem se tedy posledního půl roku díval na diskuse, kde vysvítalo, jak pracují na podpoře pro Raspberry, a nyní je to tady oficiálně. Kromě vylepšení pro procesory ARMv7 nově přichází ARM64 s podporou pro Raspberry 3 a Pine 64. Raspberry je asi známější, ale kdo nezná Pine 64, ať rozhodně navštíví stránky tohoto unikátního projektu svobodného hardware, je to neotřelé a navíc levné. Projekt loongson, který také zaznamenal v tomto vydání vylepšenou podporu, je trochu podobný, ale ve srovnání s dvěma výše zmíněnými jakoby trochu kulhá.

V době, kdy NetBSD jako pionýr uvedlo Xen server, odmítali vývojáři OpenBSD virtualizaci jako takovou slovy svého blahosklonného monarchy, že virtualizace jen zvyšuje nebezpečí prolomení nebo selhání systému. V tomto vydání přináší OpenBSD výrazné vylepšení ovladačů pro virtuální stroj OpenBSD běžící na Xenu a dokonce i pro stroje běžící na Hyper-V od Microsoftu. Navíc specialitou této verze je, že přináší virtualizaci jako hostitel ve vlastní technologii OpenBSD vmm, kde od tohoto vydání může běžet jako host kromě OpenBSD také NetBSD, FreeBSD a Linux.

Z faktické stránky je zajímavé, že implementovali podporu pledge pro vmm a ovládání virtualizovaných systémů z hostitele pomocí příkazů v příkazové řádce. Běží to zatím na i386 a amd64, a na rozdíl od vydání 6.0 už nemusíte mít CPU Intel i7, aby vám to běželo. Návodů je málo, ale doporučuji všem, koho to zajímá, se podívat na tyto odkazy:

Každopádně je zřejmé, že nejdříve rozběhli Alpine Linux s vanilla kernelem a teď už ladí podporu pro Ubuntu se všemi těmi jeho komerčními „vylepšeními“.

Puffy v pavučině sítí

Mimo jiného se v poznámkách dočtete o velké podpoře síťových prvků. Jednak to souvisí s výše uvedenou podporou pro různé minipočítače s obskurními síťovými kartami, ale také s podporou virtualizace. Navíc OpenBSD zavádí nové pseudo-zařízení nazvané switch.

Také přináší ovladače pro dosud nepodporované Wi-Fi karty a to dokonce i v AP modu, který zatím fungoval jen u několika málo vybraných zařízení. Na internetu už jsem zahlédl i článek nadepsaný „OpenBSD jako access point se vrací“, ale nevím přesně kam, protože podle mého nepodstatného názoru to nikdy doména OpenBSD nebyla. Naopak, jeden z hard core hackerů Theova týmu před lety zveřejnil návod, kde doporučil postavit si DHCP server s OpenBSD a napojit ho na dva levné TP-Linky, které fungují jen jako AP a předávají pakety do OpenBSD.

Ale zpátky k výčtu vylepšení a nových vlastností: Pro ty, kdo neřeší sítě v paneláku, ale na trochu jiné škále, přináší toto vydání vylepšení routování a implementace BGP. Ti, kdo rádi přidělují adresy přes DHCP, se mohou těšit z mnoha vylepšení, kterých se démonu přidělujícímu adresy dostalo.

Není instalátor jako instalátor

Také instalátor zaznamenal změny. Z hlediska frontendu si uživatel všimne nového dotazu, zda chce X-ka startovat pomocí xenodm. Xenodm je fork XDM, vypadá také skoro stejně (ošklivě), ale pyšní se tím, že místo 18020 řádků kódu potřebuje pouhých 7659.

To, co není vidět, je především oddělení práv při instalaci a použití zabezpečeného protokolu všude, kde to jen trochu jde. S instalací určitě souvisí také uvedení systému binárních patchů syspatch. Pokud jsem dobře četl různé diskuse na Undeadly, Redditu a podobných serverech, jedná se buďto o zavedení binpatche ze systému openup (o kterém jsem tu na Rootu už psal), anebo o mechanismus velmi velmi podobný. Zkrátka jde o to, že člověk bude mít systém aktualizovaný pomocí binárních updatů přímo ze strany OpenBSD, nikoli z repozitáře třetích stran, jak tomu bylo dosud. Více méně tak, jak jsou uživatelé Linuxu dlouhodobě zvyklí (hezky à la sudo apt-get upgrade) a žádné podivné kompilace z pravěku unixu.

Bezpečnost nade vše, jako vždy!

Nebylo by to ovšem OpenBSD, kdyby se nevěnoval dostatečný prostor bezpečnostním vylepšením: seznam kontribucí k funkčnosti a bezpečnosti OpenSSH a LibreSSL je tak dlouhý, že by tento článek snadno obstál jen jejich výčtem.

Jelikož čtenář očekává spíše readers digest, vybírám následující: podpora pro dávno děravý protokol ssh v1 byla definitivně odebrána, šifra 3des-cbc byla jako slabá vyřazena a serverová direktiva UseLogin končí. LibreSSL přinesla podporu pro ALPN, což je mechanismus, jímž se během zahájení TLS komunikace dohodne protokol aplikační vrstvy, který budou partneři používat, a dále SNI, což je zase metoda umožňující použití více domén a certifikátů na jednom webovém serveru a IP adrese. Díky SNI dokáže server při připojení klienta zjistit, který z virtuálních serverů chce klient vidět, a pošle mu správný certifikát pro správnou doménu. Nicméně ten seznam je skutečně vyčerpávající, pokud jste z oboru, doporučuji přečíst.

ict ve školství 24

Co se týká bezpečnosti, stojí také za zmínku, že připojovat zařízení příkazem mount může nově jen a pouze root.

Co dál?

Vzhledem k tomu, co vše nám toto vydání OpenBSD přineslo, a vzhledem k tomu , že Microsoft v posledních měsících uvedl .NET, Azure a MS-SQL pro Linux, s pobavením očekávám, kdy se dočtu, že v portech je k dispozici Skype…

Kde číst více?

Autor článku

Petr Topiarz vystudoval angličtinu a pracuje jako systémový administrátor v jedné pražské IT firmě.