
SELinux dapat membantu Anda mengamankan server Anda dari proses atau aplikasi yang tidak berfungsi. Dikembangkan oleh NSA (Badan Keamanan Nasional) untuk mengamankan perangkat pemerintah dari penyerang, arsitektur Linux yang ditingkatkan keamanannya menggunakan protokol keamanan untuk membatasi akses ke sumber daya sistem. Cari tahu bagaimana Anda dapat menggunakannya untuk server Anda sendiri.
Table of Contents
Arsitektur SELinux
SELinux adalah modul kernel yang dapat diaktifkan atau dinonaktifkan oleh admin sistem. Karena akses ke file dan port jaringan dibatasi mengikuti kebijakan keamanan, program yang salah atau daemon yang salah dikonfigurasi tidak dapat memberikan dampak besar pada keamanan sistem.
Ketika aplikasi atau proses meminta akses file di sistem SELinux, pertama-tama ia memeriksa cache vektor akses (AVC). Jika izin sebelumnya di-cache, maka izin itu kembali dengan file yang diminta aplikasi. Jika izin tidak di-cache, maka ia akan mengirimkan permintaan ke server keamanan. Server keamanan memeriksa semua kebijakan keamanan di database-nya. Tergantung pada kebijakan keamanan, izin kemudian diberikan atau ditolak.
Tidak ada konsep root atau superuser di SELinux. Keamanan distribusi Linux yang tidak dimodifikasi tanpa SE Linux bergantung pada kebenaran kernel, semua aplikasi istimewa, dan konfigurasinya. kesalahan atau bug di salah satu komponen ini dapat membuat permukaan menyerang dan membahayakan sistem.
Di sisi lain, sistem Linux yang dimodifikasi dengan SELinux terutama bergantung pada kebenaran kernel dan kebijakan keamanan.
Cara Menginstal atau Mengaktifkan SELinux
SELinux adalah singkatan dari Safety Enhanced Linux. SELinux telah menjadi bagian dari kernel Linux sejak tahun 2003. Oleh karena itu, Anda tidak perlu menginstalnya secara terpisah. Namun, di sebagian besar distribusi Linux desktop, ini dinonaktifkan secara default.

SELinux terutama memiliki 3 mode: Diberlakukan, Permisif, dan Dinonaktifkan. Mari kita bahas secara singkat:
- Diberlakukan: Ini mengaktifkan dan melindungi sistem Linux menggunakan kebijakan keamanan.
- Permisif: Itu tidak menegakkan kebijakan keamanan tetapi mencatat semuanya. Mode ini berguna untuk tujuan pemecahan masalah.
- Dengan disabilitas: Ini menonaktifkan SELinux. Opsi ini tidak disarankan dan jika Anda mengaktifkan kembali SELinux di sistem Anda, ini menyebabkan kesalahan karena perubahan pelabelan.
Catatan: Ubuntu dikirimkan dengan AppArmor yang merupakan alternatif dari SELinux. Meskipun SELinux tersedia di Ubuntu, SELinux tidak kompatibel dengan AppArmor dan dapat merusak sistem Anda jika diaktifkan. Jika Anda benar-benar perlu menggunakan SELinux di Ubuntu, pastikan Anda menonaktifkan AppArmor dan melakukan pengujian intensif (mulai dengan mode permisif terlebih dahulu) sebelum menggunakannya untuk penggunaan produksi.
- Untuk mengaktifkan SELinux di sistem Anda, Anda harus mengedit file “/and so on/selinux/config”. Buka file ini di editor teks Anda.
sudo nano /and so on/selinux/config
- Di dalam file konfigurasi, atur
SELINUX=permissive
. Tekan Ctrl + HAI dan pukul Memasuki untuk menyimpan file dan tekan Ctrl + X untuk keluar dari editor. SELinux sekarang diaktifkan di sistem Anda.
Catatan: Jika Anda mencoba menerapkan SELinux secara langsung sebelum membuatnya permisif, ini mungkin salah memberi label pada file dan proses dan mencegah Anda melakukan booting.
- Sekarang untuk menamai ulang sistem file secara otomatis, buat file bernama “.autorelabel” di sistem file root Anda. Sekarang ketika Anda mem-boot sistem Anda, SELinux akan secara otomatis memberi label ulang sistem file Anda. Untuk mengurangi kesalahan, pertahankan
SELINUX=permissive
pilihan seperti yang ada di folder config. Setelah semuanya diberi label ulang, atur SELinux keSELINUX=imposing
di “/and so on/selinux/config” dan reboot.
Sekarang SE Linux berhasil diterapkan di sistem Anda.
Cara Mengkonfigurasi SELinux
SELinux adalah arsitektur yang memungkinkan admin sistem untuk mengontrol apa yang dapat mengakses sumber daya sistem. SELinux membatasi akses ke sistem dengan menggunakan kebijakan keamanan. Ada banyak cara untuk mengkonfigurasi SELinux untuk melindungi sistem Anda. Yang paling populer adalah “kebijakan bertarget” dan “keamanan multi-level” (MLS).
Kebijakan yang ditargetkan adalah kebijakan keamanan default yang keluar dari kotak. Ini mencakup berbagai kebijakan keamanan seperti akses file, tugas, layanan, dll. Keamanan multi-level (MLS) umumnya digunakan oleh pemerintah dan organisasi besar. Ini sangat rumit untuk diatur dan membutuhkan tim khusus untuk mengelolanya.
Anda dapat memeriksa mode SELinux Anda saat ini dengan perintah getenforce
dan sestatus
.
Jika Anda hanya perlu mengubah mode SELinux di sesi saat ini, Anda dapat menjalankan 2 perintah berikut.
sudo setenforce 0
: Mengatur SELinux ke mode permisif untuk sesi saat ini.sudo setenforce 1
: Mengatur SELinux ke mode penegakan untuk sesi saat ini.
Kebijakan SELinux
SELinux bekerja sebagai sistem pelabelan. Ini mengaitkan setiap file, port, dan proses dengan label. Label adalah cara logis untuk mengelompokkan berbagai hal. Kernel bertanggung jawab untuk mengelola label saat boot.

Kebijakan SELinux dapat dikelola oleh boolean. Mari kita ambil contoh view dan set boolean ke daemon yang disebut httpd
. httpd
adalah daemon server HTTP Apache yang kami gunakan untuk menjalankan server net di Linux.
Sekarang, untuk membuat daftar semua modul khusus untuk httpd
jalankan perintah berikut di terminal Anda.
getsebool -a | grep httpd
Di Sini -a
daftar opsi semua boolean dan kami menggunakan grep
untuk menyaring boolean yang terkait dengan hanya httpd
. Baca artikel ini untuk mengetahui lebih lanjut tentang grep di Linux.
Output dari perintah di atas terlihat seperti ini.
httpd_builtin scripting --> on httpd_can_check_spam --> off httpd can join ftp --> off httpd_can_connect_ldap --> off httpd_can_connect_mythty --> off httpd_can_connect_zabbix --> off httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off httpd_can_network_memcache --> off httpd_can_network_relay --> off httpd_can_sendmail --> off httpd_dbus_avahi --> off httpd dbus sssd--> off
Sekarang dari daftar di atas, kita ambil httpd_can_connect_ftp
Boolean dan ubah nilainya. Baca dulu nilai httpd_can_connect_ftp
jika aktif atau nonaktif:
getsebool httpd_can_connect_ftp
Sekarang mari kita atur nilai httpd_can_connect_ftp
untuk memungkinkan.
setsebool -P httpd_can_connect_ftp 1
Di sini 1 mewakili enable
atau on
. -P
tag digunakan untuk membuat perubahan permanen. Sekarang jika Anda membuat daftar boolean yang terkait dengan httpd lagi, maka kita dapat melihat perubahannya di httpd_can_connect_ftp
nilai untuk on
.
httpd_builtin_scripting --> on httpd_can_check_spam --> off httpd can join ftp --> on httpd_can_connect_ldap --> off httpd_can_connect_mythty --> off httpd_can_connect_zabbix --> off httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off httpd_can_network_memcache --> off httpd_can_network_relay --> off httpd_can_sendmail --> off httpd_dbus_avahi --> off httpd dbus sssd--> off
Cara Menangani Kesalahan SELinux
SELinux memiliki 4 jenis kesalahan secara umum:
- Sistem telah rusak: SELinux melindungi sistem Anda dengan membatasi akses. Tapi terkadang, ini tidak cukup. Jika Anda mendapatkan kesalahan ini, maka sistem Anda mungkin disusupi. Ambil tindakan yang diperlukan secepat mungkin.
- Bug dalam kebijakan: Jika ada bug dalam kebijakan yang perlu diperbaiki, maka kesalahan ini muncul.
- Labelnya salah: Pesan kesalahan ini muncul selama kustomisasi pelabelan oleh pengguna atau ketika pelabelan otomatis oleh SELinux pergi ke selatan. Ada banyak alat di pasaran untuk memperbaiki kesalahan label yang salah ini.
- Sebuah kebijakan perlu diperbaiki: Kesalahan ini berasal ketika Anda membuat beberapa perubahan pada sistem dan tidak memberi tahu SELinux tentang hal itu. Anda dapat memperbaiki kesalahan ini menggunakan modul boolean atau kebijakan.
Cara Menonaktifkan SELinux
Menonaktifkan SELinux bukanlah pilihan yang baik untuk server perusahaan dan pemerintah serta perangkat publik yang sangat rentan terhadap serangan. Tetapi jika Anda ingin menonaktifkan SELinux di sistem Anda, ikuti saja petunjuk ini.
- Buka file konfigurasi SE Linux di “/and so on/selinux” dan ubah mode konfigurasi SE Linux dari
imposing
kepermissive
. Kemudian reboot sistem Anda. - Setelah itu, ubah mode SELinux dari
permissive
kedisabled
.
Setelah reboot berikutnya, SELinux di sistem Anda dinonaktifkan dan menjadi mesin Linux regular.
Pertanyaan yang Sering Diajukan
Apakah SELinux hadir di Android?
Ya, SELinux diimplementasikan di Android dari versi 4.3. Ini meningkatkan keamanan Android dan melindungi pengguna Android dari serangan cyber.
Apakah SELinux adalah firewall?
SELinux bukan firewall. Firewall mengontrol lalu lintas antara komputer dan jaringan. Sementara SELinux mengontrol dan mengatur sistem file dan akses jaringan dari berbagai program di dalam sistem. Kita dapat menganggap SELinux sebagai firewall inner untuk melindungi sistem dari programnya.
Apakah SELinux merupakan sistem operasi?
SELinux bukan sistem operasi. Ini adalah modul keamanan kernel yang ada di kernel Linux. Ini memberikan dukungan untuk kebijakan keamanan kontrol akses dan kontrol akses wajib (MAC). Untuk menyebutnya sebagai sistem operasi, dibutuhkan lebih dari sekadar kernel itu sendiri. Di sebagian besar sistem operasi berbasis Linux, Anda dapat menggunakan SELinux.
Haruskah Anda menggunakan SELinux?
Jika Anda seorang sysadmin dan mengetahui sistem Unix dengan benar, Anda harus menggunakan SELinux. Ini meningkatkan keamanan server Anda dan meminimalkan permukaan serangan. Jika Anda tidak begitu akrab dengan sistem Unix, Anda juga dapat menggunakan Apparmor. Ini relatif lebih mudah daripada SELinux. Jika Anda adalah pengguna rumahan dan hanya menggunakan Linux di komputer desktop Anda, maka tidak perlu menggunakan SELinux. Itu hanya akan membuat Anda pusing untuk mengkonfigurasi dan mengurangi produktivitas Anda.
Apakah artikel ini bermanfaat?
Berlangganan e-newsletter kami!
Tutorial terbaru kami dikirim langsung ke kotak masuk Anda