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í
×
dnes 10:41 | Nová verze
Byla vydána další verze gMusicBrowser, bohatě nastavitelného hudebního přehrávače zaměřeného na správu početné hudební sbírky (10 000 a víc písniček). Nabízí možnost různých rozložení ovládácích prvků, takže může vypadat jako Rhythmbox, Audacious nebo zrovna jako váš oblíbený přehrávač. Verze 1.1.9 přináší pár nových rozložení, widgety Songinfo i PictureBrowser a opravuje různé chyby.
Neel | Komentářů: 1
dnes 10:40 | Pozvánky
Brzy to bude přesně 20 let od doby, kdy se bývalá Česká a Slovenská Federativní Republika připojila k síti Internet; stalo se tak 13. února 1992 v posluchárně 209 Fakulty elektrotechnické ČVUT v Praze. … více »
Vilem Sladek | Komentářů: 0
dnes 07:36 | Nová verze
Bylo oznámeno vydání verze 8 na Gentoo postavené distribuce Sabayon. Naleznete v ní Linux 3.2 (v repozitářích je také experimentální „Fusion“ kernel), podporu btrfs, GNOME 3.2.2 (Cinnamon v repozitářích), KDE 4.7.4, Xfce 4.8, LibreOffice 3.4.4, Java 7, opravy chyb a další novinky. Zdroj: H-Online.
Tomáš Heger (geckon) | Komentářů: 2
dnes 02:36 | Nová verze
Sedmnáctková řada webového prohlížeče Google Chrome byla prohlášena za stabilní. Dle oznámení bylo ve verzi 17.0.963.46 opraveno 20 bezpečnostních chyb. Polovina z nich byla detekována pomocí nástroje AddressSanitizer. Nová řada především rozšiřuje aplikační programové rozhraní prohlížeče (API). Už při zadávání webové adresy dopředně načítá vysoce pravděpodobné stránky. Varuje před nebezpečnými soubory. Nejviditelnější změnou je zmizení "+" z tlačítka pro otevření nové karty.
Ladislav Hagara | Komentářů: 9
včera 13:24 | Komunita
Byla spuštěna možnost registrovat se na letošní ročník konference InstallFest, který proběhne o víkendu 3. a 4. března na Strahově v Praze. Registrace je nepovinná, přijít můžete i bez ní. Podtématem tohoto ročníku je programování a hardware, program naleznete na webu konference.
Tomáš Heger (geckon) | Komentářů: 0
včera 07:19 | Komunita
Carol Smith oznámila letošní osmý ročník Google Summer of Code. Podle plánu se zájemci o mentoring studentů mohou hlásit od 27. února do 9. března, studenti samotní mohou zasílat své přihlášky od 26. března. Pokud vás zajímají statistiky, podívejte se na některé údaje z minulých let.
Tomáš Heger (geckon) | Komentářů: 0
včera 06:37 | Komunita
Po zhruba roce a půl došlo k další změně na pozici Fedora Project Leader. Ze zatím neznámých důvodů na tuto pozici rezignoval Jared Smith, který ji v červnu 2010 převzal po Paulu W. Frieldsovi. Novým vedoucím projektu Fedora se stala Robyn Bergeronová z Red Hatu. Ta dříve zastávala pozici Fedora Program Manager a podílela se také na organizaci FUDConu.
Migilenik | Komentářů: 16
včera 06:23 | Komunita
Komunitní manažer Canonicalu Jono Bacon na svém blogu vyzývá členy komunity kolem Ubuntu, aby organizovali akce v rámci Ubuntu Global Jam, který proběhne od 2. do 4. března. Podrobnější informace o této události naleznete na webu loco.ubuntu.com nebo na Ubuntu wiki.
Tomáš Heger (geckon) | Komentářů: 0
včera 06:18 | Nasazení Linuxu
Společnost SDG Systems oznámila vydání „terénního“ tabletu Yuma. Ten pochází z modelové řady Trimble, jejíž součástí je řada dalších „handheld“ zařízení s Linuxem. Zařízení jsou určena pro terénní sběr dat a vojenské a průmyslové nasazení, kvůli čemuž splňují i americký vojenský standard MIL-STD-810F.
Migilenik | Komentářů: 0
7.2. 22:22 | Zajímavý software
Webový prohlížeč Chrome v budoucnu asi nebude mít podporu pro online ověřování, zda nebyl HTTPS certifikát revokován (CRL). V odkazovaném článku je uvedeno několik důvodů pro tento krok, zejména pak to, že toto ověřování nemusí být spolehlivé a zpomaluje načítání stránek. Namísto toho je navrhována distribuce revokovaných klíčů přes aktualizační mechanismus prohlížeče.
Luboš Doležel (Doli) | Komentářů: 5
Servery pro sdílení souborů (typu MegaUpload)
 (40%)
 (50%)
 (11%)
Celkem 532 hlasů
 Komentářů: 29, poslední 7.2. 08:38
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.