Давно у меня была идея ограничить в правах Firefox, как самое опасное приложение на десктопе, а новости о появления кросс платформенного эксплоита Jinx(http://www.opennet.ru/opennews/art.shtml?num=17217) только усилили мои желания. Я уже использую apparmor для ограничения skype и скриптов на серверах, сегодня решил увеличить безопасность рабочей станции, уменьшив права доступа для Firefox.
Прогнал firefox через профилер apparmor(genprof), немного подредактировал и получил следующие правила:
Сохраняем эти правила в /etc/apparmor.d/usr.lib.firefox-3.0.1.firefox.sh, перезагружаем apparmor и firefox имеет доступ только к файлам, нужным ему для работы. Сохранять файлы можно только в каталог /tmp. Кто привык скаченные файлы складывать в другие места — может добавить строчку с нужной директорией в файл с правилами.
Прогнал firefox через профилер apparmor(genprof), немного подредактировал и получил следующие правила:
# Last Modified: Tue Aug 12 12:48:50 2008 #include <tunables/global> /usr/lib/firefox-3.0.1/firefox.sh { #include <abstractions/base> #include <abstractions/fonts> #include <abstractions/gnome> #include <abstractions/nameservice> capability sys_ptrace, /bin/dash ixr, /bin/grep ixr, /bin/ps ixr, /dev/shm/ r, /dev/shm/* rw, /etc/firefox-3.0/** r, /etc/fstab r, /etc/gnome/defaults.list r, /etc/gre.d/ r, /etc/gre.d/* r, /etc/mime.types r, /etc/mtab r, /etc/pulse/client.conf r, @{HOME}/.ICEauthority r, @{HOME}/.Xauthority r, @{HOME}/.adobe/**/ r, @{HOME}/.config/* r, @{HOME}/.config/gtk-2.0/* rw, @{HOME}/.fonts.conf r, @{HOME}/.icons/ r, @{HOME}/.local/share/applications/ r, @{HOME}/.local/share/applications/* r, @{HOME}/.local/share/icons/ r, @{HOME}/.local/share/mime/mime.cache r, @{HOME}/.macromedia/** rw, @{HOME}/.mozilla/** krw, @{HOME}/.pulse-cookie krw, @{PROC}/*/cmdline r, @{PROC}/*/maps r, @{PROC}/*/mounts r, @{PROC}/*/stat r, @{PROC}/*/status r, @{PROC}/cpuinfo r, @{PROC}/meminfo r, @{PROC}/stat r, @{PROC}/sys/kernel/pid_max r, @{PROC}/tty/drivers r, @{PROC}/uptime r, @{PROC}/version r, /usr/lib/firefox-3.0.1/firefox ixr, /usr/lib/firefox-3.0.1/firefox.sh mr, /usr/local/share/applications/ r, /usr/local/share/applications/* r, /usr/local/share/mime/mime.cache r, /usr/share/applications/ r, /usr/share/applications/* r, /usr/share/gdm/applications/ r, /usr/share/gdm/applications/* r, /usr/share/locale-langpack/** r, /usr/share/mime/** r, /usr/share/myspell/** r, /usr/share/ubufox/** r, /usr/share/xine/desktop/* r, /var/run/dbus/system_bus_socket w, }
Сохраняем эти правила в /etc/apparmor.d/usr.lib.firefox-3.0.1.firefox.sh, перезагружаем apparmor и firefox имеет доступ только к файлам, нужным ему для работы. Сохранять файлы можно только в каталог /tmp. Кто привык скаченные файлы складывать в другие места — может добавить строчку с нужной директорией в файл с правилами.