← Späť na úvod

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

Unikernel je jeden samostatný program, ktorý beží priamo na virtuálnom serveri (KVM), bez Linuxu, shellu a procesov. Vašu službu prispôsobíme takémuto základu a vy ju spustíte z jedného obrazu disku. Základ sme sami vyvinuli a overili na vlastnom produkte, MQTT brokeri urMQTT.

Výhody

Malá plocha na útok

Jeden staticky zlinkovaný obraz bez operačného systému, shellu a používateľských procesov; otvorí sa len to, čo služba potrebuje. Komponenty, ktorým sa nedá úplne dôverovať (napr. knižnica v C), môžu bežať izolovane, vo vlastnom adresnom priestore bez prístupu k jadru.

Menej údržby

Žiadny operačný systém na záplatovanie a aktualizáciu: nová verzia je nový obraz. Obraz má len niekoľko megabajtov.

Menej súčastí, menej prekvapení

Správanie určuje jeden program a jeho konfigurácia; žiadne služby na pozadí, balíky ani veci, ktoré sa spúšťajú samy.

Konfigurácia sú dáta

Nastavenia a certifikáty sa zabalia do overenej konfigurácie, ktorá sa kontroluje pri každom štarte; obraz vypíše odtlačok svojej konfigurácie, takže si možno overiť, že je to ten, ktorý ste si objednali.

Bezpečnosť je súčasťou základu

TLS 1.3 so vzájomnou autentifikáciou, ochrana pred zahltením siete, limity zdrojov a watchdog bránia tomu, aby jeden zlý klient zastavil ostatných; úložisko je testované výpadkom prúdu pri každom zápise, voliteľne so šifrovaním disku.

Overiteľné a bez väzby

Reprodukovateľné zostavenia, podpísané vydania, súpis softvérových komponentov (SBOM), základ s otvoreným zdrojovým kódom a auditný balík, ktorý uvádza aj známe slabiny.

Vhodné pre malé aj veľké prostredia

Ten istý kód beží na virtuálnych serveroch aarch64 aj x86_64.

Čo ponúkame

Cena za všetko: na vyžiadanie

Posúdenie uskutočniteľnosti

Prejdeme vašu službu (jazyk, závislosti, nároky na sieť a disk) a povieme vám, čo je možné, čo treba upraviť a koľko práce to je, skôr než sa zaviažete k čomukoľvek ďalšiemu.

Prispôsobenie služby unikernelu

Službu (najjednoduchšie v Ruste; knižnice v C v izolovanom workeri) prenesieme na náš základ: sieť, TLS, úložisko, konfigurácia a zaznamenávanie udalostí.

Pilot na vašom serveri

Službu spustíme na vašej infraštruktúre (KVM), vyskúšame ju s vašou prevádzkou a odovzdáme správu o výkone.

Podpora a údržba

Aktualizácie obrazu, spracovanie nahlásených zraniteľností a školenie vášho tímu.

urMQTT ako hotový produkt

Ak potrebujete MQTT broker: nakonfigurovaný, podpísaný obraz s vašimi certifikátmi.

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

Dobrý: služba s jediným účelom, ktorá prijíma sieťové spojenia: protokolový server, brána (gateway), zberač dát, koncový bod TLS, okrajové zariadenie. Horší: program, ktorý potrebuje ekosystém Linuxu, súborový systém, veľa procesov alebo veľký počet odchádzajúcich spojení. Dnešný základ prijíma spojenia (server TCP), neotvára odchádzajúce spojenia TCP a podporuje len IPv4; rozšírenia posudzujeme podľa projektu.

Platformy a jazyky: čo dnes podporujeme

Platformy a jazyky: čo dnes podporujeme
PlatformaStav
Virtuálne servery KVM, aarch64Overené (Apple HVF a TCG)
Virtuálne servery KVM, x86_64 (UEFI a BIOS)Bežalo na skutočnom KVM VPS (AMD EPYC), navyše testy v emulátore; na fyzickom hardvéri nevyskúšané
Virtuálne zariadeniavirtio (sieť, disk, SCSI, náhodné čísla)
SieťIPv4; TCP ako server (prijíma spojenia, neotvára odchádzajúce)
Fyzické servery (bare metal), VMware, Hyper-V, XenNepodporujeme (zatiaľ)
Jazyk služby
Jazyk službyStav
RustPrirodzená voľba: celý základ je v Ruste
CLen ako izolovaný program s našou malou vrstvou libc (takto beží SQLite); nie je to POSIX
C++Možné ako C, nepreukázané; posudzuje sa podľa projektu
Go, Java, Python, Node.js, .NET, PHPNepodporujeme: vyžadujú operačný systém. Služba sa potom prepíše do Rustu, alebo zostane na Linuxe s unikernel bránou na okraji

Čo by ste mali vedieť hneď

Základ je v ranej fáze (verzia pred 1.0). Cieli na virtuálne servery KVM; x86_64 bežalo na skutočnom KVM VPS a v emulátore, ale nie na fyzickom hardvéri; Secure Boot je čiastočný a nezávislý bezpečnostný audit sa zatiaľ nerobil. Preto ponúkame pilot s podporou, nie certifikovaný produkt.

Príklad: urMQTT

MQTT broker na tomto základe: TLS 1.3 so vzájomnou autentifikáciou, odvolanie certifikátov bez nového obrazu, izolovaná databáza SQLite, voliteľné šifrovanie disku. Pozrite si zdrojový kód na GitHube alebo nás kontaktujte.