Даже в операционной системе Linux мы можем доверять не всем программам. Иногда нужно понаблюдать за тем, как они будут вести себя в системе. Также в некоторых случаях нужно больше безопасности, например, когда вы хотите открыть подозрительный сайт, зайти на сайт, где не нужно разглашать ваши конфиденциальные данные или воспользоваться своим банковским счетом в интернете.
В каждом из перечисленных случаев будет полезной песочница linux. Конечно, идеальное решение для изоляции программ в Linux - это виртуальные машины или контейнеры, но не всегда есть время и знания их настраивать, а простая песочница предоставляет легкое и быстрое решение. Идея заключается в том, чтобы ограничить приложению доступ к вашей системе, личным данным, файлам и другой информации. Программа будет работать только в изолированном окружении. В операционной системе Windows есть утилита Sandboxie, которая реализует такую функциональность. Но в Linux есть альтернатива Sandboxie - FireJail.
Принцип работы FireJail в использовании отдельных пространств имен для процессов, фильтрации системных вызовов ядра и использование отдельных ресурсов ядра, таких как таблицы и сетевой стек. В этой статье мы рассмотрим как выполняется установка и настройка песочницы firejail в Linux. А также поговорим о том, как использовать программу.
Содержание статьи
- Установка FireJail
- Использование песочницы Linux
- Настройка прав доступа
- Использование графического интерфейса
- Выводы
Установка FireJail
Утилита есть в официальных репозиториях большинства дистрибутивов, поэтому для установки вам будет достаточно выполнить несколько команд. Нам надо установить два пакета firejail - непосредственно песочница с интерфейсом командной строки и firetools - графический интерфейс для неё. Если вы используете Debian или Ubuntu просто выполните:
sudo apt install firejail firetools
После завершения установки утилита будет готова к работе. В дистрибутивах Fedora, CentOS или других из семейства Red Hat команда установки будет выглядеть вот так:
sudo yum install firejail firetools
После этого утилита firetools для управления песочницей Linux будет доступна в главном меню системы.
Использование песочницы Linux
Чтобы запустить любую программу в песочнице достаточно просто передать имя исполняемого файла утилите firejail. Например, для запуска Firefox выполните:
firejail firefox
Но перед тем как запускать программу таким способом нужно закрыть все открытые сейчас вкладки, иначе программа не запустится, а только откроется новая вкладка. Для веб-браузера Chromium команда похожая:
firejail crhomium-browser
Запущенная программа может получить доступ только к некоторым необходимым директориям с настройкам и папке загрузок. Доступа к файловой системе или других папках вашего домашнего каталога нет. Вы можете попытаться открыть домашнюю папку в браузере:
Как видите, здесь нет многих файлов и папок, которые на самом деле есть в домашней папке. Если вы попытаетесь получить доступ к запрещенному файлу, то получите сообщение, что его нет:
Настройка прав доступа
Иногда нужно дать приложениям минимум возможностей в системе, например, полностью запретить доступ к домашней папке. Для этого можно использовать опцию --private:
firejail chromium-browser --private
Эта команда полностью ограничит приложение, программа запустится с чистым профилем и не сможет писать файлы в домашнюю папку из-за приватного режима sandbox linux.
Использование графического интерфейса
Если вам больше нравиться использовать графический интерфейс вместо командной строки, вы можете использовать графический фортэнд для FireJail - Firetools. Вы можете запустить утилиту через главное меню или терминал:
Дальше достаточно выполнить двойной клик по любому уже настроенному приложению в окне песочницы и оно будет запущено. По умолчанию доступны Firefox и VLC. Если вы хотите добавить программу вызовите контекстное меню и нажмите Edit:
В открывшемся окне нужно указать имя, описание и команду запуска программы. Команда может быть такой же какую вы выполняете из консоли. Например, для Firefox в ограниченном режиме:
Затем просто кликните по только что добавленной иконке. После этого программа откроется в sandbox Linux.
Выводы
В этой небольшой статье мы рассмотрели как настраивается песочница программ linux FireJail, а также как ее использовать для изоляции программ. Несмотря на ее простоту, я рекомендовал бы вам использовать более сложные и надежные решения если безопасность критически важна, например, контейнеры linux или виртуальные машины. А вы используете песочницу в своей системе? Или все-таки контейнеры? Что по-вашему лучше? Напишите в комментариях!
Небольшое видео с демонстрацией работы утилиты на английском:
https://youtu.be/SLJpD5MdKjQ
Благодарю, очень ценный инструмент; взял на вооружение.
С интересом читаю все ваши сообщения; наверное, это лучшее просветительство по Linux мною найденного в интернете.
Благодарю за ваш этот труд.
Господи! Двадцать первый век, а графический интерфейс похож библейские скрижали...Печалька...