Povinné řízení přístupu (SELinux)

Jiří Koten, xkoten1(at)fi.muni.cz

Povinné a volitelné řízení přístupu

Discretionary Access Control (DAC)

Mandatory Access Control (MAC)


Security-Enhanced Linux (SELinux)

Instalace

Bezpečnostní kontext

Type Enforcement

Každému subjektu i objektu je přiřazen typ. U subjektů se typ označuje jako doména. TE funguje na základě přechodových a přístupových pravidel. Rozdělíme systém na menší části oprávněné provádět jen specifické operace - Doménu autorizujeme pro přístup k některým typům souborů a definujeme, co s nimi může provádět. Pokud potřebujeme aby proces přistupoval k velkému počtu typů, umožníme mu přechod mezi doménami Deklaraci typů provádíme pomocí atributů - určuje co typ znamená, k čemu slouží

Přechodová pravidla

Přístupová pravidla

Konfigurace

Příklad /etc/selinux/config
# 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
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

/usr/share/selinux/ - nástroje pro kompilaci vlastních politik,příklad pravidel.
/selinux - nastavení SELinuxu, která lze měnit za chodu.

Tvorba pravidel

TE soubor

policy_module(local,1.0)

require {
	type sysadm_su_t, newrole_t;
}
allow sysadm_su_t newrole_t:process sigchld;

FC soubor

/opt/myprogs/mybin	--	system_u:object_r:bin_t
Pak následuje kompilace modulů make a zavedení modulů semodule -i local.pp

Literatura