Re: CUPS + smb tiskarna + krb5 DOPLNĚNO: Dokumentace k SELinuxu pro začátečníky
Ing. Leoš Houser
leos.houser na aacomputer.cz
Čtvrtek Leden 31 16:46:03 CET 2013
Dobrý den.
Tranzitivní pravidlo je napříkad toto z vašeho konfigu modulu.
allow cupsd_t xauth_exec_t:file execute;
Úprava pro spuštění /bin/su cupsem by vypadala takto:
allow cupsd_t su_exec_t:file execute;
Nemám jak vyzkoušet. Je to na vás, i když zřejmě je již problém vyřešen.
Co se týká dokumentace SELinuxu pro začátečníky, je to problém. SELinux je
dítě NSA http://www.nsa.gov/research/selinux/index.shtml Snad i proto jej
většina lidí raději vypíná. :-) Spíše je to ale proto, že zaměstnavatel nebo
zákazník rozdíl v bezpečnosti při nasazeném SELinuxu bezprostředně nepozná.
A s jeho pokročilou konfigurací je docela práce a nastudování problematiky
je týden času.
Rozumně použitelný je SELinux v distribucích RedHatu, kde implicitně
nesvazuje celý operační systém, ale jen síťové daemony (režim targeted). Od
RH4, kdy byl zařazen se vyvíjí a postupně se zlepšují možnosti jeho
ovládání, ale i zvyšuje složitost. S verzí v RH6 základní nástroje pro
ovládání "vandrovaly" do jiných RPM balíčků, a i já jako dlouholetý uživatel
jsem se divil, kam mi zmizelo semanage a musel jsem ho hledat :-( První
instalace RH6 a nachození SELinuxu bylo docela časově náročné. A začátečník,
který neví přesně, jaký nástroj hledá, a jak se s ním problém řešit to má
opravdu těžké.
Pokusil jsem se kdysi o popis řešení základních úloh v SELinuxu:
http://it-blog.cz/linux/selinux-na-rhel-a-centos-prakticky-i/
http://it-blog.cz/linux/selinux-na-rhel-a-centos-prakticky-ii/
http://it-blog.cz/linux/selinux-na-rhel-a-centos-prakticky-iii/
Bohužel, seriál není dokončený. Příliš nestíhám.
S pozdravem
--
Ing. Leoš Houser, jednatel
AA COMPUTER, s.r.o.
Konečná 917/25
360 05 Karlovy Vary
Tel: +420 353 566 539
Mob.: +420 737 107 202
E-mail: leos.houser na aacomputer.cz
WWW: http://www.aacomputer.cz
----- Původní zpráva -----
Od: "Luděk Finstrle" <luf na pzkagis.cz>
Komu: "Diskuse o Linuxu v cestine" <linux na linux.cz>
Odesláno: 31. ledna 2013 14:05
Předmět: Re: CUPS + smb tiskarna + krb5
Dobry den,
diky rade Pavla jsem prosel skrz, ale rad se dozvim o selinuxu
vic, nez jen jak ho vypinat. A priznam se, ze jsem ocekaval, ze se
z toho problemu dostanu prave nejakym tranzitivnim pravidlem
(ale nevyznam se v tom, takze mozna mylna predstava).
Čtvrtek, 31 Leden, 2013 12:49 CET, "Ing. Leoš Houser"
<leos.houser na aacomputer.cz> napsal:
> Pokud jsem pochopil váš velmi hutný popis problému správně, máte aktuálně
> problém v přechodem cupsu do bezpečnostní domény su_exec_t Tato
> konfigurace
> by potom měla obsahovat povolující tranzitivní pravidlo pro cups do domény
> su_exec_t. Zkuste jej doplnit pokud tam není a modul zkompilujte a zaveďte
> ručně.
Bohuzel vubec netusim jak maji tranzitivni pravidla vypadat.
Je nekde howto pro zacatecniky?
Vzdycky kdyz jsem zkusil do selinuxu proniknout tak jsem skoncil po
X strankach teorie, ze ktere mi sla hlava kolem. No a protoze jsem si
na to nikdy nevyclenil dostatek casu, tak selinux umim jen vypinat :(
Pokud by to zajimalo (komentare i rady na vylepseni vitam) i nekoho dalsiho,
tak tady je muj stavajici obsah modulu:
module cupssmbkrb 1.0.0;
require {
type cgroup_t;
type cupsd_t;
type lastlog_t;
type su_exec_t;
type systemd_logind_t;
type systemd_logind_sessions_t;
type user_home_dir_t;
type user_tmp_t;
type xauth_exec_t;
class dbus send_msg;
class dir { getattr open read search write };
class fifo_file write;
class file { getattr execute execute_no_trans open read write };
class key write;
class netlink_selinux_socket create;
class passwd rootok;
class process setrlimit;
}
#============= cupsd_t ==============
allow cupsd_t cgroup_t:dir { getattr open read search };
allow cupsd_t lastlog_t:file { read write open };
allow cupsd_t systemd_logind_t:dbus send_msg;
allow cupsd_t systemd_logind_sessions_t:fifo_file write;
allow cupsd_t self:key write;
allow cupsd_t self:netlink_selinux_socket create;
allow cupsd_t self:passwd { rootok };
allow cupsd_t self:process setrlimit;
allow cupsd_t su_exec_t:file { getattr execute execute_no_trans open read };
allow cupsd_t user_home_dir_t:dir getattr;
allow cupsd_t user_tmp_t:dir { getattr open read search write };
allow cupsd_t user_tmp_t:file open;
allow cupsd_t xauth_exec_t:file execute;
#============= systemd_logind_t ==============
allow systemd_logind_t cupsd_t:dbus send_msg;
Diky za rady
Další informace o konferenci Linux