DEV Community

Muhammad Fauzi
Muhammad Fauzi

Posted on

SELinux? What is that? Penting kah?

Image description

How SELinux Protects Resources

SELinux adalah keamanan penting bagi linux. Akses ke file dan sumber daya lainnya dikontrol pada tingkat yang sangat terperinci. Proses hanya diizinkan mengakses sumber daya yang ditentukan oleh kebijakannya, atau pengaturan boolean SELinux.

Mengontrol izin file pengguna atau grup pengguna mana yang dapat mengakses file tertentu. Namun, pengguna yang diberi akses baca atau tulis ke file tertentu dapat menggunakan file tersebut dengan cara apa pun yang dipilih pengguna, meskipun penggunaan tersebut bukanlah cara penggunaan file tersebut.

SELinux merupakan serangkaian kebijakan yang ditentukan oleh pengembang software, yang dengan tepat menyatakan tindakan dan akses apa yang tepat dan diperbolehkan untuk setiap biner yang dapat dieksekusi, konfigurasi file, dan file apa yang digunakan.

Why use Security Enhanced Linux?

SELinux menerapkan aturan untuk mencegah kelemahan dalam system aplikasi yang memengaruhi aplikasi lain atau system yang mendasarinya. Ia memberikan keamanan tambahan, hal ini menambah kompleksitas yang dapat membuat seseorang yang awam tidak menyukai system ini.

Tiga mode SELinux :

  • Enforcing: SELinux menerapkan aturan pengontrolan akses. Ia akan monolak jika ada pelanggaran dalam kontrol akses.
  • Permissive: SELinux aktif tetapi tidak sepenuhnya menerapkan kontrol akses. Ia mencatat peringatan aturan yang dilanggar. Digunakan untuk pengujian dan pemecahan masalah
  • Disabled: SELinux dimatikan, yang membuat tidak ada penolakan, atau dicatatnya pelanggaran pada system.

Basic SELinux security concepts

SELinuk merupakan lapisan tambahan pada lapisan keamanan. Tujuan utamanya untuk melindungi data dari pengguna dari layanan sistem yang telah diretas. Bekerja dengan menerapkan kebijakan kontrol akses yang ketat untuk mengontrol akses ke file, direktori, dan port. Dengan ini, SELinux membantu melindungi sistem bahkan jika layanan atau proses tertentu diretas, karena SELinux dapat mencegah akses yang tidak sah.
Setiap file, proses, direktori, dan port memiliki label keamanan khusus yang disebut SELinuxcontext. Konteks adalah nama yang digunakan oleh kebijakan SELinux untuk menentukan apakah suatu proses dapat mengakses file, direktori, atau port. Secara default, kebijakan ini tidak mengizinkan interaksi apa pun kecuali aturan eksplisit memberikan akses. Jika tidak ada aturan izinkan, maka akses tidak diperbolehkan.

Label SELinux memiliki beberapa konteks: user, role, type, dan sensitivity. Pada umumnya setiap service memiliki context yang berbeda dan memiliki peraturan penggunaan direktori yang berbeda pula. Dengan maksud meningkatkan tingkat keamanan.
Banyak commands untuk melihat context SELinux dengan menggunakan opsi – Z. misalnya ps, ls, cp, mkdir.
Image description

Image description

Changing the current SELinux mode

Untuk menentukan SELinux mode, gunakan getenforce. Untuk_ mengganti modenya_ gunakan setenforce diikuti modenya. Argumen enforcing 0 Permisive dan enforcing 1 Enforcing. Untuk mematikan SELinux selinux 0 dan untuk mengaktifkan selinux 1.

[user@host ~]# getenforce
Permissive
[user@host ~]# setenforce Enforcing
[user@host ~]# getenforce
Enforcing
Enter fullscreen mode Exit fullscreen mode

Setting the default SELinux mode

Anda dapat mengkonfigurasi SELinux secara default dengan mengubah file /etc/selinux/config. Misalnya enforcing .

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes
#               are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
Enter fullscreen mode Exit fullscreen mode

Top comments (0)