Опубликован: 20.02.2007 | Уровень: специалист | Доступ: платный
Лекция 3:

Система X Window

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >

Другие важные компоненты

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

Xdm

Xdm - менеджер, который может управлять несколькими X Window-дисплеями на локальной машине или на удаленном сервере. Unix-системы, которые автоматически загружают X Window при запуске, обычно запускают xdm для поддержки X-серверов и сессий. Он запрашивает имя пользователя и пароль, и затем поддерживает рабочую сессию. Xdm поддерживает большинство из упоминавшихся функций аутентификации, генерируя записи в файле Xauthority незаметно для вас при входе в систему.

Xdm использует протокол XDMCP (X Display Manager Control Protocol), который выполняется на UDP-порте с номером 177. Он ожидает запросов от X-серверов, которые запрашивают дисплей менеджер. Это позволяет удаленным X-серверам (особенно X-терминалам, на которых не установлено ничего, кроме X Window) послать запрос хосту, на котором выполняется xdm-менеджер, и который может управлять их X-сессией. Это означает, что машина, на которой выполняется xdm, сообщает другим X серверам - "Вы можете запустить сессию у меня и использовать все мое программное обеспечение и X-клиентов, и отображать у себя результат их работы". Это подобно использованию telnet для входа на машину, за исключением того, что используется графический режим.

Выполнение XDMCP в сети весьма небезопасно и не рекомендуется, если только вы не работаете в проверенной локальной сети. Если вам нравится возможность входа с использованием X Window на ваш локальный сервер, то это тот случай, когда можно использовать xdm. Но следует убедиться, что вы не прослушиваете XDMCP-запросы и не предоставляете свой xdm-сервис X-серверам, для которых вы этого не предусматривали. Обратитесь к man-страницам за дополнительными деталями настройки системы безопасности xdm.

Совет. До тех пор, пока XDMCP использует UDP, XDMCP-трафик невозможно направить через SSH.
Xinit и Startx

Xinit инициализирует систему X Window и запускает инициализацию клиентов. Поведение этой программы во многом определяется ее настройками. Обычно она запускается в процессе выполнения скрипта startx. По умолчанию xinit запускает оконную систему (с основными функциями, о которых упоминалось в начале этой лекции) и программы, перечисленные в файле ~/.xinitrc пользователя. В случае его отсутствия просто запускается программа xterm.

Xinit можно сконфигурировать так, что будет по умолчанию запускаться ваш любимый оконный менеджер (KDE, Gnome и т.д.). Xinit также позволяет сконфигурировать параметры экрана, цветовой гаммы экрана и тому подобное.

Startx - промежуточное средство, которое позволяет скрыть некоторые сложные детали при запуске и во время выключения X Window. Он обеспечивает поиск различных конфигурационных файлов для клиента и сервера ( xinitrc и xserverrc ) по всем возможным местам их расположения и генерирует командную строку для xinit.

Принимая во внимание, что xdm - это автоматический способ запуска и управления X Window-сессией в процессе загрузки системы, xinit и startx можно считать способом запуска X Window вручную при необходимости.

Xserver

Xserver - программа, которую xdm запускает, когда кто либо регистрируется в системе, или xinit, когда кто-либо выполняет команду startx. Xserver получает настроечные параметры от программы, которая его запускает. X-сервер обеспечивает сетевые соединения, аутентификацию, управление экраном, управление шрифтами, XDMCP-запросы, и множество других полезных вещей. За подробностями обращайтесь к man-страницам для Xserver.

Теперь вы знаете...

В этой лекции говорилось об основах архитектуры X Window и были изложены соображения о потенциальной опасности запуска X-приложений. За широкие возможности удаленного запуска графических приложений приходится платить.

Есть несколько X window-утилит, которые могут эксплуатировать эти опасные особенности. Мы упоминали программу xkey, которая позволяет отслеживать последовательности введенных с клавиатуры символов на X-сервере, к которому вы имеете доступ (или на законном основании или вследствие недостатков в системе безопасности). Другая программа, xwatchwin, может позволить просматривать реальное содержание окна X сервера, предполагая, что у вас есть доступ. Вы можете использовать программу xscan для поиска в сети X-серверов, которые могут быть уязвимы для этих атак. Все эти утилиты можно скачать с сервера http://www.packetstormsecurity.nl/.

Мы отпугнули вас от использования X Window? Не волнуйтесь. Чтобы обеспечить возможную безопасность при запуске X Window вам всего лишь необходимо помнить следующее.

  • Избегайте, если это возможно, управления доступом с помощью xhost. Это наиболее безопасный подход. Используйте вместо этого xauth.
  • Запускайте все ваши удаленные X Window-приложения через SSH-туннель.
  • Отключите XDMCP, если только вы не работаете в частной сети.
< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Сергей Хлюкин
Сергей Хлюкин
Россия, Москва, Московский Государственный Открытый Университет, 2007
Игорь Касаткин
Игорь Касаткин
Россия, Москва