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 18:55 | Nová verze

Po roce vývoje od vydání verze 4.0 a více než 7 400 změnách byla vydána nová stabilní verze 5.0 softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem, Wine (Wikipedie). Z novinek lze zdůraznit moduly ve formátu PE, podporu více monitorů, reimplementaci XAudio2 anebo podporu Vulkanu 1.1. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 1
včera 15:11 | Zajímavý článek

Michal Altair Valášek publikoval na svém blogu návod MQTT server do kapsy: Mosquitto na Orange Pi Zero na postavení vlastního MQTT (MQ Telemetry Transport) serveru s brokerem Mosquitto postaveného na ARM klonu Debianu Armbian na jednodeskovém počítači za deset dolarů Orange Pi Zero a zabezpečeného pomocí TLS certifikátů od Let's Encrypt a uživatelských jmen a hesel.

Ladislav Hagara | Komentářů: 2
20.1. 17:11 | Nová verze

Vyšlo Pharo 8.0. Přináší lepší nástroje pro refactoring či spoluráci s Gitem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.

Pavel Křivánek | Komentářů: 2
20.1. 13:11 | Pozvánky

Ak pracujete na zaujímavom projekte, zaujíma Vás špecifická téma alebo sa vyznáte o novinkách a trendoch vo svete Pythonu, zdieľajte to s ostatnými. Možnosť prihlásiť sa so svojou témou na PyConSK 2020 je otvorená do 31. 1. 2020.

… více »
RicCo386 | Komentářů: 0
20.1. 10:55 | Komunita

Mozilla.cz informuje (en), že Firefox Preview (kódově Fenix) se blíží svému prvnímu ostřejšímu vydání. Tento zcela nový prohlížeč pro Android nahradí zítra 21. ledna noční verze stávajícího Firefoxu pro Android (kódově Fennec).

Ladislav Hagara | Komentářů: 18
20.1. 06:00 | Zajímavý software

Byl vydán MindForger v nové major verzi 1.50.0. Přehled novinek na GitHubu. MindForger je poznámkový blok, markdown editor a nástroj pro management znalostí.

Ladislav Hagara | Komentářů: 2
19.1. 20:22 | Nová verze

Byla vydána nová stabilní verze 18 open source cloudového systému Nextcloud (Wikipedie). Nová verze tohoto forku ownCloudu přichází s novým názvem Nextcloud Hub a řadou předinstalovaných aplikací (Files, Flow, ONLYOFFICE, Photos, Calendar, Mail, Talk). Podrobnosti i s náhledy a videi v příspěvku na blogu.

Ladislav Hagara | Komentářů: 14
17.1. 19:00 | Komunita

Fedora Magazine informuje, že Fedora CoreOS je již k běžnému používání. Jedná se o nástupce Fedora Atomic Hostu a CoreOS Container Linuxu. Projekt Fedora CoreOS byl představen v červnu 2018. Preview verze byla vydána v červenci 2019.

Ladislav Hagara | Komentářů: 0
17.1. 14:11 | Komunita

Na platformě HackerOne byl spuštěn Kubernetes - Bug Bounty Program aneb program odměn za nalezení bezpečnostních chyb v orchestrátoru kontejnerů Kubernetes. Za nalezení kritické bezpečnostní chyby lze získat odměnu 10 000 dolarů.

Ladislav Hagara | Komentářů: 0
17.1. 13:11 | Pozvánky

Bilanční pražský sraz spolku OpenAlt se koná příští středu 22. 1. 2020 od 18:00 na pražském Andělu v ulici Lidická 337/30Andělském pivovaru. Nezapomeňte s sebou vzít hračky, které vám nadělil Ježíšek, a pochlubit se novinkami, které chystáte v novém roce 2020.

xkucf03 | Komentářů: 2
Zdají se vám sny s IT tématikou?
 (9%)
 (1%)
 (13%)
 (18%)
 (53%)
 (7%)
Celkem 243 hlasů
 Komentářů: 10, poslední 18.1. 16:18
Rozcestník

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

18.3.2007 18:36 | Přečteno: 941× | 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.