CUPS + smb tiskarna + krb5
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Čtvrtek Leden 31 20:21:29 CET 2013
On Thu, 31 Jan 2013, Ing. Leoš Houser wrote:
> [...] 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.
Tento úryvek imho obsahuje hned několik nesmyslů: Typ su_exec_t není
doména (tedy typ běžícího procesu). Nevím, která pravidla jsou dle Vás
"tranzitivní", já znám jen přechodová (transition, pokud to někdo chce
počeštit jen napůl, tak by to bylo asi "transiční").
On Thu, 31 Jan 2013, Luděk Finstrle wrote:
>> Nedávno tady byla taková menší diskuse o tom, jak předávat bezpečně
>> parametry dovnitř su... [...]
> Poradis klicova slova? Konefru beru, ale tohoto si nejsem vubec vedom.
"Eskejpovani pro su" z října 2012.
> Zajimave, ale zadne AVC denied tam nebylo. Jen
Protože to AVC neodmítlo. su udělalo dotaz (z pohledu AVC v jádře čistě
nezávazný), ale zamítlo si to pak samo.
> Nemam problem to zadat jako bug. Jen pro potvrzeni, melo by to byt neco jako:
> type=AVC msg=audit(<timestamp>): avc: denied { rootok } for pid=.. comm=".." scontext=system_u:system_r:cupsd_t:s0-s0:c0.c1023 tcontext=... tclass=process ?
Asi tak nějak s malými výhradami:
type=USER_AVC, protože se to vyhodnocuje v userspace
class=passwd, protože je to tato třída přístupových práv
Je možné, že patřičná místa usoudí, že "root check failed" je postačující,
ale to se uvidí.
On Thu, 31 Jan 2013, Luděk Finstrle wrote:
> [...] ale rad se dozvim o selinuxu vic, nez jen jak ho vypinat.
Jako celkem dobrý úvod se mi jevilo toto:
<http://www.trust.rub.de/media/ei/attachments/files/2009/02/selinux_intro_0.1_.pdf>
Také byl docela zajímavý tento dokument, který navzdory názvu šel i do
hlubších až obskurních detailů, které bylo občas dost obtížné vyčíst
z jiných zdrojů:
<http://www.freetechbooks.com/efiles/selinuxnotebook/The_SELinux_Notebook_The_Foundations.pdf>
Také doporučuji studium referenční politiky.
Nicméně jakési pochopení základní teorie (zejména toho, jak funguje type
enforcement) je asi nezbytné.
On Thu, 31 Jan 2013, Ing. Leoš Houser wrote:
> Tranzitivní pravidlo je napříkad toto z vašeho konfigu modulu.
> allow cupsd_t xauth_exec_t:file execute;
Jak už jsem psal výše, tak si úplně nejsem jistý, čemu říkáte "tranzitivní
pravidlo".
Přechodové toto pravidlo určitě není, protože povoluje doméně cupsd_t
spustit soubor typu xauth_exec_t, ale přechod mezi typy ani nedefinuje
(type_transition), ani nepovoluje (allow ... transition nebo entrypoint).
> Úprava pro spuštění /bin/su cupsem by vypadala takto:
> allow cupsd_t su_exec_t:file execute;
Takové pravidlo tam už ovšem bylo:
allow cupsd_t su_exec_t:file { getattr execute execute_no_trans open read };
a navíc je tam povoleno execute_no_trans, čili je naprosto
"bezpřechodové": je povoleno, aby su po svém spuštění běželo v původní
doméně cupsd_t.
Zřejmě pak cupsd_t běží i to, co je spuštěno pod su, jak naznačuje
pravidlo povolující spouštět xauth.
Je tak trochu otázka, zda by nebylo lepší, kdyby tam nějaký přechod byl,
ne-li dokonce dva (jedna mezilehlá doména pro su, další doména pro
smbspool), ale to by vyžadovalo nějaké vyšívání na té politice.
--
Pavel Kankovsky aka Peak / Jeremiah 9:21 \
"For death is come up into our MS Windows(tm)..." \ 21st century edition /
Další informace o konferenci Linux