GNU/Linux >> Belajar Linux >  >> Linux

Sejarah Penambalan Langsung Kernel Linux

Menginstal kernel Linux terbaru biasanya berarti reboot, hingga pengembangan 'pembaruan kernel tanpa booting', sebuah metode yang menambal server tanpa memulai ulang. Dengan teknik yang sekarang baru berusia lebih dari 10 tahun, artikel ini membahas secara singkat asal-usul dan keadaannya saat ini.

2001–2010:Jejak Paten

Jika Anda menelusuri arsip paten dengan kata kunci seperti hot patching, atau pembaruan sistem langsung, Anda akan mengeruk banyak aplikasi dan penolakan yang menunjukkan bahwa gagasan memperbarui sistem komputer tanpa menghentikannya bukanlah hal baru. Tanggal-tanggal penting, menelusuri gagasan dari umum ke khusus, adalah sebagai berikut:

  • 2001:Hewlett Packard mematenkan metode untuk memperbarui perangkat lunak secara dinamis guna menghindari fungsionalitas perangkat keras yang hilang.
  • 2002:Microsoft bergabung dengan permainan dengan pendekatan untuk memperbarui sistem (Windows) tanpa mengganggunya. (Aplikasi awal mereka ditolak dengan alasan 'prior art' HP.)
  • 2008:Jeff Arnold mengumumkan Ksplice, perangkat lunak untuk memperbarui (menambal) kernel Linux tanpa gangguan (yaitu tanpa me-reboot).
  • 2010:Paten Microsoft akhirnya diberikan melalui banding.

Hal yang menarik tentang ini adalah bahwa mereka berbagi aspirasi untuk memperbaiki, dengan pembaruan perangkat lunak, kesalahan dalam perangkat lunak atau perangkat keras inti sistem tanpa mempengaruhi kelanjutan berjalannya sistem itu dan tanpa mengubah perangkat keras. Kedengarannya akrab? (Petunjuk:Meltdown, Spectre.)

2009:Kelahiran Rebootless

Jeff Arnold adalah seorang mahasiswa MIT yang menjaga salah satu server mereka. Itu membutuhkan patch keamanan, tetapi dia menundanya karena reboot akan membuat penggunanya tidak nyaman. Sebelum sistem dapat diperbarui, itu diretas. Aib dan (ironisnya) ketidaknyamanan yang diderita menginspirasi Jeff untuk menemukan topik untuk tesis Masternya dalam masalah melakukan pembaruan sistem tanpa penundaan dan tanpa me-rebootnya. Ceritanya mungkin tidak jelas, tetapi ini mengingatkan kita bahwa teknik live patch muncul dari perhatian bukan untuk kenyamanan tetapi untuk keamanan, dan dalam peran itulah mereka harus dihargai.

Jeff Arnold bekerja sama dengan tiga rekan mahasiswa untuk mempelajari masalah bagaimana memperbarui kernel server Linux, tanpa penundaan dan tanpa mengganggu proses sistem. Solusinya datang dalam bentuk perangkat lunak yang disebut Ksplice, dasar teknis yang dituangkan dalam makalah akademik 2009. Judul makalah termasuk kata rebootless, singkatan Linux yang sekarang dikenal untuk 'pembaruan tanpa gangguan', tetapi pertama kali diciptakan oleh Microsoft pada tahun 2005 untuk diterapkan pada pembaruan driver Windows.

Setelah lulus, Jeff dan rekan MIT-nya memulai Ksplice Inc., dan pada Mei 2009 mereka memenangkan hadiah Kompetisi Kewirausahaan MIT $100K. Perusahaan meluncurkan layanan komersial pada tahun 2010; semuanya berjalan dengan baik.

2011–2016:Oracle dan Gelombang Baru

Pada 21 Juli 2011, Oracle mengakuisisi Ksplice, Inc., mengintegrasikan perangkat lunak ke dalam merek Linux mereka sendiri, yang merupakan turunan dari Red Hat. Terlepas dari warisan itu, Oracle berhenti mendukung Red Hat. Akuisisi Ksplice oleh Oracle memulai lonjakan aktivitas di antara vendor-vendor utama Linux yang tersisa.

Antara 2011 dan 2014, SUSE dan Red Hat bekerja secara terpisah (dan tidak mengetahui tujuan masing-masing) untuk merilis solusi pembaruan kernel langsung mereka sendiri, yang masing-masing mereka lakukan di Kgraft dan Kpatch. (Meskipun sedikit lebih awal, Kgraft SUSE hanya dibuat GA (yaitu cocok untuk sistem produksi) pada tahun 2016.)

Red Hat membagikan kode Kpatch mereka dengan komunitas dan mengintegrasikannya sebagai fitur yang didukung dari Red Hat Enterprise Linux.

Perbedaan antara dua inkarnasi dapat disimpulkan dari pesan yang terpampang di halaman proyek versi sumber terbuka:

PERINGATAN:Gunakan dengan hati-hati!
Kernel mogok, reboot spontan,
dan kehilangan data dapat terjadi!

Sepanjang periode yang sama, dan secara paralel dengan upaya SUSE dan Red Hat, fondasi ABI dasar untuk mendukung live patch sedang diintegrasikan ke dalam kode sumber kernel Linux versi 4.0. Idenya adalah untuk mengambil ide-ide terbaik dari Kpatch dan Kgraft dan... menambal dan mencangkokkannya ke dalam pendekatan umum untuk jalur utama. Ini disebut livepatch, dan pada Oktober 2016, Canonical mengumumkan bahwa mereka memperkenalkan layanan pembaruan kernel komersial mereka sendiri berdasarkan itu, yang dapat diduga disebut Layanan Livepatch Canonical. Pertama hanya tersedia untuk Ubuntu 16.04 LTS, kemudian diperluas untuk mencakup 14.04 LTS juga. Di Ubuntu 18.04 LTS Livepatch adalah opsi penginstalan dan dapat dikonfigurasi dari alat manajemen perangkat lunak bawaan, tanda semakin pentingnya dalam distribusi perangkat lunak standar.

2014:Anak Baru di Blok

Saat vendor besar berjuang untuk menjadi yang pertama meluncurkan solusi patching langsung yang layak, CloudLinux, pemain utama dalam sistem operasi hosting web berbasis Linux, meluncurkan KernelCare pada Mei 2014, setelah sukses beta pada Maret.

Mereka mengejutkan pasar dengan menawarkan set fitur terluas di sebagian besar platform Linux, mendukungnya dengan reputasi yang kuat dalam pengembangan kernel Linux dan dukungan pelanggan. Kejutan lainnya adalah keterjangkauan, menarik bagi penghosting situs web yang menganggap biaya per server KernelCare lebih mudah dikelola dan terukur daripada biaya per situs pesaing utama mereka.

Baru-baru ini, bundling KernelCare dengan Imunify360 telah membuatnya muncul di radar skuadron baru admin sistem yang terbang tinggi dan berpikiran keamanan.

Kesimpulan:Masalah Inti di 2019

Saat dunia bergerak menuju keamanan otomatis, Anda akan melihat perangkat lunak manajemen patch kernel langsung terintegrasi ke dalam distribusi Linux yang populer semakin erat. Saat ini hanya ada lima vendor yang berbeda di pasar. Tabel perbandingan fitur mencantumkan nilai jual utama mereka. Di bagian bacaan lebih lanjut, Anda akan menemukan sumber dokumentasi dan artikel latar belakang.

Mengutak-atik kernel aktif bisa jadi berantakan. Itu bukan sesuatu yang perusahaan, atau siapa pun yang menjalankan server, ingin mempercayai perangkat lunak yang belum teruji dan tidak didukung. Jika dilakukan atas nama keamanan, ini adalah salah satu dari sejumlah aplikasi di Linux yang layak dibayar, salah satu dari sedikit yang benar-benar harus dilakukan dengan benar.

Karena aplikasi paten Microsoft tahun 2002, diskusi pada saat itu mengungkapkan kekhawatiran atas kelangsungan jangka panjang dari teknologi tersebut. Lihat lkml.org April 2008 dan lwn.net Juli 2011.

MIT News:“Membawa pembaruan tanpa reboot ke dunia” (2014).

Sejak Januari 2016, Ksplice hanya tersedia sebagai bagian dari produk UEK Oracle dan Oracle Linux 6 &7. Pada bulan November tahun itu, mereka menghapus kode Kpatch upstream Red Hat.

Layanan pembaruan langsung kernel Linux:Tabel perbandingan fitur

Fitur

Ksplice

Kgraft

Kpatch

Livepatch

KernelCare

Instal/konfigurasi yang mudah

Ya

T/A

Ya

Ya

Ya

Kembalikan

Ya

Ya

Ya

Ya

Ya

Memperbaiki patch

Ya

Tidak

Tidak

Tidak

Ya

Ramah terhadap firewall

Ya

Tidak

Tidak

Tidak

Ya

Pembaruan offline

Ya

Tidak

Tidak

Tidak

Ya

Kontrol akses patch

Ya

Tidak

Tidak

Ya

Ya

Sepenuhnya otomatis

Ya

Tidak

Tidak

Tidak

Ya

GUI Manajemen

Ya

Tidak

Tidak

Ya

Ya

Dukungan 24/7 Gratis

Tidak

Tidak

Tidak

Tidak

Ya

Jumlah Platform

2

1

1 (4)

1

9

Penambalan seketika

Ya

Tidak

Ya

Ya

Ya

Uji Coba Gratis (hari)

30

60

Tidak

Tidak

30

API (REST)

Ya

Tidak

Tidak

Tidak

Ya

Penggantian non-terbaru

Ya

Tidak

Tidak

Tidak

Ya

Kernel khusus

Tidak

Tidak

Ya

Tidak

Ya

Lihat Catatan Perbandingan untuk detailnya.

Bacaan lebih lanjut

Artikel Umum

  • Livepatch:Pembaruan kernel Linux tanpa reboot (27 Juni 2018) linux-audit.com
  • Proyek penelitian Live Patching Meltdown–SUSE Engineer (Bagian 1) (2 Mei 2018) suse.com
  • Pembaruan pada patch kernel langsung (27 September 2017) lwn.net
  • Panduan untuk kpatch di Red Hat Enterprise Linux 7.2 dan yang Lebih Baru (10 November 2016) redhat.com
  • Perbaiki Kernel Ubuntu Anda dengan Layanan Canonical Livepatch! (18 Oktober 2016) blog.dustinkirkland.com
  • Linux vs. Unix Hot Patching–Sudahkah Kita Mencapai Titik Puncak? (20 Mei 2016) forrester.com
  • Tambalan kasar untuk penambalan langsung (25 Februari 2015) lwn.net
  • Alat Pembaruan Kernel Langsung (September 2014) admin-magazine.com
  • KernelCare:Sistem patching Linux baru tanpa boot ulang (6 Mei 2014) zdnet.com

Dokumentasi

  • Lembar Data Ksplice (PDF), Panduan Pengguna
  • Panduan Kpatch
  • Lembar Data Kgraft (PDF), Dokumentasi
  • Fitur KernelCare, Dokumentasi
  • Lembar Data Layanan Livepatch Canon (PDF)

Catatan Perbandingan

Instal/Konfigurasi Mudah

  • Ksplice—Menginstal Uptrack
  • Kgraft sudah diinstal sebelumnya dengan SUSE Linux Enterprise Server 12
  • Memasang alat kpatch
  • Instalasi KernelCare

Kembalikan

  • Ksplice uptrack-remove
  • Menghapus patch Kgraft
  • Menghapus perbaikan terbaru kpatch
  • KernelCare—Membongkar patch

Ramah terhadap firewall

  • Firewall Ksplice dan konfigurasi proxy
  • Setelan Firewall dan Proxy KernelCare

Pembaruan offline

  • Klien Offline Ksplice
  • Pembaruan offline KernelCare tersedia untuk pelanggan perusahaan melalui ePortal

Kontrol akses patch

  • Kebijakan akses Ksplice
  • Konfigurasi &Lokasi KernelCare

Sepenuhnya otomatis

  • Pembaruan otomatis Ksplice
  • Manajemen Dasar KernelCare

GUI Manajemen

  • GUI Ksplice hanya pada edisi desktop Ubuntu atau Fedora
  • Canonical Livepatch Service-GUI hanya dengan Landscape, alat manajemen sistem Ubuntu, opsi dukungan berbayar
  • ePortal KernelCare

Dukungan 24/7 Gratis

  • Dukungan Kpatch (berbayar)
  • Dukungan Kgraft (berbayar)
  • Ubuntu Advantage (berbayar)
  • Dukungan KernelCare (termasuk)

Jumlah Platform

  • Kernel yang Didukung Ksplice (Red Hat Enterprise Linux, Oracle Linux)
  • Lembar Data Kgraft (SUSE Linux Enterprise Server 15/12)
  • Kpatch (RedHat) Cakupan Dukungan (Red Hat Enterprise Linux)
  • Kpatch (github.com) (Debian, CentOS, Ubuntu, Gentoo)
  • Lembar Data Layanan Livepatch Canon (PDF) (Ubuntu 14.04 LTS, 16.04 LTS)
  • Server Patch KernelCare (Ubuntu, RHEL, CentOS, CloudLinux OS, Debian, Oracle Linux, Proxmox VE, Virt-SIG/Xen4CentOS, Virtuozzo/OpenVZ)

Uji Coba Gratis

  • Uji coba 30 hari gratis Ksplice (Memerlukan akun Oracle SSO)
  • Uji coba 60 hari gratis Kgraft
  • Uji Coba 30 hari Gratis KernelCare

API (REST)

  • API Ksplice
  • KernelCare Nagios/Zabbix API

Penggantian non-terbaru

  • Ksplice (versi efektif spesifik)
  • Tambalan Tempel KernelCare

Penulis Paul Jacobs

Paul adalah Penginjil Teknis dan Penulis Konten CloudLinux. Dia menggunakan lebih dari 25 tahun pengalaman kaleidoskopiknya di bidang TI untuk membedah, mengungkap, dan menjelaskan kerumitan hosting web dan keamanan Linux.


Linux
  1. Patch Live Kernel Linux di Ubuntu 20.04 LTS

  2. Cara mengatur pembaruan kernel tanpa boot otomatis di server Linux

  3. Linux – Kernel:Dukungan Namespaces?

  1. Linux – Penerusan Ip Kernel?

  2. Linux – Apakah Kernel Linux/unix yang Berbeda Dapat Dipertukarkan?

  3. Sejarah baris perintah di Linux

  1. Modul kernel Linux kita tidak bisa hidup tanpanya

  2. Apakah mungkin mem-boot kernel Linux tanpa membuat gambar initrd?

  3. Pembaruan kernel tanpa me-reboot