Mengelola Keamanan SELinux
Ilham Bagus Prasetyo
Posted on April 3, 2024
Bagian
A. Penjelasan tentang SELinux
B. Penjelasan 3 mode kerja SELinux
Mari simak penjelasan berikut.
- A. Penjelasan tentang SELinux
Security Enhanced Linux (SELinux) adalah lapisan tambahan keamanan sistem. Tujuan utama SELinux adalah untuk melindungi data pengguna dari layanan sistem yang telah dikompromikan. Sebagian besar administrator Linux terbiasa dengan model keamanan izin pengguna/grup/standar dan lainnya. Ini adalah model berbasis pengguna dan grup yang dikenal sebagai kontrol akses diskresioner. SELinux menyediakan lapisan keamanan tambahan yang berbasis objek dan dikendalikan oleh aturan yang lebih canggih, yang dikenal sebagai kontrol akses wajib.
Untuk memungkinkan akses anonim jarak jauh ke server web, port firewall harus dibuka. Namun, ini memberi orang jahat kesempatan untuk membahayakan sistem melalui kerentanan. Jika mereka berhasil mengkompromikan proses server web, mereka mendapatkan izinnya. Secara khusus, izin pengguna dan grup. Pengguna dan grup tersebut memiliki akses baca ke root dokumen. Ini juga memiliki akses ke file dan direktori yang dapat ditulis dunia. apacheapache/var/www/html/tmp/var/tmp
SELinux adalah seperangkat aturan keamanan yang menentukan proses mana yang dapat mengakses file, direktori, dan port mana. Setiap file, proses, direktori, dan port memiliki label keamanan khusus yang disebut SELinux context. context adalah nama yang digunakan oleh kebijakan SELinux untuk menentukan apakah suatu proses dapat mengakses file, direktori, atau port. Secara default, kebijakan tidak mengizinkan interaksi apa pun kecuali aturan eksplisit memberikan akses. Jika tidak ada aturan izinkan, tidak ada akses yang diizinkan.
SELinux adalah fitur keamanan penting dari Linux. Akses ke file dan sumber daya lainnya dikendalikan pada tingkat yang sangat terperinci. Proses hanya diizinkan untuk mengakses sumber daya yang ditentukan oleh kebijakan mereka, atau pengaturan SELinux boolean.
Izin file mengontrol pengguna atau grup pengguna mana yang dapat mengakses file tertentu. Namun, pengguna yang diberi akses baca atau tulis ke file tertentu dapat menggunakan file itu dengan cara apa pun yang dipilih pengguna.
Contohnya, dengan akses menulis ke sebuah file, apakah sebuah file data terstruktur yang dirancang untuk ditulis hanya menggunakan program tertentu, boleh dibuka dan diubah oleh editor lain yang bisa menyebabkan kerusakan?
Izin file tidak dapat menghentikan akses yang tidak diinginkan seperti itu. Mereka tidak pernah dirancang untuk mengontrol bagaimana sebuah file digunakan, tetapi hanya siapa yang diizinkan untuk membaca, menulis, atau menjalankan sebuah file.
- B. Penjelasan 3 mode kerja SELinux
SELinux terdiri dari “policies”, yaitu peraturan yang memperbolehkan atau mencegah penggunaan aplikasi tertentu. Ada tiga status SELinux, yaitu:
1. Enforcing yang artinya semua akses tanpa otorisasi akan ditolak. Dalam kondisi ini, SELinux sedang aktif.
2. Permissive yang artinya SELinux membolehkan akses tanpa otorisasi, tetapi diikuti oleh peringatan.
3. Disable yang artinya SELinux dalam keadaan mati dan tidak akan memberi peringatan apa pun.
melihat status selinux
[root@reizzo ~]# getenforce
Enforcing
# enforcing ⇒ SELinux is enabled (default)
# permissive ⇒ MAC is not enabled, but only records audit logs according to Policies
# disabled ⇒ SELinux is disabled
atau menggunakan sestatus jika ingin mendisplay statusnya saja.
[root@reizzo ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Current mode: enforcing
Loaded policy name: targeted
Mode from config file: enforcing
Memory protection checking: actual (secure)
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
Jika ingin merubah mode dari selinux, maka caranya sebagai berikut.
[root@reizzo ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# permissive - SELinux prints warnings instead of enforcing.
# enforcing - SELinux security policy is enforced.
# disabled - No SELinux policy is loaded.
# change value you'd like to set
SELINUX=enforcing
# SELINUXTYPE= can take one of these three values:
# minimum - Modification of targeted policy. Only selected processes are protected.
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# restart to apply change
[root@reizzo ~]# reboot
Sebagai catatan, jika merubah selinux dari disable menjadi enforcing/ permisive, maka perlu melabel ulang file sistem menggunakan Selinux , karena jika sebuah file atau direktory dibuat ketika selinux dalam keadaan disable, maka file atau direktory tersebut tidak terlabeli oleh selinux makadari itu kita perlu melabeli nya juga. berikut caranya;
[root@reizzo ~]# touch /.autorelabel
[root@reizzo ~]# reboot
Posted on April 3, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.