Sebelum memulakan, anda perlu mempelajari konsep berikut:
Mata pelajaran: proses atau pengguna.
Objek: fail atau sistem fail.
Jenis Penguatkuasaan: di SELinux semua subjek dan objek mempunyai pengecam jenis yang diakhiri dengan _t. "Penguatkuasaan jenis adalah pengertian bahawa, dalam sistem kawalan akses wajib, akses diatur melalui izin berdasarkan sekumpulan peraturan subjek-akses-objek.
Di SELinux, penguatkuasaan jenis dilaksanakan berdasarkan label subjek dan objek. SELinux dengan sendirinya tidak mempunyai peraturan yang mengatakan / bin / bash boleh melaksanakan / bin / ls. Sebaliknya, ia memiliki aturan yang serupa dengan "Proses dengan label user_t dapat menjalankan file biasa berlabel bin_t.”(Sumber https: // wiki.gentoo.org / wiki / SELinux / Type_enforcement)
Kawalan Akses Tatatertib (DAC): DAC adalah sistem pemilikan dan izin yang kami gunakan di Linux untuk menguruskan akses ke objek seperti fail atau direktori. Kawalan Akses Discretionary tidak ada kaitan dengan SELinux dan merupakan lapisan keselamatan yang berbeza. Untuk maklumat tambahan mengenai DAC, kunjungi Kebenaran Linux.
Kawalan Akses Wajib (MAC): adalah jenis kawalan akses yang menyekat interaksi akses subjek dengan objek. Berbeza dengan DAC dengan pengguna MAC tidak dapat mengubah polisi.
Subjek dan objek mempunyai konteks keamanan (atribut keamanan) yang dipantau oleh SELinux dan ditadbir sesuai dengan kebijakan keamanan yang dibuat oleh peraturan yang akan ditegakkan.
Kawalan Akses Berasaskan Peranan (RBAC): adalah jenis kawalan akses berdasarkan peranan, ia dapat digabungkan dengan MAC dan DAC. Kebijakan RBAC menjadikan pengurusan banyak pengguna dalam organisasi menjadi sederhana berbeza dengan DAC yang dapat memperoleh pemberian izin individu, ini menjadikan pengauditan, konfigurasi dan kemas kini dasar lebih mudah.
Mod penguatkuasaan: SELinux menyekat akses subjek ke objek berdasarkan polisi.
Permisive mode: SELinux hanya mencatat aktiviti tidak sah.
Ciri SELinux merangkumi (senarai Wikipedia):
- Pemisahan dasar dari penguatkuasaan
- Antara muka dasar yang ditentukan dengan baik
- Sokongan untuk aplikasi yang menanyakan polisi dan menegakkan kawalan akses (contohnya, crond menjalankan pekerjaan dalam konteks yang betul)
- Kebebasan dasar dan bahasa dasar tertentu
- Kebebasan format dan kandungan label keselamatan tertentu
- Label dan kawalan individu untuk objek dan perkhidmatan kernel
- Sokongan untuk perubahan dasar
- Langkah-langkah berasingan untuk melindungi integriti sistem (jenis domain) dan kerahsiaan data (keselamatan bertingkat)
- Dasar yang fleksibel
- Mengawal inisialisasi proses dan pewarisan, dan pelaksanaan program
- Mengawal sistem fail, direktori, fail, dan terbuka penerangan fail
- Mengawal soket, mesej, dan antara muka rangkaian
- Mengawal penggunaan "kemampuan"
- Maklumat cache mengenai keputusan akses melalui Access Vector Cache (AVC)
- Penolakan lalai polisi (apa-apa yang tidak dinyatakan secara jelas dalam polisi tidak dibenarkan).
Sumber: https: // en.wikipedia.org / wiki / Keamanan-Enhanced_Linux # Ciri
Nota: pengguna berbeza pada SELinux dan passwd.
Menyiapkan SELinux pada Debian 10 Buster
Dalam kes saya SELinux dilumpuhkan pada Debian 10 Buster. Menjaga SELinux diaktifkan adalah salah satu langkah asas untuk menjaga keselamatan peranti Linux. Untuk mengetahui status SELinux dalam peranti anda, jalankan arahan:
/ # sestatus
Saya dapati SELinux dilumpuhkan, untuk membolehkannya anda perlu memasang beberapa pakej sebelum, selepas kemas kini tepat, jalankan arahan:
/ # apt memasang selinux-basics selinux-policy-default
Sekiranya diminta tekan Y untuk meneruskan proses pemasangan. Lari kemas kini tepat setelah selesai pemasangan.
Untuk membolehkan SELinux jalankan arahan berikut:
/ # selinux-aktifkan
Seperti yang anda lihat SELinux diaktifkan dengan betul. Untuk menerapkan semua perubahan, anda mesti menghidupkan semula sistem anda seperti yang diperintahkan.
Perintah getenforce dapat digunakan untuk mempelajari status SELinux, jika berada di bawah mod permisif atau menegakkan:
/ # getenforce
Mod permisif dapat diganti dengan menetapkan parameter 1 (permisif adalah 0). Anda juga dapat memeriksa mod pada file konfigurasi menggunakan perintah kurang:
/ # kurang / etc / selinux / config
Pengeluaran:
Seperti yang anda lihat, fail konfigurasi menunjukkan mod permisif. Tekan Q untuk berhenti.
Untuk melihat fail atau memproses konteks keselamatan, anda boleh menggunakan flag -Z:
/ # ls -Z
Format label adalah pengguna: peranan: jenis: tahap.
semanage - alat Pengurusan Dasar SELinux
semanage adalah alat Pengurusan Dasar SELinux. Ia memungkinkan untuk menguruskan boolean (yang memungkinkan untuk mengubah proses semasa dijalankan), peranan dan tahap pengguna, antara muka rangkaian, modul dasar dan banyak lagi. Semanage membolehkan untuk mengkonfigurasi dasar SELinux tanpa perlu menyusun sumber. Semanage membenarkan hubungan antara pengguna OS dan SELinux dan konteks keselamatan objek tertentu.
Untuk maklumat tambahan mengenai semanage, lawati halaman manual di: https: // linux.mati.net / man / 8 / semanage
Kesimpulan dan nota
SELinux adalah kaedah tambahan untuk mentadbir akses dari proses ke sumber sistem seperti fail, partition, direktori, dll. Ia memungkinkan untuk mengurus hak istimewa mengikut peranan, tahap atau jenis. Setelah diaktifkan adalah suatu keharusan sebagai langkah keselamatan dan ketika menggunakannya adalah penting untuk mengingat lapisan keselamatannya dan menghidupkan semula sistem setelah mengaktifkan atau mematikannya (menonaktifkan sama sekali tidak disarankan kecuali untuk ujian tertentu). Kadang-kadang akses fail disekat walaupun sistem atau izin OS diberikan kerana SELinux melarangnya.
Saya harap anda dapati artikel ini di SELinux berguna sebagai pengenalan penyelesaian keselamatan ini, terus ikuti LinuxHint untuk mendapatkan lebih banyak petua dan kemas kini mengenai Linux dan rangkaian.
Artikel berkaitan:
- SELinux di Ubuntu Tutorial
- Cara Melumpuhkan SELinux di CentOS 7
- Senarai semak pengukuhan keselamatan Linux
- Profil AppArmor di Ubuntu