user gravatar

Как запустить браузер Firefox в песочнице с помощью Firejail

Как увеличить безопасность Linux с помощью Firejail

Веб-браузер является одним из самых используемых программ. С помощью него мы посещаем сайты, а порою и открываем огромное количество вредоносных скриптов и сайтов даже не подозревая об этом.

Например, недавно было обнаружено, что один из российских онлайн рекламных сервисов использовал эксплоит в Firefox чтобы искать и загружать им на сервера сенситивные файлы. Если пользуетесь Linux и думаете что вам боятся нечего, то спешу вас огорчить, этот эксплоит работал и в Linux. При этом, если вы пользуетесь Linux-ом, то они крали такие директории и файлы как: /etc/passwd, .purple, .pgsql_history, .ssh, .filezilla и т.д. К счастью, начиная с Firefox 42 проделать это вроде-бы уже невозможно.

Как можно предотвратить подобную проблему вообще? Легко - просто запускайте браузеры и другие приложения, которые подключаются к интернету через песочницу. Одна из самых легких утилит для запуска программ в песочнице - это Firejail.

Установка Firejail в Debian/Ubuntu/Linux Mint

Первым делом скачать Deb-пакет с официального сайта:

Firejail 64-bit | Firejail 32-bit

После завершения скачивания, вы можете установить Firejail, путем запуска команды:

Для 64-разрядной ОС:

sudo dpkg -i ~/Downloads/firejail_0.9.32_1_amd64.deb

Для 32-разрядной ОС:

sudo dpkg -i ~/Downloads/firejail_0.9.32_1_i386.deb

Как пользоваться Firejail на примере Firefox

Пользоваться Firejail очень легко - всё, что вам нужно сделать для запуска программы в песочнице - это запустить его командой:

firejail --seccomp firefox

В Firejail еще имеется специальный приватный режим. В этом режиме все файлы созданные приложением удаляются сразу-же после его закрытия. Войти в приватный режим очень просто:

firejail --seccomp --private firefox

Как закрыть приложению доступ ко-всей файловой системе

По-умолчанию Firejail блокирует доступ браузерам только к основным директориям как: ~/.ssh, ~/.gnupg и т.д. Проблема в том, что иногда этого недостаточно. Зачем давать браузеру полный доступ к домашней директории?

И тут на помощь приходит специальная директива конфигурации: private. С помощью него можно заточить определенное приложение в определенную директорию. Из-за этого ваше приложение сможет получить доступ только к тем ресурсам, которые находятся в той директории.

Для того, чтобы проделать этот "трюк", вам нужно сперва скопировать дефолтный Firejail-профайл:

mkdir ~/.config/firejail -p
cp /etc/firejail/firefox.profile ~/.config/firejail

Затем добавить в этот файл директиву profile:

echo "private ${HOME}/firefox" >> ~/.config/firejail

С помощью этой конфигурации, вы заточите Firefox в папке ~/firefox. Кстати, это папку вам нужно создать вручную:

mkdir ~/firefox

Как запускать Firefox в песочнице по-умолчанию

Набирать каждый раз в терминале firejail --seccomp firefox может быть очень утомительно. Для того, чтобы не делать это, вам нужно запустить следующие команды:

sudo su
echo "firejail --seccomp /usr/bin/firefox $@" > /usr/local/bin/firefox
chmod +x /usr/local/bin/firefox
exit

Имейте в виду, что с помощью Firejail вы можете запускать в песочнице не только Firefox, но и другие приложения.