[LUG.ro] problema con kedit
luciano
lugro@lugro.org.ar
Wed, 29 Nov 2006 17:42:45 -0300
muy interesante :D
voy a probarlo... otra cosa, como vuelvo a darle los la proteccion al
xhost ??
Sebastián D. Criado escribió:
> El Lunes 27 Noviembre 2006 22:30, Luciano escribió:
>
>> otra vez me paso lo mismo :S
>> trate de hacer lo del xhost y nada :(
>>
>>
>
>
> Usar xhost es por demás de inseguro.
>
> Aquí una explicación de Emiliano que vio el post y quiso colaborar:
>
> http://pastebin.com/835557
>
> Muchas veces pasa que algunos usuarios preguntan:
>
> "Porque no puedo correr (pongan su aplicación X aqui) como root?"
>
> El problema viene dado porque X dispone de ciertos mecanismos de seguridad,
> los cuales impiden que cualquiera pueda conectarse a nuestro display y
> mostrar ventanas. La página del manual de Xsecurity(7) nos da una lista
> de los métodos de control de acceso disponibles.
> El primer método de control esta basado en hosts, y se controla con la
> utilidad
> xhost(1). Sin embargo, la página advierte que
>
> "Cualquier cliente de un host listado en la lista de control de accesos de
> hosts tiene permitido acceder al servidor X. Este sistema puede trabajar
> razonablemente bien en un ambiente donde todos confían en todos"
>
> Si además estamos conectados a internet, estamos en un serio problema: no es
> precisamente un lugar donde "todos confian en todos"
>
> Desgraciadamente, la respuesta a la pregunta de arriba casi siempre es
>
> "ejecuta xhost +"
>
> lo cual es un muy serio error de seguridad. Funciona, si, pero no solo para
> la persona que quería hacerlo, sino para todos los que puedan querer
> conectarse.
>
> Ahora bien, si pasamos al segundo método de control de accesos, veremos que,
> si bien no es una maravilla de seguridad, al menos no expone la máquina como
> la solución del "xhost +". Dicho método (MIT-MAGIC-COOKIE-1) se controla
> mediante la utilidad xauth(1).
>
> Veamos que pasa en mi máquina:
>
> $ su -
> Password:
> Terminal type is xterm.
> root@pepe:~# kate
> kate: cannot connect to X server
> root@pepe:~# export DISPLAY=:0
> root@pepe:~# kate
> Xlib: connection to ":0.0" refused by server
> Xlib: No protocol specified
>
> kate: cannot connect to X server :0
> root@pepe:~#
>
> El mismo problema que generó la pregunta inicial. Si hiciera xhost + tendría
> resuelto este problema, pero a costa de generar uno mucho peor.
>
> Hagámoslo con xauth.
>
> root@pepe# exit
> logout
> $ xauth -n list
> 192.168.6.3:0 MIT-MAGIC-COOKIE-1 73df0129397a17256f13dcdc55f9f150
> pepe.dominio.net/unix:0 MIT-MAGIC-COOKIE-1
> 73df0129397a17256f13dcdc55f9f150
> $
>
> Vemos que tengo la posibilidad de acceder mediante dos métodos: tcp (entrada
> 192.168.6.3:0, puerto 6000) y sockets unix (pepe.dominio.net/unix:0).
>
> Exportemos la MAGIC-COOKIE a un archivo asi podemos importarla en otro lugar
> (en este caso, el root)
>
> $ xauth extract authfile $DISPLAY
> $ su -
> Password:
> Terminal type is xterm.
> root@pepe:~# kate
> kate: cannot connect to X server
> root@pepe:~# export DISPLAY=:0
> root@pepe:~# kate
> Xlib: connection to ":0.0" refused by server
> Xlib: No protocol specified
>
> kate: cannot connect to X server :0
> root@pepe:~# xauth merge /home/user/authfile
> root@pepe:~# kate &
> root@pepe:~# xauth list
> maq033.imae.fceia.unr.edu.ar/unix:0 MIT-MAGIC-COOKIE-1
> 73df0129397a17256f13dcdc55f9f150
>
>
> Finalmente anduvo, y sin necesidad de abrir mi display al mundo. Puedo
> conectarme a la X sin problemas. Este archivo podría copiarlo a otras
> máquinas de mi red interna, importarlo con xauth y conectarme desde ahi.
>
> Finalmente, unas aclaraciones y/o recomendaciones:
> * El método no es una panacea de seguridad, ya que la cookie se transmite en
> texto plano en las conexiones de red.
> * Si realmente somos paranoicos (al menos yo lo soy) deberemos directamente
> deshabilitar la conexión a la X mediante tcp (la opcion es -nolisten tcp en
> el comando que lanza la X), aunque esto nos impide conectarnos desde otra
> máquina.
> * Si lo hacemos todo localmente, podríamos directamente, como root, haber
> apuntado la "base de datos" de cookies a la del usuario en cuestión:
>
> root@pepe:~# XAUTHORITY=/home/usuario/.Xauthority kate &
>
> y también andaría (aunque es un método un tanto rudo para el usuario, sobre
> todo si no es el mismo que el root !!!). Para mi gusto este sería el consejo
> rápido y sucio para darle a alguien en vez del "xhost +".
> * Si no andamos muy peleados con el inglés, leer las páginas de manual de
> X(7), xdm(1), Xsecurity(7), Xserver(1), xhost(1) y xauth(1). Y si, ya se que
> son muchas, pero como dice un viejo preoverbio chino "Sigue el sagrado camino
> del RTFM, pequeño saltamontes ..."
> * En http://tldp.org/HOWTO/Remote-X-Apps.html esta el howto que me hizo ver
> el tema este del xhost vs xauth.
> * Leer el código fuente de startx(1) es instructivo al respecto , sobre todo
> la parte final.
> * La última: en algunos sistemas (p.ej *BSD), el resolver de hosts es muy
> puntilloso en cuanto a los nombres de archivo y como se resuelven a IPs. Si
> algunos andan con problemas de delays para que se le lancen las aplicaciones
> X, puede ser que haya un problema de este tipo y hay que esperar el timeout
> de la consulta para ir a la IP directamente. Asegurense que su nombre de
> host siempre se resuelva bien, sea mediante /etc/hosts o DNS.
>
> Espero que ayude.
>
>