Terdapat beberapa cara SELinux untuk beroperasi. Ini ditakrifkan oleh dasar SELinux. Dalam panduan ini, anda akan mengetahui lebih lanjut mengenai dasar SELinux dan cara menetapkan polisi di SELinux.
Tinjauan Dasar SELinux
Mari kita dapatkan penjelasan ringkas mengenai SELinux dan dasarnya. SELinux adalah singkatan dari “Security-Enhanced Linux."Ini terdiri daripada serangkaian patch keselamatan ke kernel Linux. SELinux pada awalnya dikembangkan oleh National Security Agency (NSA) dan dilepaskan kepada komuniti pembangunan sumber terbuka pada tahun 2000 di bawah lesen GPL. Ia digabungkan dengan kernel Linux utama pada tahun 2003.
SELinux menyediakan MAC (Kawalan Akses Mandatori) daripada DAC lalai (Kawalan Akses Discretionary). Ini memungkinkan pelaksanaan beberapa polisi keselamatan yang tidak mungkin dilaksanakan sebaliknya.
Dasar SELinux adalah sekumpulan peraturan yang memandu enjin keselamatan SELinux. Dasar menentukan jenis objek fail dan domain untuk proses. Peranan digunakan untuk mengehadkan akses ke domain. Identiti pengguna menentukan peranan apa yang dapat dicapai.
Terdapat dua dasar SELinux:
- Disasarkan: Dasar lalai. Melaksanakan kawalan akses ke proses yang disasarkan. Proses dijalankan dalam domain terhad di mana prosesnya mempunyai akses terhad ke fail. Sekiranya proses terkurung dikompromikan, kerosakan dapat dikurangkan. Bagi perkhidmatan, hanya perkhidmatan khusus yang dimasukkan ke dalam domain ini.
- MLS: bermaksud keselamatan pelbagai peringkat. Lihat dokumentasi Red Hat mengenai dasar SELinux MLS.
Proses yang tidak disasarkan akan dijalankan dalam domain yang tidak terbatas. Proses yang dijalankan dalam domain yang tidak terhad menikmati akses yang hampir lengkap. Sekiranya proses sedemikian dikompromikan, SELinux tidak menawarkan pengurangan. Penyerang mungkin mendapat akses ke seluruh sistem dan sumber. Walau bagaimanapun, peraturan DAC masih berlaku untuk domain yang tidak terbatas.
Berikut adalah senarai pendek contoh domain yang tidak terhad:
- domain initrc_t: program init
- domain kernel_t: proses kernel
- domain unconfined_t: pengguna log masuk ke sistem Linux
Menukar Dasar SELinux
Contoh berikut dilakukan di CentOS 8. Semua arahan dalam artikel ini dijalankan sebagai pengguna root. Untuk distro lain, lihat tutorial yang sesuai tentang cara mengaktifkan SELinux.
Untuk mengubah dasar di SELinux, mulakan dengan memeriksa status SELinux. Status lalai harus SELinux diaktifkan dalam mod "Menegakkan" dengan kebijakan "disasarkan".
Untuk mengubah dasar SELinux, buka fail konfigurasi SELinux di editor teks kegemaran anda.
Di sini, sasaran kami adalah pemboleh ubah "SELINUXTYPE" yang menentukan dasar SELinux. Seperti yang anda lihat, nilai lalai adalah "disasarkan."
Semua langkah yang ditunjukkan dalam contoh ini dilakukan di CentOS 8. Dalam kes CentOS, dasar MLS tidak terpasang secara lalai. Ini juga mungkin berlaku di distro lain. Ketahui cara mengkonfigurasi SELinux di Ubuntu di sini. Pastikan memasang program terlebih dahulu. Dalam kes Ubuntu, CentOS, openSUSE, Fedora, Debian, dan lain-lain, nama paket adalah "selinux-policy-mls."
$ dnf pasang selinux-policy-mls
Dalam kes ini, kami akan menukar polisi ke MLS. Tukar nilai pemboleh ubah dengan sewajarnya.
Simpan fail dan keluar dari editor. Untuk melaksanakan perubahan ini, anda mesti menghidupkan semula sistem.
$ but semulaSahkan perubahan dengan mengeluarkan perkara berikut.
$ sestatusMenukar Mod SELinux
SELinux boleh beroperasi dalam tiga mod yang berbeza. Mod ini menentukan bagaimana dasar tersebut dikuatkuasakan.
- Dikuatkuasakan: sebarang tindakan terhadap dasar disekat dan dilaporkan dalam log audit.
- Permisive: sebarang tindakan terhadap polisi hanya dilaporkan dalam log audit.
- Dilumpuhkan: SELinux dilumpuhkan.
Untuk sementara mengubah mod di SELinux, gunakan perintah setenforce. Sekiranya sistem dihidupkan semula, sistem akan kembali ke tetapan lalai.
$ setenforce Menguatkuasakan$ setenforced Permissive
Untuk menukar mod dalam SELinux secara kekal, anda mesti mengubah fail konfigurasi SELinux.
Simpan dan tutup penyunting. Nyalakan semula sistem untuk melaksanakan perubahan.
Anda boleh mengesahkan perubahan menggunakan arahan sestatus.
Kesimpulannya
SELinux adalah mekanisme yang kuat untuk menegakkan keselamatan. Mudah-mudahan, panduan ini membantu anda belajar bagaimana mengkonfigurasi dan mengurus tingkah laku SELinux.
Selamat pengkomputeran!