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í
×

dnes 16:22 | Zajímavý článek

Nadace Raspberry Pi vydala devětašedesáté číslo (pdf) anglicky psaného časopisu MagPi věnovanému Raspberry Pi a projektům postaveným na tomto jednodeskovém počítači a šesté číslo (pdf) časopisu pro kutily HackSpace věnovanému navíc 3D tisku, pájení, řezání nebo i elektronice a IoT.

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

Byl zveřejněn seznam 44 osob přijatých do programu Outreachy od 14. května do 14. srpna 2018. Cílem programu Outreachy je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny.

Ladislav Hagara | Komentářů: 10
dnes 11:44 | Nová verze

Glen MacArthur vydal verzi 2018.4.2 na Debianu založené linuxové distribuce optimalizované pro tvůrce audio a video obsahu AV Linux (Wikipedie). Podrobnosti v oznámení o vydání a v stotřicetistránkovém manuálu (pdf).

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

Byla vydána nová stabilní verze 1.15 (1.15.1147.36) webového prohlížeče Vivaldi (Wikipedie). Z novinek lze zdůraznit možnost nastavení vlastního pozadí okna, přístup k záložkám z hlavního menu, lepší ovládatelnost v režimu celé obrazovky nebo vyřešení problémů se zvukem v HTML5. Nejnovější Vivaldi je postaveno na Chromiu 65.0.3325.183.

Ladislav Hagara | Komentářů: 0
včera 17:22 | Nová verze

Node.js Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 10.0.0 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). Verze 10 se v říjnu stane novou aktivní LTS verzí. Podpora je plánována do dubna 2021.

Ladislav Hagara | Komentářů: 0
včera 15:33 | Nová verze

Neal Cardwell ze společnosti Google oznámil zveřejnění verze 2.0 nástroje pro testování síťového stacku packetdrill. Jde o souhrnné vydání změn z interního vývoje od roku 2013.

Michal Kubeček | Komentářů: 0
včera 13:22 | Zajímavý software

Microsoft na svém blogu oznámil, že správce knihoven pro C++ Vcpkg (VC++ Packaging Tool) lze nově používat také na Linuxu a macOS. Aktuálně je pro Linux k dispozici více než 350 knihoven [reddit].

Ladislav Hagara | Komentářů: 1
včera 12:44 | Komunita

Byly zveřejněny exploity na Nintendo Switch a platformu Tegra X1: Fusée Gelée a ShofEL2. Jejich zneužití nelze zabránit softwarovou aktualizací. Na druhou stranu exploity umožní na Nintendo Switch snadno a rychle nainstalovat Linux, viz. ukázka na YouTube. Jenom je potřeba sáhnout na hardware.

Ladislav Hagara | Komentářů: 0
včera 00:55 | Nová verze

Byla vydána verze 2.12.0 QEMU (Wikipedie). Přispělo 204 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn. Řešeny jsou také bezpečnostní chyby Meltdown a Spectre.

Ladislav Hagara | Komentářů: 7
včera 00:33 | Komunita

Google zveřejnil seznam 1 264 studentů přijatých do letošního Google Summer of Code. Přehled projektů, studentů, 212 organizací a mentorů je k dispozici na stránkách GSoC.

Ladislav Hagara | Komentářů: 0
Používáte na serverech port knocking?
 (3%)
 (7%)
 (47%)
 (26%)
 (18%)
Celkem 387 hlasů
 Komentářů: 29, poslední 5.4. 12:25
    Rozcestník

    Chroot prostředí - I

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

    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: 38 | 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.