GNU/Linux >> Belajar Linux >  >> Linux

Mengapa melindungi kernel Linux dari pengguna root?

Jika penyerang mendapatkan root, bukankah mereka memiliki mesin bahkan tanpa akses kernel, dengan melakukan hal-hal seperti memodifikasi binari?

Mungkin tidak. Dengan SELinux, Anda dapat membatasi akses untuk memblokir perangkat, bahkan untuk pengguna root. Jadi, jika partisi root Anda hanya-baca (dan sistem berjalan dengan OverlayFS untuk menyediakan modifikasi non-persisten), maka melindungi kernel dari root dapat menjamin status yang konsisten saat reboot, bahkan jika mesin telah disusupi di tingkat akar.

Sedangkan jika kernel tidak dilindungi dari pengguna root, Anda tidak dapat memiliki jaminan tersebut.


Tanpa boot terverifikasi, bersama dengan modul terverifikasi dan kexec Anda akan memberi kernel kesempatan yang lebih baik untuk mempertahankan diri dari serangan saat menghadapi eskalasi hak istimewa. Secara default, kedua fitur tersebut dinonaktifkan:

kexec_load_disabled:

Sakelar yang menunjukkan jika syscall kexec_load telah dinonaktifkan. Nilai ini default ke 0 (false:kexec_load diaktifkan), tetapi dapat disetel ke 1 (true:kexec_load dinonaktifkan). Setelah benar, kexec tidak dapat digunakan lagi, dan sakelar tidak dapat disetel kembali ke salah. Ini memungkinkan gambar kexec dimuat sebelum menonaktifkan syscall, memungkinkan sistem untuk mengatur (dan kemudian menggunakan) gambar tanpa diubah. Umumnya digunakan bersama dengan sysctl "modules_disabled".

modules_disabled:

Nilai sakelar yang menunjukkan apakah modul diizinkan untuk dimuat dalam kernel modular. Toggle ini default ke off(0), tetapi dapat disetel true (1). Setelah benar, modul tidak dapat dimuat atau dibongkar, dan sakelar tidak dapat disetel kembali ke salah. Umumnya digunakan dengan sakelar "kexec_load_disabled".


Linux
  1. Analisis kernel Linux dengan ftrace

  2. Mengapa saya beralih dari Mac ke Linux

  3. Mengapa Pengguna Root Membutuhkan Izin Sudo?

  1. Linux – Mengapa Tidak Ada Sistem File Rootfs Di Sistem?

  2. Fungsi Root Grup Pengguna??

  3. Setel ulang kata sandi pengguna root dari mode penyelamatan

  1. Bagaimana cara kerja copy_from_user dari kernel Linux secara internal?

  2. Mengapa pengguna paling kuat di sistem Unix/Linux disebut "root?"

  3. Bagaimana saya bisa memesan satu blok memori dari kernel Linux?