abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Sledujte AbcLinuxu.cz na:
facebook favicon logo  Facebooku twitter favicon logo  Twitteru,   identi.ca favicon logo  Identi.ca,   rss logo  RSS
Rozšířené hledání
×
včera 23:33 | Nová verze
Vyšla distribuce Linux Mint 12 v edici s KDE 4.7.4. Nová verze distribuce přináší zejména nové verze aplikací - Firefox a Thunderbird 8.0, LibreOffice 3.4.3 nebo Amarok 2.4.3. Zajímavostí je, že i tato edice přechází na webový vyhledávač DuckDuckGo, neboť ten je prvním, kdo tuto distribuci finančně podporuje.
Luboš Doležel (Doli) | Komentářů: 0
včera 22:46 | Nová verze
Vyšla jádra 3.0.19, 3.2.3 a 2.6.32.56. Všechna obsahují řadu důležitých oprav a Gregovu výzvu o nutnosti aktualizace.
Nicky726 | Komentářů: 2
včera 11:12 | Nová verze
Slashdot informuje o vydání Unicode 6.1.0. Nová verze přináší kromě jiného také 732 nových znaků (týká se například asijských a afrických jazyků a emotikonů). Jejich přehled a další informace o verzi 6.1 naleznete na serveru unicode.org.
Tomáš Heger (geckon) | Komentářů: 13
včera 10:03 | Pozvánky
Lupa.cz zve na panelovou diskusi o ACTA, která se koná 7. února od 9.30 v kině Atlas na Sokolovské ulici v Praze. Mezi pozvanými jsou Mikuláš Ferjenčík (Česká pirátská strana), Alex Ivančo (Ministerstvo průmyslu a obchodu), nezávislý konzultant a publicista Jiří Peterka, Markéta Prchalová (Česká protipirátská unie) a Miloš Šnytr (Úřad pro ochranu osobních údajů). Diskusi bude moderovat šéfredaktor Lupa.cz Patrick Zandl.
Tomáš Heger (geckon) | Komentářů: 24
včera 09:52 | Komunita
Red Hat na žádosti svých zákazníků prodlužuje podporu Red Hat Enterprise Linuxu ve verzích 5 a 6 ze sedmi na deset let. RHEL 5 tak bude podporován do března 2017 a RHEL 6 dokonce do listopadu 2020. Zdroj: ZDNet.
Tomáš Heger (geckon) | Komentářů: 13
včera 09:39 | Bezpečnostní upozornění
Byla vydána nová verze PHP 5.3.10. Opravena je bezpečnostní chyba CVE-2012-0830. Ta se objevila v předchozí verzi PHP 5.3.9 jako důsledek nepovedené opravy bezpečnostní chyby CVE-2011-4885.
Ladislav Hagara | Komentářů: 3
včera 09:06 | Komunita
Ars technica píše, že vývojář jádra Greg Kroah-Hartman opustil SUSE a stal se z něj „Linux Fellow“, což znamená, že je za svou práci placen z fondu Linux Foundation (podobně jako například Linus Torvalds). K jeho práci bude i nadále patřit mimo jiné správa stabilní větve a některých subsystémů linuxového jádra. Greg sám tuto novinku stručně oznámil na svém webu.
Tomáš Heger (geckon) | Komentářů: 4
2.2. 22:32 | Bezpečnostní upozornění
V pondělí 6. února skončí podpora Debianu 5.0 „Lenny“ (oldstable), což znamená konec aktualizací (včetně bezpečnostních). Pokud tuto verzi máte někde nainstalovánu, měli byste systém povýšit na aktuální stable verzi označenou jako Debian 6 „Squeeze“. Zdroj: Debian-linux.cz.
Tomáš Heger (geckon) | Komentářů: 24
2.2. 22:13 | Zajímavý článek
Aaron Seigo zveřejnil seznam odpovědí na časté otázky ohledně tabletu Spark. Spark bude postaven na Linuxu a KDE Plasma Active.
Luboš Doležel (Doli) | Komentářů: 4
2.2. 22:11 | Upozornění
Pracovníci Národního bezpečnostního týmu CSIRT.CZ, který již více než rok působí v rámci sdružení CZ.NIC, vydali včera doporučení pro správce internetových stránek. Tato doporučení souvisejí se stále trvajícími aktivitami skupiny Anonymous, jejíž sympatizanti útočí na vybrané internetové stránky různých institucí. Vydaná opatření mají za cíl snížit dopady útoků typu DDoS a jsou k dispozici na stránkách bezpečnostního týmu CSIRT.CZ.
Vilem Sladek | Komentářů: 6
Servery pro sdílení souborů (typu MegaUpload)
 (38%)
 (50%)
 (12%)
Celkem 309 hlasů
 Komentářů: 25, poslední včera 09:54
Rozcestník
Reklama
Autoškola testy online Levný benzín

Jak zprovoznit CGI ve Fedoře s aktivním SE Linuxem

18.3.2007 18:36 | Přečteno: 560× | Linux | Výběrový blog

Jako dlouholetý uživatel Fedory jsem věděl, že již nějakou dobu má aktivní rozšíření SELinux. Při pokusu spustit CGI počítadlo přístupů (wwwcount) se to potvrdilo - jádro hlásilo avc: denied { write } for pid... a skript nefungoval. Popíšeme si, co se vlastně stalo, a jak to napravit...

Lehký začátek - standardní instalace wwwcount

Jen v kostce uvedu instalaci, abyste si mohli v praxi na něčem vyzkoušet, jak se selinux chová.

Stáhněte si wwwcount např. z http://www.muquit.com/muquit/software/Count/Count.html a rozbalte jej

Spusťte make config.h. Uvedu jen odlišnosti od implicitního nastavení

cgi-bin directory
/var/www/cgi-bin
data directory
/var/local/wwwcount/data
Log directory
/var/local/wwwcount/data

Dále pokračujeme pár make příkazy (pokud se ztratíte, tak spusťte make bez parametrů - zobrazí targety). Příkazy doporučuji spouštět jako běžný (ne-root) uživatel

make all_libs
make Count.cgi
make mkstrip
make extdgts
make cfg

V případě make cfg postupujte dle vlastního uvážení (klidně vše jen potvrďte)

Dejte su na root-a a spusťte

make install

Také musíme vytvořit adresáře pro data a logy, tj.

cd /var/local
mkdir wwwcount
mkdir wwwcount/data
mkdir wwwcount/logs
chgrp apache wwwcount/{data,logs}
chmod g+rw wwwcount/{data,logs}

Už jen zbývá vyrobit testovací stránku s počítadlem:

Počítadlo: <img src="/cgi-bin/Count.cgi?df=sample.dat&ft=0">

Pokud máte standardní FC6 s aktivním selinuxem (tj. nebootovali jste se selinux=0), tak by se vám měla zobrazit stránka se "zlomeným" obrázkem, ačkoliv z hlediska klasických Unix práv je vše v pořádku. Příkaz dmesg by měl navíc obsahovat něco jako:

audit(1174234991.319:4): avc:  denied  { write } for  pid=2837 comm="Count.cgi" name="data" dev=sda7 ino=2587335 scontext=user_u:system_r:httpd_sys_script_t:s0 tcontext=user_u:object_r:var_t:s0 tclass=dir
audit(1174234991.319:5): avc:  denied  { write } for  pid=2837 comm="Count.cgi" name="logs" dev=sda7 ino=2587337 scontext=user_u:system_r:httpd_sys_script_t:s0 tcontext=user_u:object_r:var_t:s0 tclass=dir

SE Linux v praxi

Z pohledu administrátora můžeme SE Linux považovat jako dodatečný filtr na volání jádra - to co zobrazil dmesg ve složených závorkách { write } je volání jádra, jehož SE audit neprošel. Další údaje jsou poměrně samovysvětlující až na ty poslední.

scontext
subject context - SE kontext pachatele (kdo se o to pokusil)
tcontext
target context (?) - cílový kontext objektu, se kterým chtěl daný objekt manipulovat.

Subject kontext

Váš kontext si můžete snadno zjistit příkazem id - vypíše jej za standardními POSIXovými informacemi jako např.

uid=501(henryk) gid=501(henryk) groups=501(henryk) context=user_u:system_r:unconfined_t:s0

Fedora používá tzv. targeted policy, tzn., že pouze explicitně vyjmenované programy podléhají restrikcím SE Linuxu. Jednotlivé údaje jsou, uživatel (*_u), role (*_r), a typ (*_t). unconfined znamená, že SELinux není pro náš proces aktivní (tj. nijak nás ne-audituje ani neomezuje)

V dalším textu se soustředíme jen na type (*_t), v SE linuxu je to synonymum pro domain (ale nemusí platit v jiných Unixech).

Obecně si můžete aktuální stav SE linuxu ověřit příkazem sestatus

Kde se vzal httpd_sys_script_t

Nejdříve se ujistěte, že máte nainstalovaný balíček selinux-policy - zde jsou totíž klíčové manuál stránky, konkrétně nás zajímá:

man httpd_selinux

Tam se dozvíme, jaký typ máme nastavit u souborů, či adresářů, aby cgi skripty mohly k nim přistupovat.

SE type zjistíme parametrem '-Z' příkazu ls, např.

$ ls -Zd /var/local/wwwcount/logs
drwxrwxr-x  root apache user_u:object_r:var_t:s0         /var/local/wwwcount/logs

Říká, že náš adresář pro logy je typu var_t, tj. naše cgi by muselo mít potřebná práva tento typ a to pochopitelně nemá. Proto dle manuálové stránky provedeme úpravu

chcon -R -t httpd_sys_script_rw_t /var/local/wwwcount/{data,logs}

A ověříme výsledek:

$ls -Zd /var/local/wwwcount/{data,logs}

drwxrwxr-x  root apache user_u:object_r:httpd_sys_script_rw_t:s0 /var/local/wwwcount/data
drwxrwxr-x  root apache user_u:object_r:httpd_sys_script_rw_t:s0 /var/local/wwwcount/logs

tj. změna proběhla úspěšně

Zkuste opět reload stránky s počítadlem - nyní už by mělo fungovat správně a bez hlášek od jádra

Další informace

Hlavní konfigurace selinuxu je pod /etc/selinux/*. Situaci malinko komplikuje fakt, že existují hned dva způsoby definic.

  1. monolitická - textové soubory pod /etc/selinux / mělo by se editovat příkazem semanage
  2. module - soubory *.pp spravují se příkazem semodule

Jistě vás zajímá, jak takové definice pravidel vypadají. Kromě zmíněného adresáře /etc/selinux/ doporučuji instalaci balíčku selinux-devel, pak si prohlédnout např. /usr/share/selinux/devel/include/services/apache.if

Bohužel jsem nenašel moc dokumentace (a to nehovořím o SE Linuxu v české literatuře), prakticky jen:

Varování: Tento příspěvek je bez záruky! Sám sebe považuji za SEzačátečníka!
       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

ISSN 1214-1267   Powered by Hosting 90 Server hosting
© 1999-2011 Argonit s. r. o. Všechna práva vyhrazena.