X Window авторизация
В X Window системе программы запускаются как X-клиенты и поэтому подключаются к X -дисплею-серверу , возможно, через компьютерную сеть . Поскольку сеть может быть доступна другим пользователям , необходим метод запрета доступа к программам, запускаемым пользователями, отличными от того, кто вошёл в систему.
Существует пять стандартных механизмов контроля доступа, которые контролируют, может ли клиентское приложение подключаться к X-серверу отображения. Их можно сгруппировать в три категории:
- доступ на основе хоста
- доступ на основе файлов cookie
- доступ на основе пользователя
Кроме того, как и любое другое сетевое соединение, туннелирование можно использовать .
Доступ на основе хоста
[ редактировать ]Метод доступа на основе хоста заключается в указании набора хостов, которым разрешено подключение к X-серверу отображения. Эта система имеет меньшую безопасность, поскольку позволяет каждому пользователю, имеющему доступ к такому хосту, подключиться к дисплею. xhost
Программа и три запроса основного протокола X Window System используются для активации этого механизма, а также для отображения и изменения списка авторизованных хостов. Неправильное использование xhost
может непреднамеренно предоставить каждому хосту в Интернете полный доступ к X-дисплею-серверу.
Доступ на основе файлов cookie
[ редактировать ]Методы авторизации на основе файлов cookie основаны на выборе волшебного файла cookie (произвольного фрагмента данных) и его передаче на сервер отображения X при его запуске; каждый клиент, который может доказать, что знает об этом файле cookie, затем авторизуется для подключения к серверу.
Эти файлы cookie создаются отдельной программой и сохраняются в файле. .Xauthority
по умолчанию в домашнем каталоге пользователя. В результате каждая программа, запускаемая клиентом на локальном компьютере, может получить доступ к этому файлу и, следовательно, к файлу cookie, необходимому для авторизации на сервере. Если пользователь хочет запустить программу с другого компьютера в сети, файл cookie необходимо скопировать на этот другой компьютер. Способ копирования файла cookie зависит от системы: например, на Unix-подобных платформах scp для копирования файла cookie можно использовать .
Две системы, использующие этот метод: MIT-MAGIC-COOKIE-1
и XDM-AUTHORIZATION-1
. В первом методе клиент просто отправляет файл cookie при запросе аутентификации. Во втором методе секретный ключ также хранится в .Xauthority
файл. Клиент создает строку путем объединения текущего времени, идентификатора, зависящего от транспорта, и файла cookie, шифрует полученную строку и отправляет ее на сервер.
Приложение xauth — это утилита для доступа к .Xauthority
файл. Переменная среды XAUTHORITY
может быть определено для переопределения имени и местоположения этого файла cookie.
Протокол межклиентского обмена (ICE), реализованный библиотекой межклиентского обмена для прямой связи между клиентами X11, использует тот же MIT-MAGIC-COOKIE-1
метод аутентификации, но имеет собственную утилиту Iceauth для доступа к собственным .ICEauthority
файл, местоположение которого можно переопределить с помощью переменной среды ICEAUTHORITY
. ICE используется, например, DCOP и протоколом управления сеансами X (XSMP).
Пользовательский доступ
[ редактировать ]Методы доступа на основе пользователей работают путем авторизации определенных пользователей для подключения к серверу. Когда клиент устанавливает соединение с сервером, он должен доказать, что им управляет авторизованный пользователь.
Два метода, основанные на аутентификации пользователей с использованием сетевых систем управления идентификацией: SUN-DES-1
и MIT-KERBEROS-5
. Первая система основана на защищенном механизме системы удаленного вызова процедур ONC, разработанном в SunOS . Второй механизм основан на том, что клиент и сервер доверяют серверу Kerberos .
Третий метод ограничен локальными соединениями и использует системные вызовы, чтобы узнать у ядра, какой пользователь находится на другом конце локального сокета. xhost
программу можно использовать для добавления или удаления localuser
и localgroup
записи с помощью этого метода. [ 1 ]
Туннелирование
[ редактировать ]Утилита SSH (при вызове с опцией -X
или вариант ForwardX11
) туннелирует трафик X11 от удаленно вызываемых клиентов на локальный сервер. Это достигается путем установки на удаленном сайте DISPLAY
переменная среды, указывающая на локальный TCP-сокет, открытый там sshd, который затем туннелирует связь X11 обратно в ssh. Затем Sshd также вызывает xauth, чтобы добавить на удаленном сайте строку MIT-MAGIC-COOKIE-1 в .Xauthority
там, который затем разрешает клиентам X11 доступ к локальному X-серверу пользователя ssh.
Соединения X11 между клиентом и сервером по сети также можно защитить с помощью других протоколов защищенного канала, таких как Kerberos / GSSAPI или TLS , хотя такие варианты сейчас используются гораздо реже, чем SSH.
Ссылки
[ редактировать ]- ^ «Интерпретируемые сервером типы аутентификации «localuser» и «localgroup» » . Фонд X.Org . Проверено 16 января 2015 г.
Внешние ссылки
[ редактировать ]- Страница руководства по безопасности X (Xsecurity 7)