SELinux

Po instalaci některých programů může vzniknout problém s neaktuálním nastavením SELinux, které blokuje jinak bezpečné operace. Například po instalaci tor a zapnutí logování do souboru, končí neúspěšně snaha o přístup k adresáři /var/log/tor, konkrétně se v audit.log objevují zprávy:

type=AVC msg=audit(1471788913.950:110): avc:  denied  { mounton } for  pid=918 comm="(tor)" path="/run/tor" dev="tmpfs" ino=17585 scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:tor_var_run_t:s0 tclass=dir permissive=0

Tuto situaci lze jednoduše vyřešit přidáním našich vlastních pravidel, které tuto operaci umožní. Ideální je tuto situaci vyřešit analýzou říčin a ručním vytvořením příslušných SELinux pravidel, ale v tomto jednoduchém případě si ukážeme cestu přes automatické skripty.

K vyhledání zpráv v audit.log s informacemi o odmítnutí určitých operací využijeme utilitu ausearch. Pro vytvoření příslušného povolovacího pravidla k dané zalogované zprávě využijeme audit2allow. Protože může být zalogovaných zpráv více od různých aplikací, a protože se pravidla typicky pojmenovávají dle své funkce/aplikace, nabízí ausearch různé selektory na časový údaj, typ zprávy, ap. V tomto případě by bylo vhodné například použít:

# ausearch -m avc -c '(tor)' | audit2allow -M my-tor

Program audit2allow vygeneruje soubor my-tor.te ("te" značí "Type Enforcement"):

module my-tor 1.0;

require {
        type tor_var_lib_t;
        type init_t;
        type tor_var_run_t;
        type tor_var_log_t;
        class dir mounton;
}

#============= init_t ==============

#!!!! This avc is allowed in the current policy
allow init_t tor_var_lib_t:dir mounton;
allow init_t tor_var_log_t:dir mounton;

#!!!! This avc is allowed in the current policy
allow init_t tor_var_run_t:dir mounton;

a jeho binární ekvivalent my-tor.pp ("pp" značí "Policy Package"). Ten už lze přidat do systému SELinux pravidel:

# semodule -i my-tor.pp

Při přidávání dalších pravidel je nutné používat jiná pojmenování, tj. například my-tor2, jinak by docházelo při jejich správě ke zbytečným zmatkům.

-- LeoGalambos - 22 Aug 2016
Topic revision: r1 - 22 Aug 2016, LeoGalambos
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback