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

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

Рубрики:

Security, Утилиты Linux

Метки:

, ,

Запуск 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, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Security, Утилиты Linux

Метки:

, ,

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

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

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

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


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