Sziasztok,
Van valakinek tapasztalata a Firejail megoldással?
https://l3net.wordpress.com/projects/firejail/
Sandbox megoldást keresek tetszőleges programhoz, amely egyszerűen konfigurálható és a hálózati hozzáférés is finoman szabályozható (milyen hálózati erőforrásokhoz férhet hozzá és milyen protokollon, milyen porton illetve IPC limit is lehetséges legyen, tehát teljes kontroll).
- SELinux sandbox-a túl egyszerű és keveset tud
- SELinux-ot körülményes konfigurálni
- AppArmorhoz nem találok sandbox-ot illetve nem tud port és IPC limitet tudomásom szerint
- mbox csak fájl szinten limitál
Egyéb ötlet? Programot és script-eket akarok sandbox-ba zárni virtualizáció nélkül. LXC és Docker overkillnek tűnik beállítás szempontjából.
Kösz.
- 1715 megtekintés
Hozzászólások
Ez kurvajónak tűnik így első ránézésre. :D
Ha lesz időm, valószínűleg kipróbálom, egy sima chrootnál csak többet tudhat.
(rejtett subscribe)
- A hozzászóláshoz be kell jelentkezni
subscribe
(Bár kicsit félek az ilyen one man show jellegű prokect-ektől.)
- A hozzászóláshoz be kell jelentkezni
Ha csak egy sima scriptet/programot kell jail-be zárni, arra a chroot (+grsec-es kernel) is tökéletes.
A probléma ezekkel viszont az, hogy a kernel közös marad, így azon keresztül "könnyedén" lehet ki-be jutni.
LXC, Docker is inkább kénylemi, mint biztonsági megoldás. Ha valós és biztonságos szeparációra van szükésg, akkor csak a teljes virtualizáció jöhet szóba - szerintem.
--
zrubi.hu
- A hozzászóláshoz be kell jelentkezni
chroot-tal tudtommal nem tuom korlátozni a hálózati és process hozzáférést, ez a gondom vele. Teljes VM meg túl nagy.
- A hozzászóláshoz be kell jelentkezni
Azt valóban nem.
A "túl nagy" meg relatív, és emelett nagyon sok előnye van egy jail-es megoldással szemben.
Egyébként melyik erőforrás, ami miatt túl nagy??
- RAM
a minimum, hogy a VM saját kernel egyátalán bebootoljon, ez egy gyári kernel esetén lehet nagy, de egy custom kernellel már más a helyzet. De ha egy alkalmazást is akarsz benne futtatni, akkor már általában nagyságrendileg több memória kell - és ezt jailek esetében sem úszod meg.
- CPU, network
ebben gyakorlatilag nincs overhead.
- diszk IO
igen, ez lehet probléma, de egy SSD segít rajta.
- diszk terület
template alapú megoldásokkal remekül optimalizálható.
Qubes (Xen) pl így csinálják:
https://www.qubes-os.org/en/doc/template-implementation/
--
zrubi.hu
- A hozzászóláshoz be kell jelentkezni
és emelett nagyon sok előnye van egy jail-es megoldással szemben.
De van egy nagy hátránya is: nem tudod teljesen kiüríteni, mivel úgy nem lehet menedzselni a VM-et. Egy VM-be kénytelen vagy rakni sh-t, ls-t, ps-t, és társaikat, meg valamit, amin keresztül bejelentkezel. Kénytelen vagy /proc-ot mountolni, mert anélkül nem megy bent a ps - kintről meg nem látsz be. Kézzel nehéz bebootolni képes VM-et összelapátolni, ergó disztribúciót fogsz használni -> még egy komplett package management is lesz ott bent.
Egy jailben ezek nem feltétlenül szükségesek, oda bele tudsz "születni" kívülről is, csak úgy, bizonyos dolgokat meg simán lehet kívülről is csinálni. Az én szememben ez egy óriási biztonsági hátránya a VM-nek: nem tud letisztult, kicsi, egyszerű lenni.
- A hozzászóláshoz be kell jelentkezni