Este mecanismo de X Window es el más seguro, y por tanto el más
recomendado; en él, el servidor controla el acceso de los clientes mediante
una `cookie' MIT-MAGIC-COOKIE-1, que no es más que un código
de acceso aleatorio de 128 bits en
un formato legible por la máquina: esta cookie actua como un password temporal, de forma que sólo los clientes que conozcan ese password podrán acceder al servidor. La cookie es generada por xdm o por el propio usuario al principio de cada sesión, con xauth, y
guardada en el fichero $HOME/.Xauthority; a partir de ese momento, los
programas clientes leerán su valor y lo enviarán al servidor cada vez que
deseen conectar a él. Podemos comprobar que poseemos - al menos - la cookie correspondiente a nuestro display con una orden como la
siguiente:
luisa:~# xauth list
luisa:0 MIT-MAGIC-COOKIE-1 8c1d09aab44573a524467c4e8faaaeb5
luisa/unix:0 MIT-MAGIC-COOKIE-1 8c1d09aab44573a524467c4e8faaaeb5
luisa:~#
El comando anterior, xauth, se utiliza para manejar la información de
las cookies de cada usuario; por ejemplo, un uso muy habitual es la
transferencia de cookies a máquinas remotas, para que puedan así
conectar al servidor X de un determinado equipo. Para ello debemos
extraer la cookie de nuestro $DISPLAY y enviarla al fichero
$HOME/.Xauthority del sistema remoto, con una orden como esta:
luisa:~# xauth extract - $DISPLAY | ssh anita -l toni xauth merge -
luisa:~#
Este mecanismo tiene principalmente dos problemas de seguridad: por un
lado, las cookies se transmiten en texto claro por la red, por lo que son
susceptibles de ser interceptadas; por otro, al estar guardadas en el fichero
$HOME/.Xauthority, cualquiera que lo pueda leer tendrá acceso a ellas:
es muy importante que este archivo tenga permiso de lectura y escritura sólo
para su propietario, y que también tomemos precauciones si los directorios
$HOME de los usuarios son exportados vía NFS.
© 2002 Antonio Villalón Huerta