GNU/Linux >> Belajar Linux >  >> Linux

Cara mengatur pembaruan kernel tanpa boot otomatis di server Linux

Menambal kernel di server Linux tampaknya sederhana. Itu dapat dilakukan dengan menggunakan alat-alat umum seperti dpkg, apt-get, atau kexec. Metode ini, bagaimanapun, menjadi rumit jika sebuah organisasi menjalankan ratusan atau ribuan server. Banyak server berarti banyak distribusi untuk ditambal, yang masing-masing memerlukan perhatian pribadi dari sysadmin atau teknisi.

Metode penambalan manual ini juga berisiko karena memerlukan reboot. Reboot melibatkan waktu henti server, yang selalu bermasalah, jadi biasanya dilakukan dalam siklus reboot. Karena penambalan manual dilakukan selama siklus ini, ini memberi peretas "jendela waktu" di mana mereka dapat menyerang infrastruktur server.

Untuk organisasi yang menjalankan lebih dari beberapa server, patching langsung adalah pilihan yang lebih baik. Ini adalah cara otomatis untuk menambal kernel Linux saat server sedang berjalan, yang memungkinkannya menjadi lebih efisien dan lebih aman daripada metode manual. Mari pelajari cara menyiapkan empat sistem patching langsung paling populer dari Canonical, Oracle, Red Hat, dan CloudLinux.

Apa itu patch langsung dan cara kerjanya

Pada akhirnya, ada dua metode live patching untuk kernel dan library:sementara dan persisten. Metode sementara menerapkan tambalan tanpa reboot tetapi sebenarnya membutuhkan me-reboot server nanti. Tambalan langsung yang persisten tidak memerlukan reboot.

Metode Sementara

Metode sementara (atau penambalan "tumpukan") dijalankan dengan perangkat lunak manajemen paket (seperti plugin YUM). Patch dikirimkan ke repositori dan diterapkan sesuai dengan alur kerja pembaruan yang ditentukan oleh pengguna.

Patching "Stack" sama dengan reboot dan downtime server, meskipun Anda mungkin tidak perlu reboot segera setelah Anda menginstal patch, tetapi karena arsitektur jenis pembaruan langsung ini, patch keamanan menumpuk di atas satu sama lain dari waktu ke waktu, berpotensi menurunkan kinerja dan stabilitas. Satu-satunya solusi untuk masalah ini adalah me-reboot server untuk memuat kernel baru ke dalam memori.

Vendor yang menyediakan patch sementara adalah:

  • Tambalan Langsung Kanonik
  • kGraph
  • Tambalan langsung kernel Amazon Linux 2 

Metode Persisten

Dalam kasus metode persisten, server menyimpan tambalan terbaru dan tambalan ini disebut "monolitik" karena berisi tambalan sebelumnya. Untuk memperbarui server, program agen berjalan di latar belakang, memeriksa patch server untuk patch. Jika ada patch untuk kernel di server patch, agen akan memanggil modul patching dan menerapkan patch tersebut.

Tambalan persisten memiliki keuntungan penting lainnya: 

  • Server yang menggunakan metode persisten tetap aktif dan berjalan bahkan dengan kerentanan perangkat keras yang biasanya memerlukan boot ulang untuk menambal, seperti Spectre, Meltdown, dan Zombieload;
  • Ini mengurangi waktu dan upaya yang diperlukan untuk mengelola server dengan otomatisasi proses patching lengkap;
  • Ini memungkinkan server untuk tetap aktif dan berjalan, seringkali selama bertahun-tahun.

Metode tambalan persisten biasanya melibatkan biaya vendor, dengan periode uji coba gratis tersedia dari sebagian besar vendor:

  • Ksplice
  • Kpatch
  • KernelCare

Mengatur pembaruan Kernel tanpa boot otomatis di server Linux

Di bawah ini kami akan menunjukkan kepada Anda cara mengatur pembaruan kernel tanpa reboot di server Linux menggunakan layanan Livepatch, Kpatch, Ksplice, dan KernelCare.

Catatan:Sebelum Anda mulai menerapkan petunjuk ini, pastikan sistem Anda sudah diperbarui dan dicadangkan.

1. Menyiapkan Livepatch Kanonik

Layanan Livepatch Canonical dapat diatur baik selama atau setelah instalasi. Ini akan menginstal patch keamanan kernel hanya ketika Anda menjalankan perintah apt-get upgrade (oleh karena itu, semi-otomatis).

Kelebihan: Sederhana. Setengah otomatis. Tidak perlu reboot.

Kekurangan: Mahal untuk 4 host atau lebih (tetapi gratis hingga 3 host untuk semua dan hingga 50 mesin jika Anda adalah anggota Komunitas Ubuntu). Tidak ada pengembalian patch.

Biaya, per server: Bulanan (Tidak tersedia), Tahunan ($225).

Untuk menginstal Livepatch di Ubuntu 20.04 LTS Server (juga berfungsi pada versi 16.04 LTS, 14.04 LTS, dan 18.04 LTS), buka terminal dan jalankan dua perintah ini: 

sudo snap install canonical-livepatch
sudo canonical-livepatch enable <your key>

Untuk membatalkan pendaftaran server, gunakan perintah ini: 

sudo canonical-livepatch disable <your key>

Untuk memeriksa status layanan, gunakan perintah ini: 

sudo canonical-livepatch status --verbose

2. Menyiapkan Oracle Ksplice

Kecuali Anda menjalankan instance Ksplice di dalam Oracle Cloud, Anda memerlukan kunci akses untuk menginstalnya. Ini dapat diperoleh dengan masuk ke Jaringan Linux yang Tidak Dapat Dipecahkan, dan mengikuti petunjuk untuk mendaftarkan sistem Anda ke Ksplice.

Untuk menginstal Ksplice, sistem Anda harus memiliki akses ke internet. Jika Anda menggunakan proxy, setel proxy di shell Anda:

# export http_proxy=http://proxy.example.com:port
# export https_proxy=http://proxy.example.com:port

Proxy harus mendukung pembuatan koneksi HTTPS, dan string proxy harus dalam format ini:

[protocol://][username:[email protected]]<host>[:port]
  • protokol adalah protokol untuk terhubung ke proxy (http atau https)
  • nama pengguna dan sandi adalah informasi autentikasi yang diperlukan untuk menggunakan proxy Anda (jika ada).
  • host dan port adalah nama host/alamat ip dan nomor port yang digunakan untuk terhubung ke proxy

Jalankan instruksi berikut sebagai root, ganti YOUR_ACCESS_KEY dengan kunci akses yang Anda terima di langkah sebelumnya.

Di dalam Oracle Cloud

Untuk menginstal Ksplice di dalam Oracle Cloud sehingga pembaruan kernel diinstal secara otomatis, jalankan perintah berikut: 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc
# sh install-uptrack-oc --autoinstall

Untuk menerapkan pembaruan yang tersedia ke Uptrack, aplikasi yang menginstal pembaruan kernel secara otomatis, jalankan perintah ini:

# uptrack-upgrade -y

Jika Anda sudah menginstal Uptrack, Anda dapat mengaktifkannya dengan mengatur autoinstall =yes di /etc/uptrack/uptrack.conf setelah Ksplice diinstal.

Untuk menginstal Ksplice agar pembaruan diterapkan secara manual, jalankan perintah berikut: 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc
# sh install-uptrack-oc

Di luar Oracle Cloud

Untuk menginstal Ksplice di luar Oracle Cloud sehingga pembaruan kernel diinstal secara otomatis, jalankan perintah berikut: 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack
# sh install-uptrack YOUR_ACCESS_KEY --autoinstall

Untuk menginstal Ksplice agar pembaruan diterapkan secara manual, jalankan perintah berikut: 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack
# sh install-uptrack YOUR_ACCESS_KEY

Catatan:Jika Anda menginstal Ksplice di server Debian atau Ubuntu, Anda mungkin perlu menginstal ca-sertifikat paket dengan apt-get install ca-sertifikat. Tanpa paket ini, Anda akan melihat "kesalahan verifikasi sertifikat".

4. Menyiapkan Red Hat Kpatch

Instalasi Kpatch sederhana dan mudah:

Jalankan perintah update untuk memperbarui repositori paket dan mendapatkan informasi paket terbaru:

sudo apt-get update -y

Jalankan perintah install dengan flag -y untuk menginstal paket dan dependensi dengan cepat:

sudo apt-get install -y patch

5. Menyiapkan CloudLinux KernelCare

Untuk melihat apakah kernel yang berjalan didukung oleh KernelCare, jalankan salah satu dari perintah berikut:

curl -s -L https://kernelcare.com/checker | python

atau

wget -qq -O – https://kernelcare.com/checker | python

Untuk menginstal KernelCare, jalankan salah satu dari perintah ini:

curl -s -L https://kernelcare.com/installer | bash

atau:

wget -qq -O - https://kernelcare.com/installer | bash

Jika Anda menggunakan lisensi berbasis IP, tidak ada lagi yang diperlukan. Jika Anda menggunakan lisensi berbasis kunci, jalankan perintah ini:

$ /usr/bin/kcarectl --register KEY

KEY adalah string kode kunci pendaftaran yang Anda terima saat membeli KernelCare atau mendaftar untuk uji coba gratis. Anda bisa mendapatkan kunci di sini.

Untuk membatalkan pendaftaran server, jalankan:

sudo kcarectl --unregister

Untuk memeriksa status layanan, jalankan:

sudo kcarectl --info

KernelCare secara otomatis memeriksa patch baru setiap 4 jam. Untuk melakukan pembaruan secara manual alih-alih otomatis, jalankan:

/usr/bin/kcarectl –update

Kesimpulan

Petunjuk penginstalan untuk beberapa solusi penambalan langsung ini mencantumkan semua langkah yang diperlukan untuk menginstalnya di lingkungan Anda. Setelah selesai, Anda akan menikmati manfaat dari teknologi live patching:dapat memperbarui kernel tanpa menghentikan server, tanpa perlu reboot selama berbulan-bulan, atau bahkan bertahun-tahun.

 


Linux
  1. Cara memutakhirkan Kernel di Desktop Linux

  2. Cara mengatur server SFTP di Arch Linux

  3. Cara Mengatur Server Linux Sebagai Router dengan NAT

  1. Cara Mengatur Pembaruan Otomatis di Debian

  2. Cara Mengatur Server dan Klien NFS di Rocky/Alma Linux 8

  3. Cara Mengatur VSFTPD di CentOS 8

  1. Cara mengatur printer Anda di Linux

  2. Siapkan server VPN di PC Linux Anda

  3. Cara mengatur server Wekan Kanban di Linux