SELinux atau Security-Enhanced Linux adalah implementasi dari flexible Mandatory Acces Control (MAC) di dalam architecture operating system Linux. SELinux mendukung berbagai macam access control policies di dalam Linux terutama dalam hal security sistem tersebut.
File konfigurasi SELinux dapat ditemukan di /etc/selinux/config dimana setting SELinux dapat diaktifkan maupun di non-aktifkan. Berikut adalah contoh konfigurasi untuk SELinux :
# 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 – SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted – Only targeted network daemons are protected.
# strict – Full SELinux protection.
SELINUXTYPE=targeted
SELinux sendiri memiliki kemungkinan nilai, yaitu :
Enforcing yang berarti policy SELinux itu dipaksakan di dalam sistem.
Permissive yang berarti SELinux masih memberikan kebebasan akses namun dengan persetujuan ( mode ini akan meminta warning ketika suatu akses ingin berjalan )
Disabled, yaitu SELinux tidak dijalankan.
Bagian yang kedua dari file konfigurasi di atas adalah tentang policy SELinux itu sendiri. SELinux sendiri sebenarnya membolehkan berbagai macam policy terinstal di system, namun hanya satu policy yang diperbolehkan aktif dalam satu saat.Secara default, hanya ada dua jenis policy SELinux yang aktif, yaitu targeted dan strict.
Targeted policy, proses-proses default dan umum beroperasi tanpa pembatasan. Dan hanya service-service tertentu yang dikenakan policy dan diletakkan didalam security domains. Berikut adalah proses-proses yang dikenakan targeted policy bila policy tersebut berjalan :
accton, amanda, httpd (apache), arpwatch, pam, automount, avahi, named, bluez, lilo, grub, canna, comsat, cpucontrol, cpuspeed, cups, cvs, cyrus, dbskkd, dbus, dhcpd, dictd, dmidecode, dovecot, fetchmail, fingerd, ftpd (vsftpd, proftpd, and muddleftpd), gpm, hald, hotplug, howl, innd, kerberos, ktalkd, openldap, auditd, syslog, logwatch, lpd, lvm, mailman, module-init-tools, mount, mysql, NetworkManager, NIS, nscd, ntp, pegasus, portmap, postfix, postgresql, pppd, pptp, privoxy, procmail, radiusd, radvd, rlogin, nfs, rsync, samba, saslauthd, snmpd, spamd, squid, stunnel, dhcpc, ifconfig, sysstat, tcp wrappers, telnetd, tftpd, updfstab, user management (passwd, useradd, etc.), crack, uucpd, vpnc, webalizer, xend, xfs, zebra
Strict policy, membatasi semua proses didalam security domains tertentu dimana policy SELinux itu berlaku.
Untuk memilih tipe policy yang akan digunakan dapat diubah di option SELINUXTYPE pada file konfigurasi /etc/selinux/config. Atau dapat juga mengaktifkan atau menon-aktifkan SELinux melalui menu System -> Administration -> Security Level and Firewall. Bila ingin mengatur service apa saja yang berada di bawah SELinux dapat dipilih Modify SELinux Policy pada menu Security Level and Firewall tersebut. Di sana anda dapat mendisable atau meng-enablekan policy SELinux pada suatu service.