Как запустить Firefox в тюрьму без серьезной потери производительности?

1552
Vi.

Моя конфигурация Firefox сложна:

  1. Firefox работает с отдельной ограниченной учетной записью пользователя, которая не может подключиться к основному X-серверу.
  2. Firefox использует Xvfb (виртуальный «безголовый» X-сервер) в качестве X-сервера.
  3. x11vnc работает на этом Xvfb.
  4. На главном X-сервере работает vncviewer, который подключается к этому x11vnc

На мощном ноутбуке (Acer Extensa 5220) он работает более или менее хорошо, но на нетбуке «Acer Aspire One» он медленный (на фоне, когда Firefox загружен множеством расширений).

Как оптимизировать эту схему? Требования:

  1. Браузер не может подключиться к основному X-серверу.
  2. Браузер должен быть в chroot-тюрьме (без скриптов suid, только для чтения)
  3. Браузер должен иметь множество функций (например, в AutoPager, NoScript, WoT, AdBlockPlus)
1
ИМХО, разделение X11 это просто паранойя. grawity 13 лет назад 0
@grawity, ожидается, что браузер будет подвержен различным уязвимостям. Если браузер запускает вредоносный собственный код, он может подключаться к X-серверу и вводить туда команды, так что получите расширенный доступ. Я не хочу, чтобы основной браузер был доверенным компонентом. Vi. 13 лет назад 0
@Vi. Вы можете найти http://qubes-os.org/ интересным, это ОС, основанная на xen + небольших гостевых виртуальных Linux, и гости не могут получить прямой доступ к основному X-серверу. По сути, он реализует все, что вы хотите (включая отдельный виртуальный жесткий диск вместо chroot), но все предварительно настроено для вас :). Georges Dupéron 10 лет назад 1
@ GeorgesDupéron, как добиться достойной производительности графического интерфейса без предоставления прямого доступа к X-серверу? Основной квест - это то, что поставить между X и браузером. Vi. 10 лет назад 0
Ну, я мало знаю о qubes-os, но кажется, что они используют собственный протокол для эффективной связи между Xorg в виртуальной машине и Xorg на хосте. Вам обязательно следует прочитать эту страницу: http://wiki.qubes-os.org/trac/wiki/GUIdocs, даже если вы не согласны с некоторыми вариантами их реализации, это может дать вам некоторые идеи. Georges Dupéron 10 лет назад 0

1 ответ на вопрос

1
grawity

Попробуйте использовать Xephyr в качестве сервера X11.

Другой возможностью является запуск Firefox через SSH-соединение localhostс ограниченным перенаправлением X11. У sshклиента OpenSSH есть опции ForwardX11иForwardX11Trusted ; отключить последний в ~/.ssh/config.

Подойдет ли SSH к этому, чтобы Firefox не запускал такие вещи, как x11vnc и контролировал все приложения, подключенные к одному и тому же X-серверу? Vi. 13 лет назад 0
@Vi: [Ненадежные клиенты не будут иметь доступа] (http://docs.google.com/viewer?q=cache:v-D_iKG4I3wJ:www.xfree86.org/current/security.pdf) к окнам, созданным любыми другими программа. grawity 13 лет назад 0

Похожие вопросы