GNU/Linux >> Belajar Linux >  >> Linux

Apa itu SELinux? Mengapa Anda Mungkin Ingin Menonaktifkannya?

Jika Anda sudah tahu tentang SELinux dan Anda benar-benar menyadari risiko yang akan Anda hadapi saat menonaktifkannya, berikut cara melakukannya.

  • Buka file konfigurasi /etc/selinux/config atau tautan simbolisnya /etc/sysconfig/selinux .
  • Ubah baris dari SELINUX=enforcing ke SELINUX=dinonaktifkan
  • Mulai ulang sistem atau gunakan setenforce 0 untuk segera meminta perubahan.

Baca artikel ini untuk informasi lebih detail tentang apa itu SELinux, cara menonaktifkan SELinux, dan mengapa menonaktifkan SELinux tidak selalu merupakan ide yang baik.

Apa itu SELinux?

SELinux adalah singkatan dari Security Enhanced Linux. Ini adalah mekanisme pelabelan untuk memberikan keamanan tinggi pada file dan objek lain dalam sistem dari proses yang tidak sah dan juga proses resmi yang tidak memiliki atau membutuhkan akses tersebut untuk menghindari penyalahgunaan.

Seseorang dapat menginstal SELinux di sistem Linux yang ada. Penggunaan ini tidak akan berguna untuk semua pengguna individu tetapi penting untuk sistem server.

Kekakuan keamanannya dapat dipahami dengan fakta bahwa dengan SELinux, proses yang dimiliki root meskipun diretas tidak dapat mengakses file yang tidak diberikan akses.

Bagaimana Cara Kerja SELinux?

SELinux memberlakukan kebijakan akses yang akan diikuti oleh kernel setiap kali suatu proses perlu mengakses file atau objek. Di bawah kebijakan, setiap file atau proses diberi label. Jadi, ketika sebuah proses dengan label a:a:a perlu mengakses file (dengan label b:b:b) keduanya harus cocok (kecuali untuk konfigurasi MLS di mana hierarki akan diikuti sesuai kebijakan).

Baca selengkapnya tentang pelabelan di sini dan di sini.

Perhatikan bahwa menonaktifkan SELinux di server membawa kembali banyak ancaman ke sistem. Pastikan Anda melakukan ini bukan karena kenyamanan atau konten spekulasi dalam artikel, tetapi karena alasan yang sah.

Kelemahan Menonaktifkan SE Linux

Saat menonaktifkan SELinux, setiap proses akan memiliki akses ke file seperti pada Sistem Linux biasa. Penyalahgunaan hak tidak dapat dicegah. Proses yang diretas dapat memperoleh akses ke file rahasia yang tidak diperlukan untuk tujuan aslinya dan mungkin disalahgunakan. Ini adalah masalah serius.

Jika proses dengan izin root dikompromikan, maka seluruh sistem berisiko. Apa yang disediakan SELinux adalah keamanan yang lebih kaku. Pelajari lebih lanjut tentang risiko di sini.

Mengapa Anda ingin menonaktifkan SELinux jika itu adalah fitur keamanan?

Karena seringkali fitur keamanan yang ekstrim menjadi masalah. Hal yang sama berlaku untuk SELinux.

Karena terlalu ketat pada file apa yang dapat diakses oleh proses apa, Anda akan kesulitan membuat berbagai layanan berfungsi dengan baik di server Anda.

Misalnya, jika file di /var/lib dimiliki oleh root dan dengan izin file 000, program yang memerlukan file ini tidak akan berjalan.

Juga, ketika Anda men-debug aplikasi, SELinux menjadi menyebalkan. Menonaktifkannya menghemat sakit kepala Anda.

Kiat:Gunakan mode permisif dengan SELinux

Praktik yang relatif lebih baik adalah menempatkan SELinux ke mode permisif sebelum Anda menerapkan aplikasi atau men-debug masalah Anda dan mengaktifkannya kembali setelah itu.

Mode permisif berfungsi seolah-olah SELinux dinonaktifkan tetapi pada saat yang sama, mode tersebut akan masuk seolah-olah SELinux diaktifkan.

Dengan cara ini Anda dapat mengetahui dari log /var/log/messages apa yang akan terjadi dengan aplikasi Anda jika SELinux diaktifkan. Periksa pesan penolakan.

Perhatikan bahwa sistem Anda tidak dilindungi dengan kebijakan SELinux dalam mode permisif.

Nonaktifkan SELinux di CentOS dan distribusi Linux lainnya

Anda dapat menonaktifkan SELinux menggunakan langkah-langkah berikut. Meskipun perintah ini diuji di CentOS, perintah ini akan bekerja dengan sempurna di Fedora dan Red Hat Linux.

Saya pikir langkah yang sama juga berlaku untuk distribusi Linux lainnya. Jika tidak, beri tahu kami di bagian komentar.

Pertama, periksa Status SELinux menggunakan sestatus perintah.

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

Jika SELinux diaktifkan dan dalam mode penegakan, Anda dapat menonaktifkannya menggunakan langkah-langkah ini.

Langkah 1: Buka file konfigurasi /etc/selinux/config atau tautan simbolisnya /etc/sysconfig/selinux

Langkah 2: Ubah baris dari SELINUX=enforcing ke SELINUX=disabled .

Langkah 3: Mulai ulang sistem atau gunakan setenforce 0 untuk mengubah mode SELinux untuk sesi saat ini dan perubahan akan aktif saat restart.

Catatan :Untuk menempatkan SELinux dalam mode permisif, ubah file konfigurasi menjadi SELINUX=permissive

Bagaimana cara mengaktifkan SELinux lagi?

Seperti yang disebutkan sebelumnya, Anda mungkin ingin mengaktifkan SELinux lagi setelah men-debug masalah Anda atau menerapkan aplikasi Anda. Bahkan, menonaktifkan SELinux untuk sementara mungkin merupakan ide terbaik.

Anda dapat mengaktifkan kembali SELinux dengan mengembalikan perubahan yang Anda lakukan sebelumnya.

Langkah 1: Buka kembali file /etc/selinux/config atau /etc/sysconfig/selinux.

Langkah 2: Kali ini ubah baris menjadi SELINUX=enforcing

Langkah 3: Pada akhirnya, reboot sistem atau gunakan perintah setenforce 1 untuk segera menerapkan SELinux.

Saya harap saya mengklarifikasi beberapa hal tentang SELinux seperti mode permisif vs menegakkan, menonaktifkan SELinux, dll.

Jika Anda memiliki pertanyaan atau saran untuk memperbaiki artikel ini, beri tahu kami di bagian komentar di bawah. Sampaikan juga pendapat Anda tentang menonaktifkan SELinux.


Linux
  1. Mengapa Anda perlu menghapus ifconfig untuk ip

  2. Apa yang dapat dilakukan shell dotfile untuk Anda

  3. Apa runlevel sistem Linux saat ini?

  1. 4 Metode Efektif untuk Menonaktifkan SELinux Sementara atau Permanen

  2. Nonaktifkan SELinux pada CentOS 6

  3. Apa itu namespace UTS?

  1. Cara Menonaktifkan SELinux Sementara atau Permanen

  2. Apa itu POSIX? Mengapa Penting bagi Pengguna Linux/UNIX?

  3. Apa sebenarnya yang dilakukan init?