OpenBSD 6.0: lepší routování a správa hesel, konec Linuxu a Vaxu

7. 9. 2016
Doba čtení: 5 minut

Sdílet

Kdo čte Root, ten už to ví, kdo je dobrý administrátor, má v tuto chvíli upgrade za sebou. Pojďme se ještě podívat na to, co se povedlo a co se do vydání OpenBSD 6.0 nedostalo.

Hlavní změny

Změny proběhly na všech úrovních, od kernelu po userland, ale přesto se nejedná o přelomové vydání. Spíše spousty malých změn ponejvíce ohledně síťového provozu. Tady bych rád připomněl, že přechod z verze 5.9 na 6.0 neznamená v OpenBSD začátek nové stable větve, jako ve FreeBSD nebo NetBSD, ale prostě jenom jedno další vydání v řadě.

Vylepšení ARM v7

Architektura armv7 se dočkala vylepšení, byla například přidána podpora pro EFI a hardware se nyní načítá dynamicky pomocí FDT namísto původních tabulek, načítajících HW podle ID základní desky.

Ovladače

Přibyla hromada ovladačů pro zařízení všeho druhu:

  • řadiče:
    • bytgpio (Intel Bay Trail GPIO)
    • chvgpio (Intel Cherry View GPIO)
  • real-time-clock:
    • maxrtc (Maxim DS1307)
    • pcfrtc (NXP PCF8523)
  • paměť: nvme (Non-Volatile Memory Express)
  • síťová zařízení:
    • umb (Mobile Broadband Interface Model-MBIM)
    • iwm (Intel Wireless 3165 and 8260)
    • ure (RealTek RTL8152 10/100 USB Ethernet)
  • multimedia: utvfu (audio/video capture Fushicai USBTV007)
  • octeon: vylepšení rychlostí a šíře sběrnic a také vyšší DMA pro sdmmc(4), rtsx(4), sdhc(4), and imxesdhc(4), vylepšení ovladačů USB.
  • acpi: zlepšena podpora pro ACPI 5.0
  • Apple: vylepšena podpora AGP na G5 PowerPC

Bezpečnost především

W^X je nyní vynucováno ve výchozím stavu. Program se může systému zamknutí paměti vyhnout pouze na určitých diskových oddílech připojených s volbou „wxallowed“, pokud je to pro jeho běh vitálně nutné.

TCP SYN cache nově resetuje svou cache, aby útočník nemohl případně spočítat systém generování hashe.

Jako obranu proti SYN flooding útoku může nyní administrátor zvětšit velikost hashového pole.

Aby se zabránilo exploitu znovupoužitím kódu, rc nyní přelinkuje libc.so na začátku tak, že umístí objekty do náhodného pořádku.

Strašně rád bych věděl, jak přesně vypadají ty tři výše uvedené body v praxi, a tak aspoň doufám, že to poskytne zajímavé postřehy těm, kdo si to představit umějí.

Bezpečnější přístup k heslům

Už ve verzi 5.9 se pracovalo bezpečně se shadow passwd (zahashovaná hesla nebyla viditelná v /etc/passwd), ale stále bylo možno pomocí různých memory leaks teoreticky přistoupit k odpovědi na getpwnam_shadow. Nyní bylo ale dotazování na uživatelské heslo změněno a dotazy se nepokoušejí otevřít shadow databázi s pamětí, místo toho používají speciální shadow funkce, které úniku paměti zabraňují.

Rychlejší Firefox

OpenBSD není extra rychlé a Firefox je na tom podobně. Do verze 6.0 se dostalo několik vylepšení přístupu k paměti a odstranilo se dvojité načítání bufferu X-serveru. Zároveň se vývojářům povedlo lépe nastavit mapování paměti. A výsledek? Vývojář Ted Unangst se o tom rozepsal na svém blogu, který končí povzdechem, že když se zeptáte 12 vývojářů Firefoxu, co může způsobovat tu pomalost, dostanete 12 odpovědí. Bohužel, všechny se nakonec ukážou pravdivé…

Zlepšené routování a síťové vlastnosti

Ovládání routovací tabulky je nově postaveno na ART, což umožňuje rychlejší vyhledávání. Zároveň se routování dočkalo podpory v systému spouštění daemonů rcctl a rc.d. Byly provedeny opravy v hlavičkách VLAN. Síťové dotazy se nyní pomocí klonování bpf zpracovávají pomocí právě jednoho zařízení  /dev/bpf, které obslouží najednou až 1024 klientů. A znatelných oprav a vylepšení se těší i bezdrátové sítě, kde například byla přidána podpora pro netstat a v Host AP modu ošetřeno cacheování, které dosud u některých zařízení dělalo neplechu.

S čím se musíme rozloučit

Když čtete skvělou knížku Kukaččí vejce od Cliffa Stolla (Doporučuji!), jejíž děj probíhá v dávnověku unixového času, slovo Vax tam rezonuje od začátku do konce. Takže unixoví nostalgici jako já musí zatlačit slzu při vědomí, že Vaxy vymírají… (na NetBSD ještě chvíli žít budou). Ale podle průzkumů vývojářů to zasáhne minimální počet aktivních uživatelů, tak například na dotaz „Anybody still on Vax?“ na jednom frekventovaném BSD fóru se ozval jen jeden hobyista.

Další, kdo si vystoupí z rozjetého vlaku OpenBSD, je emulace Linuxu. Byl to předvídatelný krok, protože už dříve skončila emulace Linuxu na amd64 (alias x86–64, jak se říká v Linuxu). Nyní byla odebrána z historické platformy 32bit i386. Konec konců programy z linuxové pokladnice se pomalu vytrácely z portů už delší dobu. Většinou byly nahrazeny vlastním kódem, takže problém nenastal. Přesto zůstávají prázdná místa – tak například bez Adobe Readeru nevyplníte určité dokumenty státní správy, bez linuxového citrixového klienta se nepřipojíte k firemním Windows a tak dále. Ovšem je třeba připomenout, že za cenu minimálních ztrát bylo odstraněno mnoho MB kódu, což znamená postup přesně v linii vývoje OpenBSD. Kód zjednodušit a udržovat co nejčistší.

Volba „usermount“ byla odebrána z kernelu. Tato volba dovolovala uživateli za určitých okolností připojovat disky a jiná zařízení bez rootovských oprávnění. Důvodem byl málo udržovaný kód a fakt, že připojení určitých druhů zařízení může skončit zaseknutím systému.

Co jsem opomněl?

Je toho hromada, ale čte se to jako telefonní seznam, proto těm, kdo chtějí podrobnosti a více informací doporučuji navštívit oznámení o vydání a ponořit se do toho.

Na co se už nedostalo, ale stojí to za to?

Do OpenBSD httpd byla přidána podpora libtls, což zvyšuje kompatibilitu tohoto web serveru a odstraňuje některé problémy s autoritou Let's Encrypt. Bohužel tuto změnu zapracoval Joel Sing příliš pozdě a už nebyla zahrnuta do 6.0. Objeví se až v následujícím vydání, k disposici je nyní ve větvi current.

Na Hackatonu g2k16 posunul Mike Larkin svůj virtuální stroj opět blíže k použitelnosti, když implementoval hardwarové přerušení a hardwarové hodiny do OpenBSD vmm. Dále se povedlo zlepšit práci s virtuální pamětí a dát hostujícímu systému přístup přímo k paměti bez emulace. Nyní Mike ještě vylepšuje přístup vmm k biosu. Pokud někdo neví, o čem píšu, jde o virtuální stroj (podobný třeba VirtualBoxu), který od píky vyvíjejí nadšenci z OpenBSD a byl představen na konci loňského podzimu.

ict ve školství 24

Taktéž na g2k16 zapracovali vývojáři ještě na vylepšení podpory ovladačů Wi-Fi, která je po mém soudu v OpenBSD na velmi dobré úrovni, takže se na příště máme na co těšit.

Zdroje

Pochopitelně dlouhodobě čerpám z obrovské hromady článků na blozích vývojářů, ale pro konkrétní rozvedené problémy z tohoto článku naleznete podrobnosti zde:

Autor článku

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