Cara Mengamankan Server Linux Anda Dengan SELinux

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 keamanan (SE) menggunakan protokol keamanan untuk membatasi akses ke sumber daya sistem. Cari tahu bagaimana Anda dapat menggunakannya untuk server Anda.

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 konfigurasi tidak dapat berdampak besar pada keamanan sistem.

Ketika sebuah aplikasi atau proses meminta akses file di sistem SELinux, pertama-tama akan memeriksa cache vektor akses (AVC). Jika izin sebelumnya di-cache, maka izin tersebut dikembalikan dengan file untuk aplikasi yang diminta. Jika izin tidak di-cache, maka permintaan akan dikirim ke server keamanan. Server keamanan memeriksa semua kebijakan keamanan dalam basis datanya. Bergantung pada kebijakan keamanan, izin 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 yang diistimewakan, dan konfigurasinya. kesalahan atau bug di salah satu komponen ini dapat menciptakan permukaan yang menyerang dan membahayakan sistem.

Di sisi lain, sistem Linux yang dimodifikasi dengan SELinux terutama bergantung pada kebenaran kernel dan kebijakan keamanan.

Cara Memasang atau Mengaktifkan SELinux

SELinux adalah singkatan dari Security 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 memiliki tiga mode utama: 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.
  • Dinonaktifkan: 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, sebuah alternatif dari SELinux. Meskipun SELinux tersedia di Ubuntu, itu 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 “/etc/selinux/config”. Buka file ini di editor teks Anda.

sudo nano / etc / selinux / config

  • Di dalam file konfigurasi, atur SELINUX=permissive . Tekan Ctrl + O dan tekan Enter 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.

  • Untuk memberi label 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 pada sistem file Anda. Untuk mengurangi error, pertahankan opsi SELINUX=permissive seperti yang ada di folder config. Setelah semuanya diberi label ulang, setel SELinux ke SELINUX=enforcing di “/etc/selinux/config” dan reboot.

SELinux akan berhasil diterapkan di sistem Anda.

Cara Konfigurasi 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 mengonfigurasi SELinux untuk melindungi sistem Anda, dengan yang paling populer adalah “kebijakan bertarget” dan “keamanan multi-level” (MLS).

Kebijakan yang ditargetkan adalah kebijakan keamanan default. Ini mencakup berbagai kebijakan keamanan, seperti akses file, tugas, layanan, dll. Keamanan multi-level (MLS) umumnya digunakan oleh pemerintah dan organisasi besar, sangat rumit untuk disiapkan dan memerlukan 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 dua 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 berfungsi sebagai sistem pelabelan. Itu mengaitkan setiap file, port, dan proses dengan label. Label adalah cara logis untuk mengelompokkan berbagai hal. Kernel bertanggung jawab untuk mengelola label selama boot.

Sumber gambar: MIT

Kebijakan SELinux dapat dikelola oleh boolean. Sebagai contoh, mari atur boolean ke daemon bernama httpd . httpd adalah daemon server HTTP Apache yang kami gunakan untuk menjalankan server web di Linux.

Untuk mencantumkan semua modul khusus untuk httpd , jalankan perintah berikut di terminal Anda:

getsebool -a | grep httpd

Di sini, opsi -a mencantumkan semua boolean, dan kami menggunakan grep untuk memfilter boolean yang hanya terkait dengan httpd . Baca artikel ini untuk mengetahui lebih banyak tentang grep di Linux.

Output dari perintah di atas terlihat seperti gambar di bawah ini.

Skrip httpd_builtin — > pada httpd_can_check_spam — > matikan httpd dapat menghubungkan ftp — > matikan httpd_can_connect_ldap — > matikan httpd_can_connect_mythty — > matikan httpd_can_connect_zabbix — > matikan httpd_can_network_connect — > matikan httpd_can_network_connect_cobbler — > matikan httpd_can_network_connect_db — > matikan httpd_can_network_memcache — > matikan httpd_can_network_relay — > matikan httpd_can_sendmail — > matikan httpd_dbus_avahi — > matikan httpd dbus sssd– > matikan

Dari daftar di atas, kita ambil boolean httpd_can_connect_ftp dan ubah nilainya. Pertama, baca nilai httpd_can_connect_ftp , apakah aktif atau tidak aktif:

getsebool httpd_can_connect_ftp

Mari kita atur nilai httpd_can_connect_ftp untuk mengizinkan.

setsebool -P httpd_can_connect_ftp 1

Di sini, 1 mewakili izinkan atau pada . Tag -P digunakan untuk membuat perubahan permanen. Jika Anda mencantumkan boolean yang terkait dengan httpd lagi, maka kita dapat melihat perubahan nilai httpd_can_connect_ftp menjadi on .

httpd_builtin_scripting — > on httpd_can_check_spam — > off httpd dapat terhubung 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 – – > matikan httpd_can_network_relay — > matikan httpd_can_sendmail — > matikan httpd_dbus_avahi — > matikan httpd dbus sssd– > matikan

Cara Menangani Kesalahan SELinux

SELinux memiliki 4 jenis kesalahan secara umum:

  • Sistem telah rusak : SELinux melindungi sistem Anda dengan membatasi akses, namun te
    rkadang, ini tidak cukup. Jika Anda mendapatkan kesalahan ini, maka sistem Anda mungkin disusupi. Ambil tindakan yang diperlukan secepat mungkin.
  • Bug di kebijakan : jika ada bug di kebijakan yang perlu diperbaiki, error ini muncul.
  • Labelnya salah : Pesan kesalahan ini muncul selama kustomisasi pelabelan oleh pengguna atau saat pelabelan otomatis oleh SELinux mengarah ke selatan. Ada banyak alat di pasaran untuk memperbaiki kesalahan label ini.
  • Kebijakan perlu diperbaiki : Kesalahan ini terjadi saat 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 petunjuk ini.

  • Buka file konfigurasi SE Linux di “/etc/selinux” dan ubah mode konfigurasi SE Linux dari enforcing ke permissive , lalu reboot sistem Anda.
  • Ubah mode SELinux dari permissive ke disabled .

Setelah reboot berikutnya, SELinux di sistem Anda dinonaktifkan dan menjadi mesin Linux normal.

Pertanyaan yang Sering Diajukan

Apakah SELinux hadir di Android?

Ya, SELinux diimplementasikan di Android dari versi 4.3. Ini meningkatkan keamanan Android untuk melindungi pengguna Android dari serangan dunia maya.

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 internal untuk melindungi sistem dari programnya.

Apakah SELinux adalah 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, diperlukan 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, Anda harus menggunakan SELinux, karena ini meningkatkan keamanan server Anda dan meminimalkan permukaan yang menyerang. Jika Anda tidak terlalu paham dengan sistem Unix, Anda juga dapat menggunakan Apparmour. Ini relatif lebih mudah daripada SELinux. Jika Anda adalah pengguna rumahan dan hanya menggunakan Linux di komputer desktop, tidak perlu menggunakan SELinux. Itu hanya akan membuat Anda pusing untuk mengonfigurasi dan mengurangi produktivitas Anda.

Related Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *