Apa itu SELinux?

Karena keamanan dunia maya menjadi semakin diperlukan, sebaiknya Anda membiasakan diri dengan beberapa infrastruktur keamanan umum yang digunakan di server web modern dan komputer pribadi.

Untuk pengguna Linux, salah satu infrastruktur tersebut adalah SELinux, modul keamanan kernel Linux yang menentukan kebijakan keamanan kontrol akses, termasuk kontrol akses wajib (MAC).

SELinux adalah sekumpulan modifikasi kernel dan alat pengguna, dan disertakan dengan sebagian besar mesin berbasis Linux yang digunakan saat ini. Pada artikel ini, kita akan membahas pentingnya SELinux dan menjelajahi beberapa fitur terkait. 

Latar Belakang SELinux

SELinux adalah, kependekan dari Security-Enhanced Linux, terdiri dari serangkaian tambalan keamanan ke kernel Linux yang mengamanatkan kontrol akses untuk berbagai layanan dan aplikasi. Berdasarkan proyek yang awalnya dikembangkan oleh Badan Keamanan Nasional, SELinux dengan cepat menjadi bahan pokok dalam ranah keamanan siber sumber terbuka. SELinux meningkatkan keamanan sistem Linux dengan membatasi hak istimewa dan mengurangi kerusakan keseluruhan yang dapat ditimbulkan oleh aplikasi tertentu pada keseluruhan sistem. Sebelum membahas cara kerja SELinux, penting untuk mengeksplorasi konsep kebenaran.

Ketepatan adalah istilah yang digunakan dalam ilmu komputer untuk menjelaskan seberapa dekat kinerja suatu program dibandingkan dengan hasil yang diharapkan berdasarkan spesifikasi sistem. Sebagai contoh, sebuah aplikasi yang didesain untuk membuka file gambar dapat dikatakan memiliki tingkat kebenaran yang tinggi jika berhasil membuka file gambar sesuai dengan yang diharapkan. Konsep ini dapat diterapkan secara luas pada program, aplikasi, atau fungsi apa pun yang digunakan dalam sistem komputer.

Dalam sistem tanpa SELinux, keamanan sistem bergantung pada kebenaran kernel serta kebenaran aplikasi istimewa dan konfigurasinya masing-masing. Jika ada kesalahan dalam area ini, seluruh sistem dapat dikompromikan. Untuk alasan ini, memiliki kernel Linux tanpa modul keamanan apa pun tidak disarankan, terutama untuk perangkat yang terhubung ke internet.

Sebagai perbandingan, sistem dengan SELinux bergantung pada kebenaran kernel dan konfigurasi kebijakan keamanan. Hal ini memastikan bahwa meskipun kesalahan dalam kebenaran atau konfigurasi dapat mengakibatkan aplikasi yang disusupi, keseluruhan sistem tidak akan terpengaruh dan aplikasi lain dapat terus berfungsi secara normal. Intinya, SELinux menyediakan kebijakan keamanan terkotak yang mencegah penyebaran aplikasi yang disusupi dan kerentanan keamanan lainnya. 

Bagaimana SELinux Bekerja

Agar SELinux berfungsi, sistem pertama-tama harus menetapkan label, juga dikenal sebagai konteks untuk berbagai fungsi. Untuk pengguna dan proses, string teks ditetapkan, terdiri dari nama pengguna, peran, dan domain. Umumnya, nama domain adalah satu-satunya bagian yang digunakan untuk menentukan kontrol akses. File, port jaringan, dan perangkat keras juga memiliki konteks di dalam SELinux dan diberi nama, peran, dan tipe. 

Proses pemetaan file ke konteks keamanan disebut sebagai pelabelan dan ditentukan oleh file kebijakan yang digunakan. File kebijakan terdiri dari tiga file: file pemetaan, file aturan, dan file antarmuka. Ketiga file ini harus dikompilasi menjadi satu file kebijakan dengan perangkat SELinux, lalu dimuat ke dalam kernel sistem untuk menjadikannya kebijakan aktif. Pembuatan file kebijakan dapat dilakukan secara manual atau dengan alat manajemen SELinux. Setelah file kebijakan dimuat ke dalam kernel sistem, Anda dapat yakin bahwa sistem Anda telah diamankan.

Secara default, SELinux hadir dengan pra-konfigurasi di sebagian besar sistem operasi Linux modern seperti Ubuntu, Debian, atau CentOS. Ini berarti sebagian besar waktu, pengguna bahkan tidak menyadari bahwa SELinux bekerja di belakang layar untuk menjaga sistem mereka tetap terlindungi. Singkatnya, sifat SELinux yang andal dan tidak mengganggu menjadikannya bagian penting dari sistem Linux modern mana pun.

Perintah SELinux

Untuk berinteraksi dengan SELinux di mesin Anda, Anda dapat menggunakan antarmuka baris perintah untuk mengeluarkan perintah sederhana yang memungkinkan Anda memeriksa dan mengubah status modul keamanan SELinux. Kami akan memberikan beberapa contoh perintah SELinux yang umum digunakan di bawah ini.