← Zpět na úvod

Vaše služba bez operačního systému

Unikernel je jediný samostatný program, který běží přímo na virtuálním serveru (KVM), bez Linuxu, shellu a procesů. Vaši službu přizpůsobíme takovému základu a vy ji spustíte z jednoho obrazu disku. Základ jsme sami vyvinuli a ověřili na vlastním produktu, MQTT brokeru urMQTT.

Výhody

Malá plocha pro útok

Jeden staticky linkovaný obraz bez operačního systému, shellu a uživatelských procesů; otevře se jen to, co služba potřebuje. Komponenty, kterým nelze plně důvěřovat (např. knihovna v C), mohou běžet izolovaně, ve vlastním adresním prostoru bez přístupu k jádru.

Méně údržby

Žádný operační systém k záplatování a aktualizaci: nová verze je nový obraz. Obraz má jen několik megabajtů.

Méně součástí, méně překvapení

Chování určuje jeden program a jeho konfigurace; žádné služby na pozadí, balíčky ani věci, které se spouštějí samy.

Konfigurace jsou data

Nastavení a certifikáty se zabalí do ověřené konfigurace, která se kontroluje při každém startu; obraz vypíše otisk své konfigurace, takže lze ověřit, že je to ten, který jste si objednali.

Bezpečnost je součástí základu

TLS 1.3 se vzájemnou autentizací, ochrana proti zahlcení sítě, limity zdrojů a watchdog brání tomu, aby jeden špatný klient zastavil ostatní; úložiště je testováno výpadkem proudu při každém zápisu, volitelně se šifrováním disku.

Ověřitelné a bez vazby

Reprodukovatelná sestavení, podepsaná vydání, soupis softwarových komponent (SBOM), základ s otevřeným zdrojovým kódem a auditní balíček, který uvádí i známé slabiny.

Vhodné pro malá i velká prostředí

Stejný kód běží na virtuálních serverech aarch64 i x86_64.

Co nabízíme

Cena za vše: na vyžádání

Posouzení proveditelnosti

Projdeme vaši službu (jazyk, závislosti, nároky na síť a disk) a řekneme vám, co je možné, co je třeba upravit a kolik práce to je, dříve než se zavážete k čemukoli dalšímu.

Přizpůsobení služby unikernelu

Službu (nejsnáze v Rustu; knihovny v C v izolovaném workeru) převedeme na náš základ: síť, TLS, úložiště, konfigurace a zaznamenávání událostí.

Pilot na vašem serveru

Službu spustíme na vaší infrastruktuře (KVM), vyzkoušíme ji s vaším provozem a předáme zprávu o výkonu.

Podpora a údržba

Aktualizace obrazu, zpracování nahlášených zranitelností a školení vašeho týmu.

urMQTT jako hotový produkt

Pokud potřebujete MQTT broker: nakonfigurovaný, podepsaný obraz s vašimi certifikáty.

Dobrý kandidát a horší kandidát

Dobrý: služba s jediným účelem, která přijímá síťová spojení: protokolový server, brána (gateway), sběrač dat, koncový bod TLS, okrajové zařízení. Horší: program, který potřebuje ekosystém Linuxu, souborový systém, mnoho procesů nebo velké množství odchozích spojení. Dnešní základ přijímá spojení (server TCP), neotevírá odchozí spojení TCP a podporuje jen IPv4; rozšíření posuzujeme podle projektu.

Platformy a jazyky: co dnes podporujeme

Platformy a jazyky: co dnes podporujeme
PlatformaStav
Virtuální servery KVM, aarch64Ověřeno (Apple HVF a TCG)
Virtuální servery KVM, x86_64 (UEFI a BIOS)Běželo na skutečném KVM VPS (AMD EPYC), navíc testy v emulátoru; na fyzickém hardwaru nevyzkoušeno
Virtuální zařízenívirtio (síť, disk, SCSI, náhodná čísla)
SíťIPv4; TCP jako server (přijímá spojení, neotevírá odchozí)
Fyzické servery (bare metal), VMware, Hyper-V, XenNepodporujeme (zatím)
Jazyk služby
Jazyk službyStav
RustPřirozená volba: celý základ je v Rustu
CJen jako izolovaný program s naší malou vrstvou libc (takto běží SQLite); není to POSIX
C++Možné jako C, neprokázáno; posuzuje se podle projektu
Go, Java, Python, Node.js, .NET, PHPNepodporujeme: vyžadují operační systém. Služba se pak přepíše do Rustu, nebo zůstane na Linuxu s unikernel bránou na okraji

Co byste měli vědět hned

Základ je v rané fázi (verze před 1.0). Cílí na virtuální servery KVM; x86_64 běželo na skutečném KVM VPS a v emulátoru, ale ne na fyzickém hardwaru; Secure Boot je částečný a nezávislý bezpečnostní audit zatím nebyl proveden. Proto nabízíme pilot s podporou, ne certifikovaný produkt.

Příklad: urMQTT

MQTT broker na tomto základu: TLS 1.3 se vzájemnou autentizací, odvolání certifikátů bez nového obrazu, izolovaná databáze SQLite, volitelné šifrování disku. Prohlédněte si zdrojový kód na GitHubu nebo se nám ozvěte.