Autenticación por testigo

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