Давно у меня была идея ограничить в правах 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. Кто привык скаченные файлы складывать в другие места — может добавить строчку с нужной директорией в файл с правилами.
