Запуск Firefox в песочнице

Запуск Firefox в песочнице

Запуск Firefox в песочнице — полное руководство для специалиста.

Введение

В августе 2015 года исследователь безопасности Mozilla Cody Crews уведомил Mozilla о том, что вредоносная реклама на российском новостном сайте использует уязвимость в Firefox PDF Viewer. Эксплойт искала конфиденциальные файлы в локальной файловой системе пользователя и, как сообщается, загружал их на сервер злоумышленника. Конфигурация Firejail по умолчанию блокировала доступ к .ssh, .gnupg и .filezilla во всех каталогах, находящихся в /home. А более продвинутые конфигурации песочницы блокируют все остальные угрозы.

 

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

 

 

Запуск в Firefox

Самый простой способ запустить песочницу — это указать как префикс команды “firejail”:

 

 

Если песочница уже интегрирована с вашим менеджером рабочего стола, запустив «sudo firecfg».

 

Примечание: по умолчанию один экземпляр процесса Firefox обрабатывает несколько окон браузера. Если у вас уже запущен Firefox, вам нужно будет использовать параметр командной строки -no-remote, в противном случае вы получите новую вкладку или новое окно, присоединенное к существующему процессу Firefox:

 

 

 

 

Описание песочницы

Контейнер файловой системы создается, когда песочница запускается, и уничтожается, когда песочница закрывается. Он основан на текущей файловой системе, установленной на компьютерах пользователей. Мы настоятельно рекомендуем регулярно обновлять операционную систему. Песочница позволяет Firefox получать доступ только к небольшому набору файлов и каталогов. Вся личная информация пользователя была удалена из домашнего каталога:

Whitelisting-home-files-and-directories-for-Firefox-browser.

 

 

Примечание. Реальными являются только каталоги ~/Downloads и ~/.mozilla, все остальные каталоги создаются только для Firefox. Firejail устанавливает одинаковую структуру домашних каталогов для всех поддерживаемых браузеров и клиентов BitTorrent. Пожалуйста, убедитесь, что вы сохранили все загруженные файлы в каталоге ~/Downloads.

 

 

Вот как выглядит остальная часть файловой системы:

  • /boot – в черном списке
  • /bin – только для чтения
  • /dev – только для чтения; присутствует небольшое подмножество драйверов, все остальное удалено
  • /etc – только для чтения; /etc/passwd и /etc/group были изменены, чтобы ссылаться только на текущего пользователя; вы можете включить подмножество файлов, отредактировав /etc/firejail/firefox-common.profile (раскомментируйте строку private-etc в этом файле)
  • /home – виден только текущий пользователь
  • /lib, /lib32, /lib64 – только для чтения
  • /proc, /sys – перемонтируется для отображения нового пространства имен PID; видны только процессы, запущенные браузером
  • /sbin – в черном списке
  • /selinux – в черном списке
  • /usr – только для чтения; /usr/sbin в черном списке
  • /var – только для чтения; аналогично домашнему каталогу, доступна только основная файловая система
  • /tmp – присутствуют только каталоги X11

 

Файлы паролей, ключи шифрования и средства разработки удаляются из песочницы. Если Firefox пытается получить доступ к помещенному в черный список файлу, сообщения журнала отправляются в системный журнал. Пример:

 

 

Следующие фильтры безопасности включены по умолчанию. Назначение этих фильтров – уменьшить поверхность атаки ядра и защитить контейнер файловой системы:

  • seccomp-bpf — мы используем большой фильтр seccomp. Это одновременно двойной 32-битный и 64-битный фильтр.
  • protocol — этот фильтр на основе seccomp проверяет первый аргумент системного вызова сокета. Это позволяет пользоваться IPv4, IPv6, UNIX и netlink.
  • noroot user namespace — устанавливает пространство имен только с текущим пользователем.
  • capabilities — песочница отключает все возможности Linux, ограничивая возможности пользователя root в песочнице.
  • AppArmor — начиная с Firejail версии 0.9.53, если AppArmor в системе активен и /etc/apparmor.d/firejail-default включен, профиль будет активирован по умолчанию для около 140 приложений, включая браузеры, клиенты BitTorrent и мультимедиа.

 

Конфигурация seccomp обеспечивает соблюдение правил, завершая процессы браузера. Сообщения журнала отправляются в системный журнал. Пример:

 

 

Для большинства пользователей достаточно стандартной настройки firejail firefox. Ниже приведены некоторые особые случаи!

 

 

Настройка браузера с высоким уровнем безопасности

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

Кроме того, вам необходимо позаботиться о настройке DNS – текущие домашние маршрутизаторы смехотворно небезопасны, и самая простая атака — перенастроить DNS и перенаправить трафик на поддельный веб-сайт банка. Используйте параметр –dns Firejail, чтобы указать конфигурацию DNS для вашей песочницы:

 

 

Настройка рабочей директории

В этой настройке мы используем каталог /home/username/work для работы, электронной почты и просмотра веб-страниц. Вот как мы все настроим:

 

 

Что Mozilla Thunderbird, что Firefox будут считать ~/work домашним каталогом пользователя.

 

 

Настройка сети

Предполагая, что eth0 является основным интерфейсом Ethernet, мы создаем новый стек TCP/ IP, подключаем его к проводной сети Ethernet и запускаем браузер:

 

 

Network-namespace-configured-in-a-Firejail-sandbox

 

 

Чтобы назначить IP-адрес, Firejail ARP сканирует сеть и выбирает случайный адрес, который еще не используется. Конечно, мы можем выполнить это в ручном режиме:

 

 

Примечание: Ubuntu запускает локальный DNS-сервер в пространстве имен сети хоста. Сервер не виден внутри песочницы. Используйте параметр –dns для настройки внешнего DNS-сервера:

 

 

 

По умолчанию, если запрашивается сетевое пространство имен, Firejail устанавливает сетевой фильтр, настроенный для обычного просмотра Интернета. Это обычный фильтр iptable. Вот пример установки, где доступ к локальной сети запрещен:

 

 

Кроме того, вы можете даже добавить файл hosts, реализующий блокировку рекламы:

 

 

Песочница X11

Firejail заменяет обычный сервер X11 серверами Xpra или Xephyr (apt-get install xpra xserver-xephyr в Debian/Ubuntu), предотвращая доступ клавиатурных регистраторов X11 и записи экрана основного сервера X11.

Команды следующие:

 

 

Сетевое пространство имен, инициализированное с помощью –net, необходимо для отключения абстрактного сокета X11. Если по каким-либо причинам вы не можете использовать сетевое пространство имен, сокет все равно будет виден внутри песочницы, и хакеры прикрепят сокет-программы и скриншоты только к нему.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики