abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 3
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 20
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    21.4. 00:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    20.4. 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (17%)
    Celkem 670 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Chroot prostředí - I

    16. 12. 2003 | Martin Pavlíček | Bezpečnost | 36596×

    V následujícím článku bych vás chtěl seznámit se zajímavou možností, kterou pro zabezpečení systému nabízí v Linuxu tzv. chroot environment, neboli chroot prostředí. Nejdříve si řekneme, co to vlastně je, a ukážeme si základní práci.

    Úvod

    Příště vám představím program Jail (Jail Chroot Project), který velmi výrazně ulehčuje vytváření chroot prostředí a práci s ním.

    Nejdříve si musíme vysvětlit co vlastně to chroot prostředí je. Něco nám může napovědět již to, že chroot je zkratka z "change root", česky bychom asi řekli "změněný" (nebo v našem případě možná "posunutý") kořen, resp. kořenový adresář.

    Pomocí této funkce (a stejnojmenného příkazu) můžeme vytvořit uzavřené prostředí, anglicky jail (vězení, klec), ve kterém poběží potenciálně nebezpečné programy, či ve kterém budou uzavření uživatelé, a to všichni nebo třeba jen někteří vybraní.

    K čemu je to tedy dobré? Pokud nějaký program, např. Apache či třeba BIND uzavřeme do "chroot prostředí", a nějaký dobrák se nám přes něj (díru v něm) dostane do počítače, pak nebude schopen ohrozit celý systém, protože uvidí pouze ty soubory (knihovny), které potřebuje onen chrootovaný program.

    Podobně to funguje u uživatelů, zase nevidí celý disk, ale jen to, co jim připravíme a tím omezujeme riziko, že buď z neznalosti či spíše se špatným úmyslem budou chtít nějakým způsobem ohrozit náš systém (ano jsou tu přístupová práva a podobné věci, ale někdy není důvod, aby mohli jen vidět co na počítači je, přesto že to nebudou moci legální cestou použít).

    Kdy se vyplatí toto prostředí vytvářet? Teoreticky vždycky, ale prakticky nejspíše záleží na tom, co na serveru (počítači) provozujete (chcete provozovat). Pokud to bude něco nebezpečného, např. anonymní FTP server, (ale třeba i onen zmíněný BIND či Apache), pak se určitě námaha s vytvořením chroot prostředí pro každou tuto aplikaci vyplatí. Stejně tak pokud na váš server bude přistupovat hodně uživatelů - navíc třeba takových, kteří budou používat jen několik málo programů (ne-li dokonce jen jeden), či pokud máte podezření, že vaši uživatelé (někteří) jsou koumáci a zkoušejí nějaké nepravosti.

    Na tomto místě je taky třeba si přiznat krutou pravdu a to, že pokud bude hacker šikovný, pak se dokáže z tohoto "vězení" většinou dostat. Zas tak jednoduché to není, ale jde to (jak, to tady radši nebudu rozebírat :-)), a proto samozřejmě nesmíte přestat dodržovat veškeré pravidla a zásady bezpečnosti!

    Dříve než přejdeme k vyzkoušení, jak si takové jednoduché chroot prostředí vytvořit, zkusme si nejdříve s pomocí obrázku demonstrovat jak může vše vypadat:

    chroot prostredi

    Cílem je, aby se nově vytvořený adresář stal kořenem (/) pro zvolenou aplikaci či uživatele.

    Obecně lze vytvoření chroot prostředí popsat takto (vždy samozřejmě záleží na konktrétní aplikaci):

    • na libovolném místě vytvoříme adresář, který si nějak pojmenujeme (v našem případě se jmenuje chroot a zvolili jsme přímo "hlavní kořen" disku),
    • zkopírujeme všechny potřebné soubory, které daný program potřebuje ke svému provozu,
    • zkopírujeme potřebné systémové a sdílené knihovny,
    • upravíme startovací či konfigurační soubory tak, aby program startoval (a fungoval) v novém prostředí.

    Vytvoření chroot prostředí

    Dosti již teorie, pojďme si zkusit vytvořit jednoduché chroot prostředí:

    1. Nejdříve se musíte přihlásit jako root (uživatel nemá právo vytvářet chroot prostředí a i kdybyměl, tak mě nenapadá k čemu by mu to bylo :-) ).

    2. Hlavní je vědět, co do chroot prostředí chceme dát. My pro začátek zkusíme pouze bash a pár základních prográmků jako např. ls, mkdir, rmdir atd.

    3. Vytvoříme na libovolném místě adresář, který již brzy změníme v kořen našeho nového systému, pokud vyjdeme z obrázku, pak napíšeme:

      mkdir /chroot
    4. Pak zkopírujeme všechny potřebné soubory. Tady pozor, nestačí jen patřičná binárka, ale taky jsou potřeba všechny např. knihovny, které daný program používá. Také je velmi důležité (ba dokonce nutné) zachovat adresářovou strukturu, takže např. bash máme v adresáři /bin, a proto provedeme:

      mkdir /chroot/bin
      cp /bin/bash /chroot/bin/bash

      Jak jsem již zmínil, tak toto samozřejmě nestačí, a protože nepředpokládám, že víte, jaké knihovny který program potřebuje, můžeme s úspěchem použít příkaz ldd, který nám to prozradí, takže pokud zadáte příkaz:

      ldd /bin/bash

      získáte výpis všech knihoven, které bash potřebuje ke svému provozu:

      libtermcap.so.2 => /lib/libtermcap.so.2 (0x4002a000)
      libdl.so.2 => /lib/libdl.so.2 (0x4002f000)
      libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
      /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

      a tyto následně zkopírujeme do již předem vytvořeného adresáře /chroot/lib.

    5. V této chvíli bychom již měli býti schopni se přepnout do našeho nového chroot prostředí. Abychom si v něm mohli zkusit i trošku pracovat (a tím taky ověřit, že vše funguje jak má), zkopírujeme si do něj ještě pár základních programů, např.:

      cp /bin/ls /chroot/bin
      cp /bin/mkdir /chroot/bin
      cp /bin/rmdir /chroot/bin
      cp /bin/cat /chroot/bin
    6. A následuje finále: k "přepnutí" do připraveného chrootu se používá příkaz chroot jehož obecný formát je tento:

      chroot directory command

      Kde directory je nový kořenový adresář a pokud zadáte i command, bude tento spuštěn pod "novým kořenem". Pokud příkaz nezadáte, bude spuštěn shell, který bude mít nastaven kořenový adresář podle parametru directory.

      Nám stačí zadat:

      chroot /chroot

      pokud je vše v pořádku, měli bychom vidět něco obdobného (prostě výzvu shellu :-) ):

      bash-2.05a#

    A můžeme začít pracovat. Až vás to přestane bavit, můžete se příkazem exit vrátit zpět do "normálního systému".

    Uživatelé ve vězení

    Teď, když máme vytvořeno jednoduché pracovní prostředí, tak si ukážeme, jak do něj přidat (uzavřít) uživatele.

    Nejdříve musíme uživatele založit (či použít již existujícího). Založení můžeme provést ručně (editací souboru /etc/passwd), ale protože jsme líní, tak použijeme příkaz adduser (či useradd) pro přidání uživatele a příkaz passwd pro nastavení hesla. Vzápětí si záznam pouze trošku upravíme, tedy:

    adduser franta
    passwd franta

    V oblíbeném editoru si otevřeme soubor /etc/passwd, najdeme si řádek s novým uživatelem, který bude vypadat třeba takto:

    franta:x:503:503::/home/franta:/bin/bash

    Mírně ho upravíme, změníme domovský adresář a defaultní shell. Obojí musíme nastavit do našeho chroot prostředí. Výsledek bude v našem případě tento:

    franta:x:505:505::/chroot:/chroot/bin/bash

    Tím je hotovo. Zkuste se přihlásit jako uživatel franta a uvidíte, že vaše (jeho?) pracovní prostředí bude značně omezeno :-).

    DODATEK:

    Výše uvedený postup vypadá velmi zajímavě a jednoduše, ale má jednu chybku. Nefunguje, resp. nefunguje tak, jak bylo plánováno. Uživatel se přihlásí, ale do "normálního systému", tzn. ne do chrootovaného. Tímto se omlouvám a předkládám nápad, jak vytvořit funkční řešení.

    Pokud bychom se přes to všechno nechtěli vzdát předchozího a samozřejmě nechtěli, aby uživatel pracoval v neomezeném systému, mohli bychom použít tzv. restricted shell (bash), což není úplně ideální, a proto zájemce pouze odkáži na manuálové stránky BASHe a to konkrétně na sekci RESTRICTED SHELL.

    Druhou možností, při které se již provede chrootnutí, a která je velice hezky popsaná v odkazech uvedeném dokumentu chroot-login HOWTO, je použití programu sudo. Pokud není přítomen ve vašem sytému (distribuci), je nutné jej nejdříve stáhnout a naistalovat (nebo lze použít program Jail, který bude představen v příště).

    Program sudo slouží k dočasnému přiřazení práv roota běžnému uživateli (z čehož plyne, že jej můžete použít i na cokoliv jiného, nejen na chrootování). Princip je takový, že při přihlášení jsou uživateli dána rootovská práva, příkazem /usr/sbin/chroot dojde k přepnutí do předem vytvořeného chroot prostředí a nakonec příkazem su vrátíme uživateli jeho původní identitu.

    Nakonec nezapomeňte, že aby uživatel mohl program sudo spouštět, je nutné oblíbeným editorem zeditovat soubor /etc/sudoers (nebo příkazem visudo se otevře tentýž soubor v editoru vi).

    Závěr

    Tolik tedy pro dnešek a na úvod. Příště si ukážeme užitečný prográmek Jail, který velmi ulehčuje práci s chroot prostředím a to hlavně složitější akce jako je přidávání aplikací do tohoto prostředí. Jakékoli připomínky či dotazy jsou vítány, a proto je bez obav pište do diskuze.

           

    Hodnocení: 37 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    16.12.2003 08:27 IW
    Rozbalit Rozbalit vše Opravdu?
    Nechci se s autorem hadat (s chrootem jsem delal jen prakrat), ale tim ze prida resp. prepise jeden radek v /etc/passwd se nic nezmeni, tedy krome domovskeho adresare. Uzivatel bude mit pristup na cely puvodni system! Mozna kdyby si autor precetl HOWTOs, v odkazech, konkretne chroot login HT, pochopil by. Nevim, obcas ty clanky fsckt stoji za piiiiiip
    16.12.2003 09:00 Jiří Benc
    Rozbalit Rozbalit vše Nevím nevím
    Také se nechci hádat, ale nejsou náhodou `ls', `mkdir' a spol. interní příkazy bashe? Na co potřebuju /chroot/bin/ls? Řádek
    franta:x:505:505::/chroot:/chroot/bin/bash
    
    v /etc/passwd zajistí IMHO pouze nastavení proměnné prostředí HOME na /chroot a spuštění /chroot/bin/bash jakožto uživatelova shellu. Nějak mi uniká, kde se provádí to chrootování.
    16.12.2003 09:16 nemo
    Rozbalit Rozbalit vše Nevím nevím
    hmmm, ls ani mkdir neni prikaz bashe
    16.12.2003 09:29 Jiří Benc
    Rozbalit Rozbalit vše Nevím nevím
    Omlouvám se, máte pravdu. Odvolávám první část svého předchozího tvrzení.
    Petr Krčmář avatar 16.12.2003 09:18 Petr Krčmář | skóre: 60 | Liberec
    Rozbalit Rozbalit vše Obrázek
    Taky se přidám: Proč je ten obrázek ve formátu JPEG? Proboha! Vždyť je to dvoubarevné schéma! K tomu je PNG. Kdy už si lidi odvyknou používat JPEG a priori na všechno? JPEG se hodí JENOM na fotky! Ale jinak myslím zajímavý článek pro začátečníky, děkuji. Dvojka snad doplní nedostatky a chyby. Petr
    Amatéři postavili Noemovu archu, profesionálové Titanic ...
    16.12.2003 09:26 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Obrázek
    Naprosty souhlas. JPG se na carovou grafiku vubec nehodi, ma horsi kompresni pomer a navic cary nejsou ostre, jako v originale.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    18.5.2004 20:28 VB
    Rozbalit Rozbalit vše Re: Obrázek
    To vsak nema s chroot nic spolecnyho :-)
    16.12.2003 11:33 Beda
    Rozbalit Rozbalit vše Obrázek
    jpg se nehodi ani na fotky. jpg se hodi akorat na thumbnaily pro pornostranky. mas videt, jak blbe vypada fotka z digitalniho fotaku v jpegu v nejvyssi kvalite. modry/zluty nebo jinak barevny zamlzeny hrany. des.
    Pavel Beníšek avatar 22.12.2003 16:04 Pavel Beníšek | skóre: 27
    Rozbalit Rozbalit vše Obrázek
    .. uz jsem nekolikrat videl bmp ... ;)
    checking for chicken... must have egg first
    16.12.2003 09:22 Jan Kurik | blog: Hemis
    Rozbalit Rozbalit vše chroot uzivatele
    Autor mne teda dostal. Vazne jsem zapochyboval o svych vedomostech a misto, kde se pridava radek
    franta:x:505:505::/chroot:/chroot/bin/bash
    jsem si precetl nekolikrat a hledal jsem co mi uniklo. Nakonec mne ubezpecil kolega, ze tentokrat neni vyjimecne chyba na me strane :))

    16.12.2003 09:53 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše jak je to spravne?
    mohli byste tady nekdo prosim napsat, jak se to spravne dela? opravime potom clanek, at nemate ostatni ctenare. diky.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    16.12.2003 10:03 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše jak je to spravne?
    pouzival jsem patch na ssh kde jsem v /etc/passwd zadal cestu k home treba jako /home/.chroot/home/franta a pri nalogovani do ssh me to provedlo chroot /home/.chroot/ Uzavetel kteri meli home normalni /home/user se prihalosvali normalne.
    Tak jak je to prezoentovano v tomto clanku by asi musel byt patchnuty shell toho uzvatele nebo tak neco aby provedl chroot.
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    16.12.2003 10:25 David Jež | skóre: 42 | blog: -djz | Brno
    Rozbalit Rozbalit vše jak je to spravne?
    Zdravim,
    autor mel mozna na mysli restriktivni bash, coz se realizuje budto pomoci bash -r nebo rbash.
    -djz
    "Yield to temptation; it may not pass your way again." -- R. A. Heinlein
    16.12.2003 10:32 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše jak je to spravne?
    bash -r je kapku moc restriktivní, tam neuděláš prakticky nic, to je mnohem jednodušší ty účty rovnou zrušit...
    16.12.2003 11:14 David Jež | skóre: 42 | blog: -djz | Brno
    Rozbalit Rozbalit vše jak je to spravne?
    Mno, restriktivni je tak akorat. Budto uzivateli veris a pak ho jailovat nebudes, nebo predpokladas, ze user je parchant kteremu je zapotrebi co nejvic zneprijemnit zivot a nechces aby se z klece dostal a mohl neco nahodou zdrbat a na to je rbash vynikajici :-)
    -djz
    "Yield to temptation; it may not pass your way again." -- R. A. Heinlein
    17.12.2003 09:54 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše jak je to spravne?
    Sorry, ale shell, kde není povoleno použít cd nebo přesměrování, je zcela k ničemu a rovná se zrušení účtu, jen je to o něco škodolibější.
    16.12.2003 10:14 astar
    Rozbalit Rozbalit vše jak je to spravne?
    je to pekne popsane v tom HOWTO na ktere je odkaz za clankem.
    16.12.2003 10:48 Jan Kurik | blog: Hemis
    Rozbalit Rozbalit vše RE: jak je to spravne?
    Asi nejjednoduzsi cestou jak to udelat (netvrdim, ze uplne optimalni) je zmenit zminovany radek z "/etc/passwd" na
    franta:x:505:505::/chroot:/usr/local/bin/chrootsh
    a do adresare "/usr/local/bin" pridat script "chrootsh" s nasledujicim obsahem:
    #!/bin/bash
    exec /usr/sbin/chroot /chroot /bin/bash
    
    Ten script "chrootsh" musi mit samozrejme nastavem "x" bit.
    16.12.2003 10:58 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše RE: jak je to spravne?
    To je dost blbá metoda. Nebude fungovat proto, že chroot může udělat jen root, přičemž uživatelův login shell se spouští s jeho uid. Potřebuješ po cestě něco setuid.
    16.12.2003 11:17 Jan Kurik | blog: Hemis
    Rozbalit Rozbalit vše RE: jak je to spravne?
    Pravda. Jsem si to nevyzkousel. :(
    16.12.2003 11:01 Martin Rada
    Rozbalit Rozbalit vše chroot uzivatele
    No ton by ten radek v /etc/passwd mel vypadat napr takto: franta:x:505:505::/chroot:/usr/local/bin/jail. To, co je uvedeno v clanku je radek z /chroot/etc/passwd. Muj postup: adduser franta.... passwd franta addjaiuser /chroot /home/franta /bin/bash franta v /etc/passwd zmenit radek na vyse zminovany tvar. Podrobnejsi info zde http://www.gsyc.inf.uc3m.es/~assman/jail/
    16.12.2003 11:16 Martin Rada
    Rozbalit Rozbalit vše chroot uzivatele
    Omlouvam se za prispevek mimo misu... asi se mel naucit poradne cist.
    16.12.2003 10:08 Zdenek Kaminski
    Rozbalit Rozbalit vše editace /etc/passwd
    Hmm, /etc/passwd se needituje oblibenym editorem, nybrz utilitkou vipw. Obdobne pro /etc/group... K tomu, proc je clanek blabol, se jiz vyjadrili ostatni. --sutr
    16.12.2003 10:30 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše editace /etc/passwd
    Pokud nemáš na počítači pět hádajících se rootů, tak klidně oblíbeným editorem. Jinak článek není celý úplný blábol, blábol je ta část o homech, což ovšem znehodnocuje i jeho zbytek, protože si každý o autorovi něco pomyslí...
    17.12.2003 10:05 Zdenek Kaminski
    Rozbalit Rozbalit vše Re: editace /etc/passwd
    No a uz Ti nekdy vypadl proud behem ukladani /etc/passwd? Me na jednom nejemnovanem fs ano a od Te doby se po vipw pidil, az jsem se dopidil. To neni o hadani se mezi rooty, to je o tom, co nejvice snizit riziko poskozeni pri jakekoliv udalosti... --sutr
    18.12.2003 13:39 PaJaSoft
    Rozbalit Rozbalit vše Re: editace /etc/passwd
    Prominte Zdenku, ale na Vas problem snad existuji systemova reseni a ne to, ze na editaci kazdeho nesmyslu (pardon duleziteho souboru) budu mit extra nastroj/aplikaci, naucim se ji pouzivat apod... Kdyz uz nezacneme u UPS ci RAIDu, co treba aspon zurnalovaci FS?
    18.12.2003 16:40 Aldagautr
    Rozbalit Rozbalit vše Re: editace /etc/passwd
    vipw a vigr jsou naprosto standardni nastroje a jak nazev napovida, je to v podstate editor vi + par uzitecnych sfci navic
    16.12.2003 12:37 Radek Podgorny
    Rozbalit Rozbalit vše To se stava...
    ...mas tam sice chybu, ale to se stava. Nenech se odradit tema komentarema... Proste to jen v pristim dile (kterej musi prijit brzy) uved na pravou miru a je to...
    16.12.2003 17:55 Martin Pavlíček | skóre: 19
    Rozbalit Rozbalit vše To se stava...

    Diky nekterym za podporu, ale to nic nemeni na tom, ze je to obrovska chyba a ostuda. Timto se moc omlouvam (kdyz se na to ted divam, tak mi neni jasne jak jsem mohl vubec takovou kravinu napsat).

    Ten obrazek taky, tam to neni az tak strasne, ale prece.

    Ostatni veci tu uz byly vyjasneny (jako cim editovat /etc/passwd, ci jestli jsou prikazy ls, mkdir atd. internimi prikazy bashe).

    16.12.2003 21:18 STEFi
    Rozbalit Rozbalit vše To se stava...
    Hele, s tim vobrazkem bych se nezabyval, vadi to jen par uchylakum :) Mel bys ale udelat nejake opravujici resume, abych teda nakonec vedel kudy vede cesta...
    16.12.2003 16:30 Jarda
    Rozbalit Rozbalit vše Ještě něco
    Kromě již několikrát zmíněného nesmyslu se "změnou domovského adresáře" by mě zajímalo, proč se v příkladu mění i UID a GID uživatel franty.
    17.12.2003 15:44 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše chroot pro uid != 0

    Myslim, ze kdyby mel normalni user pravo volat chroot, tak by mu to na par veci bylo (viz "Vytvoření chroot prostředí", bod 1). Nejsem ted u sveho pocitace, takze nemuzu vyzkouset, ale melo by za urcitych podminek fungovat nasledujici:

    1) Pokud mam pravo zapisovat na oddil, kde je nejaky setuid program, vytvorim si adresar a do v nem vytvorim link na ten program.

    2) Pokud program pouziva nejake dynamicky linkovane knihovny, tak mu do sveho adresare podstrcim modifikovane.

    3) chroot do meho adresaere, kde spustim ten setuid program a mam to :)

    4) Jsem sice v chrootu, ale jsem root, takze by (ale to prave nemam overene) treba melo jit vytvorit si blokove zarizeni odpovidajici harddisku atd...

    Nevim, jestli to by to cele fungovalo, ale to ze normalni user nemuze volat chroot ma svuj vyznam :)

    23.12.2003 01:55 Petr Šimeček
    Rozbalit Rozbalit vše chroot pro uid != 0
    Dobrý den, váš předpoklad je správný. Pokud se Vám podaří vytvořit pod chrootem blokové zařízení, můžete si do chrootu připojit jakýkoliv fs. Stejně tak není daleko od "mount -t proc proc /proc" a máte přístup k procesům - a tedy de-facto nejste v chrootu. Vhodná volba pro opevnění chtootu je zajistit, aby procesy uvnitř chrootu: - nemohly připojovat a odpojovat filesystem - nemohly provést opětovný chroot (viz. níže) - nemohly volat pivot_root() (mění root filesystému) - měly správně nastaven pracovní adresář (eliminuje možnou variantu úniku -> root může opustit "chroot vezeni" tím, že udělá "mkdir blabla; chroot blabla; cd ..") - nemohly volat chmod nebo fchmod na soubory a nastavit jim suid nebo sgid - nemohly provést fchdir na file deskriptor chrootového procesu, ukazující mimo chroot() - nemohly dělat mknod - nemohly připojit segment sdílené paměti vytvořený mimo chroot - nemohly připojit abstraktní Unix socket mimo chroot - nemohly kill, send signal s fcntl, ptrace, capget, setpgid, getpgid, getsig nebo jinak vidět procesy mimo chroot - nemohly zvedat prioritu procesů v chrootu nebo manipulovat s prioritou procesů vně chrootu čehož lze elegantně docílit například pomocí grsecurity patche do kernelu. Například prostá absence binárky chroot, mknod a mount v chrootovém adresáři jistě není správnou cestou :) Petr Šimeček petr@multimedia.cz
    20.12.2003 20:03 famke
    Rozbalit Rozbalit vše informace chce být svobodná
    milerád bych si přečetl, jak z chrootu uniknout. proč autor nehodlá rozebírat způsoby jak se z něj dostat? security by obscurity? pokud autor ví, jakým způsobem chroot obejít, proč se o tyto poznatky nehce podělit? je potřeba znát i slabiny systému, aby jej správce mohl chránit.
    6.1.2004 18:57 Tomas Matejicek
    Rozbalit Rozbalit vše informace chce být svobodná
    Autor to nevi. Autor je AMATER! Vzdyt napsat takovou hovadinu, ani si ji NEVYZKOUSET a publikovat ji na webu je zverstvo maximalni. To na abclinuxu nikdo ty clanky necenzuruje? Vzdyt to snad vi kazdej, ze zmenou /etc/passwd vubec nemuzu kyzeneho vysledku docilit... Proboha...
    18.3.2006 03:14 Tomas
    Rozbalit Rozbalit vše Re: Chroot prostředí - I
    Nedalo by se psat ze je clanek blabol na zacatku, a ne na konci? Jestli tento serial bude mit vice dilu, usetrilo by to vsem trochu casu. Ale jinak diky za podobne (fungujici) tutorialy, jsem v linuxu totalni noob, abclinuxu.cz je mi docela prinosem.. I diskuze pod clankem byvaji nejmene polovina jeho informacni hodnoty.
    10.10.2006 20:56 tomas b
    Rozbalit Rozbalit vše Re: Chroot prostředí - I
    Popravde receno, zda se mi prapodivne, ze pokud je autor natolik schopen, ze dokaze spustit pocitac, popr odeslat mail, ze muze napsat takovou hovadinu. Mozna je autorovi neco kolem deseti let a vubec nevedel o cem psal, ale proc clanek pak neprosel nejakou cenzurou ... Nejakou uroven by to chtelo
    30.7.2007 01:20 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
    Rozbalit Rozbalit vše Re: Chroot prostředí - I
    Pokud bychom se přes to všechno nechtěli vzdát předchozího a samozřejmě nechtěli, aby uživatel pracoval v neomezeném systému, mohli bychom použít tzv. restricted shell (bash), což není úplně ideální, a proto zájemce pouze odkáži na manuálové stránky BASHe a to konkrétně na sekci RESTRICTED SHELL.

    S tim rbashem to neni nejlepsi napad, kdyz dam do /etc/passwd
    pokus:x:1003:1003:pokus,,,:/home/pokus/:/bin/rbash
    tak uzivateli znemoznim provest cd .. ale porad bude moct pomoci mc koukat kam bude chtit.
    26.9.2008 22:33 aaa
    Rozbalit Rozbalit vše Re: Chroot prostředí - I
    pokud tam to mc bude :)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.