A hivatalosan szállított Firefox 3.6 tökéletesen működik minden szempontból - sandbox-ban is. A flash-el van annyi, hogy egy frissítés óta fagy a 3.6-os vele, de csak sandbox-ban.
Gondoltam megnézem a legújabb 64 bites upstream Firefox verziót, a 10.0.2-t. Flottul megy minden láthatólag, hibába eddig nem futottam. Kicsomagoltam ~/bin-be, majd így indítottam sandbox-hoz:
cd ~/bin/firefox
sandbox -i . -t sandbox_web_t -X -- ./firefox
Flash is megy szépen, semmi lassúlás, hang is rendben van. Gondolom Adobe-éknál sem tesztelik végtelen kombinációban ezer böngésző verzióval. Egyébként a sandbox ablak átméretezhető - de mintha rémlene, hogy csak egy frissítés óta, mert valami release notesban azt olvastam, hogy egyelőre azt nem tudná az X-es sandbox. De már tudja. Az is kiderült, hogy a sandbox_net_t és sandbox_web_t policy típusok közt az a különbség, hogy utóbbi csak az "apache portokhoz" enged kapcsolódni (egy RedHat-es PDF prezentáció szerint).
Azt előzőkben sem említettem, hogy tud olyat Sandbox, hogy megmondhatjuk, hogy a bezárt alkalmazás maximum mennyi CPU-t és memóriát ehet. Így nem tudja le-DoS-olni a rendszert az idegen app. Nálam így néz ki a /etc/sysconfig/sandbox fájl (a CPU is 80%-ra van állítva gyárilag):
Space separate list of homedirs
HOMEDIRS="/home"
# Control group configuration
NAME=sandbox
CPUAFFINITY=ALL
MEMUSAGE=80%
CPUUSAGE=95%
Javítás a sandbox scripthez: az audió-hoz web_t helyett sandbox_net_t policy kell, és a flash-t a mozilla/plugins-be másolva működik. A fentinél youtube-bal teszteltem csak, az meg html5-volt, ezt nem vettem észre. Tehát a működő megoldás:
#!/bin/sh
mkdir -p ~/.mozilla/plugins
ln -sf /usr/lib64/flash-plugin/libflashplayer.so ~/.mozilla/plugins/
cd ~/bin/firefox
sandbox -i ~/.mozilla/plugins -i . -t sandbox_net_t -w 1250x730 -X -- ./firefox
Szerk.: még egy javítás a fentiekben: nem a ~/.mozilla mappát adom át a sandbox-olt firefox-nak, hanem a ~/.mozilla/plugins mappát, amely azt eredményezi, hogy nem kerül át az összes mentett adatom a profilommal együtt a sandbox-ba, csupán a plugins mappa - ez a flash miatt kell - és így üres profilal indul, tehát a támadó oldalak nem férnek hozzá a cookie és egyéb adatokhoz az eredeti profilból.
- log69 blogja
- A hozzászóláshoz be kell jelentkezni
- 155627 megtekintés
Hozzászólások
Vajon ezt a sandbox-megoldást portolják más disztróra is? Ubuntu 12.04-ben el tudnám viselni. :)
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
SELinux-hoz kötött. Illetve ez egy python script, amely SELinux-os tool-okat hívogat. És mivel SELinux van Ubuntura és bekapcsolható, ezért talán nem elveszett a dolog a jövőben.
- A hozzászóláshoz be kell jelentkezni
Még valami: rémlik olvastam valahol, hogy van AppArmor profile Firefox-hoz openSUSE-hez. Mivel Ubuntu is AppArmor-t szállít gyári MAC megoldásként, ezért gondolom a szabály kis alakítással átültethető, és akkor speciel lehet bezárt böngésződ relatíve egyszerűen - illetve nem tudom hogy Ubuntu-n létezik-e az AppArmor creator progi, amivel pl. SUSE alatt lehet adott alkalmazáshoz szabályt gyártani. Ez is egy lehetőség lehet.
- A hozzászóláshoz be kell jelentkezni