GNU/Linux >> Znalost Linux >  >> Linux

5 nástrojů pro opravy jádra Live, které pomohou provozovat linuxové servery bez restartování

V tomto článku se dozvíte, co je to Linux Kernel live patching, jak zajišťuje dobu provozuschopnosti, jakých 5 nástrojů vám pomůže provozovat servery po léta – bez restartování a jaké jsou výhody a nevýhody každý nástroj.

V organizacích IT existují procesy a postupy tak rutinní, že jsou neviditelné. Nezáleží na tom, zda jsou tyto procesy a praktiky chybné, nebo zda existuje lepší způsob:pokud něco funguje několik let, lidé přestanou hledat alternativy. To dokonale popisuje současné přístupy k záplatování jádra .

V současné době většina organizací opravuje servery plánováním cyklů restartování. Protože restartování serverové flotily je bolest hlavy, která způsobuje prostoje, lidé jej odkládají tak dlouho, jak jen mohou. To znamená, že záplaty nejsou aplikovány co nejdříve. Tato mezera mezi problémem s opravou a její aplikací znamená riziko, nesprávný postup a může způsobit nesoulad.

Tento standardní přístup k opravám jádra vystavuje servery nekalým záměrům aktérů hrozeb na více vektorech útoků, což vystavuje IT organizace riziku závažných bezpečnostních problémů. Každý, kdo má za úkol chránit svou organizaci před kybernetickými útoky, by měl hledat lepší způsob, jak provozovat linuxové servery bez restartování (v ideálním případě po léta).

Proč existuje živé opravování

V roce 2009 student MIT spravující webový server zpozdil opravu linuxového jádra serveru, protože aplikace opravy by vyžadovala restart, což jeho uživatele nepříjemně trápilo. Během zpoždění byl server hacknut. To inspirovalo studenta Jeffa Arnolda , abychom se pokusili vyvinout způsob opravy linuxového jádra bez restartování serveru.

Spojil se s dalšími třemi studenty, aby vyvinuli Ksplice , první softwarový nástroj „bez restartu“ pro záplatování linuxových jader. Založili společnost na propagaci svého nového produktu, který získal Oracle. Když Oracle integroval Ksplice se svou vlastní distribucí, Oracle Linux, začali další linuxoví prodejci pracovat na svých vlastních živých záplatovacích systémech.

To proto, že živé záplatování – aplikace bezpečnostních záplat na server, když je spuštěný, bez nutnosti restartu – nabízí cenné možnosti organizacím, které spravují více serverů:

  • Nepřetržitý provoz serverů bez restartování. To znamená malé nebo žádné prostoje.
  • Automatizace úloh souvisejících s opravami. Zaměstnanci podpory tak mohou dělat jinou práci.
  • Okamžitá aplikace nových oprav. To výrazně snižuje zranitelnost serveru.

Jak funguje oprava Linux Kernel Live

Existují dva základní způsoby opravování linuxového jádra v reálném čase:dočasné a trvalé . Dočasná metoda aplikuje opravu bez restartu, ale ve skutečnosti později vyžaduje restartování serveru. Trvalé opravy v reálném čase nevyžadují vůbec žádný restart.

Dočasná metoda

dočasná metoda Live patching vyžaduje, aby byl na serveru nainstalován software pro správu balíčků (jako je plugin YUM). Když jsou opravy doručeny do úložišť, jsou aplikovány podle pracovních postupů aktualizace určených uživatelem.

Tato metoda je součástí některých distribucí operačního systému Linux a smluv o podpoře některých dodavatelů. Nemělo by to však být považováno za bezplatné nebo levné, protože zahrnuje náklady na čas a problémy, které nejsou předem zřejmé.

Dočasná metoda, nazývaná také „záplatování“, zahrnuje restartování serveru a výpadky. Je to proto, že dočasné záplaty se v průběhu času hromadí jedna na druhé, což snižuje výkon a stabilitu. Jediným řešením tohoto problému je restartování serveru, aby se nahrálo nové jádro do paměti.

Trvalá metoda

Pomocí trvalé metody pro živé záplatování, vyhrazený záplatový server ukládá nejnovější záplaty. Tyto záplaty jsou „monolitické“, nikoli dočasné, protože zahrnují předchozí záplaty. Na webových serverech, které mají být opravovány, běží na pozadí program agenta, který pravidelně kontroluje opravný server, zda neobsahuje opravy. Když dostane od agenta pokyn, modul jádra provede opravu.

Tato metoda zahrnuje licenční poplatky dodavatele, ale tyto poplatky mohou být překvapivě nízké. Trvalá metoda také při nahrazení ruční práce automatizovanými procesy snižuje čas a úsilí potřebné ke správě serverů. A co je nejdůležitější, protože nevyžaduje žádné restartování, umožňuje serverům zůstat v provozu, někdy i několik let.

Trvalé živé opravy nabízí také další důležité výhody. I v případě hardwarových zranitelností, které obvykle vyžadují restartování počítače, jako je Spectre , Zhroucení a Zombieload , servery používající persistentní metodu zůstávají v provozu. Funguje také se skenery zranitelnosti, což je důležité pro soulad s bezpečnostními standardy, jako je SOC2.

Doporučeno k přečtení:

  • Jak zkontrolovat zranitelnosti Meltdown a Spectre a opravit je v Linuxu

5 Live Patching Systems Linux Kernel Live Patching Systems, které pomohou provozovat linuxové servery bez restartování

Existuje několik různých systémů pro záplatování jádra od různých dodavatelů, z nichž většina je určena pro použití s ​​konkrétní distribucí Linuxu:

Oracle Ksplice

Ksplice je původní „bezrebootovací“ záplatovací systém linuxového jádra, vytvořený v roce 2009 a získaný společností Oracle v roce 2011. Nyní funguje pouze s Oracle Linux a RHEL s licencí Oracle. Postrádá funkci plánování, ale provádí automatické aktualizace záplat bez nutnosti restartu.

RedHat Kpatch

Kpatch byl vytvořen společností Red Hat, aby pracoval na vlastní distribuci Linuxu, i když jej lze portovat na systémy založené na Fedoře, CentOS a Debianu, jako je Ubuntu a Gentoo. Není to automatické:s Kpatch musí správce zkontrolovat a aplikovat opravy ručně.

SUSE Kgraft

Kgraft je živý záplatovací systém SUSE a funguje pouze s vlastním Linux Enterprise Serverem SUSE. Na rozdíl od jiných systémů Kgraft nezastavuje funkce jádra, když jsou aplikovány opravy. Místo toho monitoruje funkce, takže může aplikovat všechny záplaty v rámci jediného systémového volání.

Ubuntu Livepatch

Livepatch byl vytvořen společností Canonical, která vyvíjí Ubuntu. Mezi živými záplatovacími systémy je jedinečný v tom, že umožňuje správcům vytvářet vlastní záplaty jádra. Funguje to samozřejmě na Ubuntu, ale také na Red Hat Enterprise Linux.

KernelCare

KernelCare, vyvinutý společností CloudLinux, funguje s nejpopulárnějšími distribucemi, jako jsou CentOS, RHEL, Oracle Linux, Amazon Linux, Debian a Ubuntu. Je automatizovaný, snadno se instaluje, zvládá složité záplaty a poskytuje vlastní záplaty s pevným datem pro splnění specifických potřeb.

Srovnání funkcí a cen

Možnosti oprav

KernelCare

Oracle Ksplice

Red Hat Kpatch

SUSE Kgraft

Ubuntu Livepatch

Distribuce sady oprav

Jedna sada oprav pro všechny opravy

Každý je samostatný modul

Každý je samostatný modul

Každý je samostatný modul

Jedna sada oprav pro všechny opravy

Časování vydání

Před nebo krátce po základní distribuci

Po opravě v základní distribuci

Není poskytnuto

Odpovídá cyklům vydání SUSE

Odpovídá cyklům vydání UBUNTU

Záplatování Glibc

Ano

Ano

Ne

Ne

Ne

Oprava OpenSSL

Ano

Ano

Ne

Ne

Ne

Vlastní opravy

Ano

Ne

Ano

Ano

Ne

Kompatibilita a implementace

KernelCare

Oracle Ksplice

Red Hat Kpatch

SUSE Kgraft

Ubuntu Livepatch

Podporuje starší jádra?

Ano

Ano

Ne

Ne

Ne

32bitová podpora?

Vlastní

Ano

Ne

Ne

Ne

Dostupné rozhraní API?

Ano

Ano

Ne

Ano

Ano

Funkce vrácení zpět?

Ano

Ano

Ne

Ne

Ne

Funguje za firewallem?

Ano

Ano

Ano

Ano

Ano

Podporované distribuce

Oracle Ksplice

Oracle Linux, Fedora 25-27, Ubuntu Desktop 14.04-17.10

Kpatch Red Hat

Red Hat Enterprise Linux, Ubuntu, Debian, Gentoo

SUSE Kgraft

SUSE

Ubuntu Livepatch

Ubuntu

KernelCare

CloudLinux OS, Amazon Linux 1 &2, CentOS, Debian, OpenVZ, Oracle Enterprise Linux, Oracle UEK, Proxmox VE, Red Hat Enterprise Linux, Ubuntu, Ubuntu Core, Virtuozzo , Xen4 CentOS, Yokto

Cena za server

Oracle Ksplice

2 299 USD (1 399 USD) za server a rok:cena předplatného Oracle Linux Premier nebo (omezené) podpory

Kpatch Red Hat

1299 $ za server a rok:cena předplatného podpory RHEL Premium

SUSE Kgraft

2198 $ za server a rok:kombinované náklady na službu oprav v reálném čase (699 $) a předplatné na prioritní server (1499 $)

Ubuntu Livepatch

225 USD za server za rok, 75 USD za rok pro virtuální stroje:cena za předplatné podpory Ubuntu Advantage

KernelCare

27 USD za server za rok, za licenci na více než 500 serverů.

Související čtení

  • Detekce zastaralých sdílených knihoven v paměti pomocí Uchecker

Který systém živého záplatování Linux Kernel je pro vás nejlepší?

Pro společnost provozující webové servery interně, s velkým počtem systémových administrátorů, standardizovanými systémy a stávajícími smlouvami na podporu se společnostmi Oracle, Red Hat nebo SUSE mohou výhody používání zahrnutých záplatovacích systémů převážit nad náklady. Pravidelná interakce s podpůrnými operacemi těchto dodavatelů může pomoci zefektivnit jejich vlastní.

Pro organizaci provozující webové servery, které jsou standardizované na Ubuntu, je její systém Livepatch, který je součástí jejího předplatného podpory, dobrou volbou. Systém je v pořádku a náklady jsou nízké ve srovnání s výše uvedenými smlouvami o podpoře.

Pro společnost s velkou flotilou serverů, která zahrnuje různé distribuce Linuxu, je systém KernelCare jedinou schůdnou možností. Je to také dobrá volba pro společnosti, které se týkají nákladů a efektivity, protože poskytuje automatizované, flexibilní opravy za nízkou cenu.

Pro firmy provozující zařízení s připojením k internetu jako součást „Internet of Things“ je KernelCare jedinou možností. Většina těchto zařízení používá linuxové kontejnery, a když jsou hacknuta, může to mít smrtelné následky, takže udržovat jejich jádra záplatovaná je zásadní. Díky rychlému načasování oprav v systému KernelCare je vhodný pro aplikace IoT.

Související čtení:

  • Různé způsoby aktualizace jádra Linuxu pro Ubuntu

Používáte v současné době některý z výše uvedených živých záplatovacích systémů? Podělte se prosím o své myšlenky v sekci komentářů níže.


Linux
  1. Linux Kernel Live Patching na Ubuntu 20.04 LTS

  2. Jak nastavit automatické aktualizace jádra bez restartu na serveru Linux

  3. Linux super duper nástroje pro správu:kontrola stavu

  1. Co dělá jádro Linux Server základním?

  2. Můžete spustit Xcode v Linuxu?

  3. Živé ladění linuxového jádra, jak se to dělá a jaké nástroje se používají?

  1. Spusťte kontejnery na Linuxu bez sudo v Podman

  2. Aktualizace jádra bez restartu

  3. Jak mohu zkompilovat, nainstalovat a spustit nástroje uvnitř jádra/nástrojů?