Sandbox, jail, chroot - Ki kicsoda?

Címkék

Sandbox, jail, chroot - gyakran hallani ezeket a fogalmakat, használjuk is őket sűrűn, de vajon tuduk-e pontosan, hogy melyik mit is jelent tulajdonképpen?Rosszindulatú támadás áldozataként sokkal nagyobb rizikónak vagyunk kitéve egy esetleges "betörés" esetén, ha a rendszerfolyamataink egy helyen futnak. Csökkenthetjük a rizikót úgy, hogy a kritikus folyamatokat elkülönítjük.

A jail, szemben a chroot-tal nem csak elkülöníti a folyamatokat azzal, hogy egy szeparált "rendszert" biztosít, hanem a jail saját, dedikált IP címmel is rendelkezik.

A FreeBSD alatti jail koncepcióról, beállításról Mike DeGraw-Bertsch cikkében olvashatsz bővebben itt.

Hozzászólások

kicsit elavult a doksi. abszolute nem szukseges make word egy jailhez, procfs meg foleg nem:) Ez egy az egyben azt a menetet koveti amit a man jail mond...

En ugy lattam hogy a szerzo nem is allitotta hogy feltetel lenne a

procfs meglete; gondolom just-in-case mountolta be a jail-be, hatha

a programnak szuksege lenne ra.

Bennem is felmerult nehany kerdes:

1. Miert olyan jo hogy a bezart programnak sajat IP cime van?

2. A jail(2)-bol nekem nem vilagos hogy mikhez nem lehet belulrol

hozzaferni. Az rendben van hogy a FS namespace nagy reszehez nem,

de mi a helyzet a toobi IPC-vel, pl. signalok.

3. Szinten nem derul ki a man-bol hogy uid!=0-kent vegrehajthato-e

a syscall.

Egyebkent az ilyen megoldasok (a chroot()-tal egyutt) az en szememben

csupan quick hack-ek a rendesen atgondolt es kidolgozott AC-vel

szemben.

Koszi.

[nem flame]

A kovetkezokert nem vagyok oda a jail-ert:

-- a chroot() onmagaban buta, csak FS namespace-re tudsz vele megadni

megkoteseket

-- egy PITA karbantartani (upgradekor ropul az egesz)

-- a jail() szabalyrendszere nekem teljesen ad hoc-nak tunik. Miert

eppen azt a maradek 35 privilegizalt syscallt lehet benne

vegrehajtani? Miert nem 0-t vagy mind a 350-et?

Szerintem lenyegesen szebb megoldas azt mondani hogy subject1

(egy jail-be zart process) vegrehajthatja object1-t (valamely

syscall), mint bedrotozni hogy syscall-ok mely reszhalmaza

marad hasznalhato. Ez az AC.

Lehet hogy az esetek egy reszeben mukodik igy is a gyakorlatban, de

nagyon nem flezibilis. Ezert mondtam ra hogy quick hack. YMMV.

[/nem flame]