stringtranslate.com

Autorización de X Window

En el sistema X Window , los programas se ejecutan como clientes X y, como tales, se conectan al servidor de visualización X , posiblemente a través de una red informática . Dado que la red puede ser accesible para otros usuarios , es necesario un método para prohibir el acceso a programas ejecutados por usuarios distintos del que está conectado.

Existen cinco mecanismos de control de acceso estándar que controlan si una aplicación cliente puede conectarse a un servidor de visualización X. Se pueden agrupar en tres categorías:

  1. acceso basado en host
  2. acceso basado en cookies
  3. acceso basado en usuario

Además, como cualquier otra conexión de red, se puede utilizar la tunelización .

Acceso basado en host

El método de acceso basado en host consiste en especificar un conjunto de hosts que están autorizados a conectarse al servidor de visualización X. Este sistema tiene una seguridad inferior, ya que permite que cualquier usuario que tenga acceso a dicho host se conecte a la pantalla. El xhostprograma y tres solicitudes de protocolo básico del sistema X Window se utilizan para activar este mecanismo y para mostrar y cambiar la lista de hosts autorizados. El uso inadecuado de xhostpuede dar inadvertidamente a todos los hosts de Internet acceso completo a un servidor de visualización X.

Acceso basado en cookies

Los métodos de autorización basados ​​en cookies se basan en elegir una cookie mágica (un fragmento de datos arbitrario) y pasarla al servidor de visualización X cuando se inicia; cada cliente que pueda demostrar que tiene conocimiento de esta cookie queda luego autorizado a conectarse al servidor.

Estas cookies son creadas por un programa independiente y almacenadas en el archivo .Xauthoritydel directorio de inicio del usuario, de forma predeterminada. Como resultado, cada programa que ejecute el cliente en el equipo local puede acceder a este archivo y, por lo tanto, a la cookie necesaria para obtener la autorización del servidor. Si el usuario desea ejecutar un programa desde otro equipo de la red, la cookie debe copiarse en ese otro equipo. La forma en que se copia la cookie depende del sistema: por ejemplo, en plataformas tipo Unix , se puede utilizar scp para copiar la cookie.

Los dos sistemas que utilizan este método son MIT-MAGIC-COOKIE-1y XDM-AUTHORIZATION-1. En el primer método, el cliente simplemente envía la cookie cuando se le solicita que se autentique. En el segundo método, también se almacena una clave secreta.Xauthority en el archivo. El cliente crea una cadena concatenando la hora actual, un identificador dependiente del transporte y la cookie, cifra la cadena resultante y la envía al servidor.

La aplicación xauth es una utilidad para acceder al .Xauthorityarchivo. La variable de entorno XAUTHORITYse puede definir para anular el nombre y la ubicación de ese archivo de cookies.

El protocolo de intercambio entre clientes (ICE) implementado por la biblioteca de intercambio entre clientes para la comunicación directa entre clientes X11 utiliza el mismo MIT-MAGIC-COOKIE-1método de autenticación, pero tiene su propia utilidad iceauth.ICEauthority para acceder a su propio archivo, cuya ubicación se puede anular con la variable de entorno ICEAUTHORITY. ICE es utilizado, por ejemplo, por DCOP y el protocolo de administración de sesiones X (XSMP).

Acceso basado en el usuario

Los métodos de acceso basados ​​en usuarios funcionan autorizando a usuarios específicos a conectarse al servidor. Cuando un cliente establece una conexión con un servidor, debe demostrar que está controlado por un usuario autorizado.

Los dos métodos basados ​​en la autenticación de usuarios mediante sistemas de gestión de identidad en red son SUN-DES-1y MIT-KERBEROS-5. El primer sistema se basa en un mecanismo seguro del sistema de llamada a procedimiento remoto ONC desarrollado en SunOS . El segundo mecanismo se basa en que tanto el cliente como el servidor confíen en un servidor Kerberos .

Un tercer método se limita a las conexiones locales y utiliza llamadas del sistema para preguntar al núcleo qué usuario se encuentra en el otro extremo de un socket local. El xhostprograma puede utilizarse para agregar o eliminar localuserentradas localgroupcon este método. [1]

Túnel

La utilidad SSH-X (cuando se invoca con la opción o con la opción ForwardX11) canaliza el tráfico X11 desde los clientes invocados de forma remota al servidor local. Para ello, establece en el sitio remoto la DISPLAYvariable de entorno para que apunte a un socket TCP local abierto allí por sshd, que luego canaliza la comunicación X11 de vuelta a ssh. A continuación, sshd también llama a xauth para agregar en el sitio remoto una cadena MIT-MAGIC-COOKIE-1 .Xauthority, que luego autoriza a los clientes X11 a acceder al servidor X local del usuario ssh.

Las conexiones X11 entre cliente y servidor a través de una red también se pueden proteger utilizando otros protocolos de canal seguro, como Kerberos / GSSAPI o TLS , aunque dichas opciones ahora se utilizan mucho menos que SSH.

Referencias

  1. ^ "Tipos de autenticación interpretados por el servidor "localuser" y "localgroup"". X.Org Foundation . Consultado el 16 de enero de 2015 .

Enlaces externos