Почему `xhost` считается опасным?

#docker #x11 #x11-forwarding

#docker #x11 #x11-пересылка

Вопрос:

Я использовал xhost from x11-xserver-utils , но, посмотрев на страницу пакета, он говорит:

» — xhost, очень опасная программа, которую вы никогда не должны использовать;»

Я не нашел четкого ответа для неинициированного: Почему xhost опасно?

Я использую его, чтобы я мог запускать программы с графическими пользовательскими интерфейсами в контейнерах docker в Linux. Должен ли я беспокоиться? Обычно я делаю это следующим образом:

 xhost  
xhost local:root

docker run -it -v/tmp/.X11-unix -e DISPLAY=unix$DISPLAY image_name
  

Есть ли известная безопасная альтернатива этому?

Ответ №1:

Вся цель xhost заключается в расширении доступа к вашему X-серверу (который более или менее соответствует рабочему столу в современных системах на базе X). При небрежном использовании вы можете предоставить доступ к процессам, которые вы не контролируете — возможно, процессам, принадлежащим злоумышленникам, — для отображения на вашем дисплее и взаимодействия с ним. Это взаимодействие может привести к появлению ложных диалоговых окон аутентификации, например. Существует вероятность использования нажатий клавиш.

Я подозреваю, что xhost было больше риска, когда системы на основе X были действительно многопользовательскими; то есть, когда несколько X терминалов были подключены к одному миникомпьютеру. В наши дни доступ к вашему X-серверу, вероятно, зависит от доступа к вашему компьютеру — X desktop по умолчанию не разрешает удаленный (сетевой) вход в систему.

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

Что касается вашего docker примера — я не считаю это чрезвычайно рискованным. Однако альтернативный подход, который я время от времени использую, заключается в том, чтобы встроить сервер VNC в docker образ и получить к нему доступ с помощью программы просмотра VNC. По сути, вы предоставляете образ с частным рабочим столом X, избегая необходимости делиться. Однако это сложно настроить, и внешний вид не так приятен, как при непосредственном взаимодействии с рабочим столом.