← Vissza a főoldalra

Az Ön szolgáltatása operációs rendszer nélkül

Az unikernel egyetlen önálló program, amely közvetlenül egy virtuális szerveren (KVM) fut, Linux, shell és folyamatok nélkül. Szolgáltatását ilyen alapra igazítjuk, Ön pedig egyetlen lemezképről indítja. Az alapot mi fejlesztettük, és saját termékünkön, az urMQTT MQTT-brókeren próbáltuk ki.

Előnyök

Kis támadási felület

Egyetlen statikusan szerkesztett lemezkép operációs rendszer, shell és felhasználói folyamatok nélkül; csak az nyílik meg, amire a szolgáltatásnak szüksége van. Az olyan összetevők, amelyekben nem lehet teljesen megbízni (például egy C-könyvtár), elszigetelten, külön címtérben futhatnak, a kernelhez való hozzáférés nélkül.

Kevesebb karbantartás

Nincs javítandó és frissítendő operációs rendszer: az új verzió új lemezkép. A lemezkép mindössze néhány megabájt.

Kevesebb alkatrész, kevesebb meglepetés

A működést egyetlen program és annak konfigurációja határozza meg; nincsenek háttérszolgáltatások, csomagok, sem magától induló dolgok.

A konfiguráció adat

A beállítások és a tanúsítványok ellenőrzött konfigurációba csomagolódnak, amelyet minden indításkor ellenőriz a rendszer; a lemezkép kiírja a konfigurációja ujjlenyomatát, így ellenőrizhető, hogy az-e, amelyiket megrendelte.

A biztonság az alap része

A TLS 1.3 kölcsönös hitelesítéssel, a hálózati elárasztás elleni védelem, az erőforrás-korlátok és egy watchdog megakadályozza, hogy egy hibás kliens megállítsa a többit; a tárolást minden írásnál áramkimaradással tesztelik, opcionális lemeztitkosítással.

Ellenőrizhető és kötöttségek nélküli

Reprodukálható buildek, aláírt kiadások, szoftver-alkatrészjegyzék (SBOM), nyílt forráskódú alap és egy auditcsomag, amely az ismert gyengeségeket is felsorolja.

Kis és nagy környezetekhez is

Ugyanaz a kód fut aarch64 és x86_64 virtuális szervereken.

Amit kínálunk

Az ár mindenre: kérésre

Megvalósíthatósági felmérés

Átnézzük a szolgáltatását (nyelv, függőségek, hálózati és lemezigények), és megmondjuk, mi lehetséges, mit kell átalakítani és mekkora munka ez, mielőtt bármi másra elköteleződne.

Szolgáltatásának igazítása az unikernelhez

Átültetjük a szolgáltatást (Rustban a legegyszerűbb; a C-könyvtárak elszigetelt workerben) az alapunkra: hálózat, TLS, tárolás, konfiguráció és naplózás.

Pilot az Ön szerverén

Elindítjuk a szolgáltatást az Ön infrastruktúráján (KVM), kipróbáljuk az Ön forgalmával, és átadunk egy teljesítményjelentést.

Támogatás és karbantartás

A lemezkép frissítései, a bejelentett sebezhetőségek kezelése és a csapata képzése.

Az urMQTT kész termékként

Ha MQTT-brókerre van szüksége: konfigurált, aláírt lemezkép az Ön tanúsítványaival.

Jó jelölt és kevésbé jó jelölt

Jó: egycélú szolgáltatás, amely hálózati kapcsolatokat fogad: protokollszerver, átjáró (gateway), adatgyűjtő, TLS-végpont, peremeszköz. Kevésbé jó: olyan program, amelynek Linux-ökoszisztéma, fájlrendszer, sok folyamat vagy nagyszámú kimenő kapcsolat kell. A mai alap fogad kapcsolatokat (TCP-szerver), nem nyit kimenő TCP-kapcsolatot, és csak IPv4-et támogat; a bővítéseket projektenként értékeljük.

Platformok és nyelvek: amit ma támogatunk

Platformok és nyelvek: amit ma támogatunk
PlatformÁllapot
KVM virtuális szerverek, aarch64Ellenőrizve (Apple HVF és TCG)
KVM virtuális szerverek, x86_64 (UEFI és BIOS)Futott valódi KVM VPS-en (AMD EPYC), emellett emulátoros tesztek; fizikai hardveren nem próbálták
Virtuális eszközökvirtio (hálózat, lemez, SCSI, véletlenszámok)
HálózatIPv4; TCP szerverként (fogad kapcsolatokat, kimenőt nem nyit)
Fizikai szerverek (bare metal), VMware, Hyper-V, XenNem támogatott (még)
A szolgáltatás nyelve
A szolgáltatás nyelveÁllapot
RustA természetes választás: az egész alap Rustban készült
CCsak elszigetelt programként, a mi kis libc-rétegünkkel (így fut az SQLite); nem POSIX
C++Lehetséges, mint a C, nem bizonyított; projektenként értékeljük
Go, Java, Python, Node.js, .NET, PHPNem támogatott: operációs rendszert igényelnek. Ilyenkor a szolgáltatást Rustban újraírják, vagy Linuxon marad, a peremén unikernel-átjáróval

Amit érdemes előre tudni

Az alap korai fázisban van (az 1.0 előtti verzió). A KVM virtuális szervereket célozza; az x86_64 futott valódi KVM VPS-en és emulátorban, de fizikai hardveren nem; a Secure Boot részleges, független biztonsági auditot pedig még nem végeztek. Ezért pilotot kínálunk támogatással, nem tanúsított terméket.

Példa: urMQTT

Egy MQTT-bróker erre az alapra építve: TLS 1.3 kölcsönös hitelesítéssel, tanúsítvány-visszavonás új lemezkép nélkül, elszigetelt SQLite adatbázis, opcionális lemeztitkosítás. Nézze meg a forráskódot a GitHubon, vagy keressen minket.