abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:33 | Komunita

    O víkendu probíhá EmacsConf 2021, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat lze na stránkách konference nebo také na YouTube.

    Ladislav Hagara | Komentářů: 6
    26.11. 23:55 | Nová verze

    Heimer je v Qt napsaná desktopová aplikace pro tvorbu myšlenkových map, diagramů a poznámek. Vydána byla verze 3.0.0. Videoukázka verze 1.9.0 na YouTube.

    Ladislav Hagara | Komentářů: 7
    26.11. 17:11 | Zajímavý projekt

    Na stránkách LINux on MOBile je každou středu publikován týdenní přehled dění kolem Linuxu na mobilních zařízeních. V aktuálním přehledu je zmíněn například nový build 2021/11/21 Arch Linuxu ARM pro PinePhone a PineTab nebo NemoMobile 0.7.

    Ladislav Hagara | Komentářů: 0
    25.11. 21:11 | Komunita

    Mozilla ukončí podporu aplikace Firefox Lockwise pro systémy Android a iOS s účinností od 13. prosince 2021. Aplikaci Firefox Lockwise již nebude možné nainstalovat ani přeinstalovat z obchodu App Store ani Google Play.

    Ladislav Hagara | Komentářů: 8
    25.11. 20:22 | Nová verze

    Byla vydána verze 8.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení. Vydána byla také příručka pro přechod z předchozích verzí.

    Ladislav Hagara | Komentářů: 0
    25.11. 08:00 | Nová verze

    Endless OS byl vydán ve verzi 4.0.0. Přehled novinek v poznámkách k vydání. Nejnovější Endless OS vychází z Debianu Bullseye. Zdůrazněna je dlouhodobá podpora.

    Ladislav Hagara | Komentářů: 0
    24.11. 22:11 | Zajímavý projekt

    Byly vyhlášeny vítězné aplikace letošní soutěže Společně otevíráme data Nadace OSF pro neziskové aplikace postavené nad otevřenými daty v Česku. V kategorii Městská data zvítězila aplikace PragueDash. Kategorii Klima a životní prostředí ovládla aplikace Envidata. Kategorii Vzdělávání vyhrál interaktivní článek Od moru ke covidu. Nejlepší aplikací v kategorii Zdraví se stala aplikace COVID očkování.

    Ladislav Hagara | Komentářů: 12
    24.11. 22:00 | Nová verze

    Český LibreOffice tým vydal překlad příručky LibreOffice Draw 7.1. Tato kniha se zabývá hlavními funkcemi programu Draw, vektorové grafické komponenty systému LibreOffice. Pomocí Draw lze vytvářet širokou škálu grafických obrázků. Příručka je ke stažení na stránce dokumentace. Tým nyní pracuje na překladu příručky Base.

    Zdeněk Crhonek | Komentářů: 0
    24.11. 16:22 | Nová verze

    Byla vydána nová stabilní verze 3.15.0, tj. první z nové řady 3.15, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu.

    Ladislav Hagara | Komentářů: 0
    24.11. 14:11 | IT novinky

    Vývojových desek Arduino UNO bylo prodáno již více než 10 miliónů. Při této příležitosti bylo představeno Arduino UNO Mini Limited Edition o rozměrech 34,2 × 26,7 × 8 mm. Předobjednat jej lze za 40 eur.

    Ladislav Hagara | Komentářů: 8
    Který formát počítače (form factor) preferujete?
     (15%)
     (33%)
     (7%)
     (39%)
     (6%)
    Celkem 403 hlasů
     Komentářů: 46, poslední 24.11. 15:31
    Rozcestník

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

    18.3.2007 18:36 | Přečteno: 969× | 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   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.