sábado, 15 de marzo de 2008

x11vnc control remoto

instalarlo: sudo aptitude install x11vnc
Para ejecutarlo debemos poner:

$ x11vnc -bg -passwd contraseña

La opción -bg hace que el proceso se ejecute en background (2º plano) y la opción -passwd seguida de una contraseña fuerza al usuario a introducir la contraseña para conectarse. Como no hemos especificado un puerto, se tomará el puerto por defecto que es el 5900.
La primera vez es muy recomendable añadirle la opción -gui para que nos muestre una interfaz gráfica para configurar y exprimir al máximo nuestra aplicación.
Ahora para conectarnos a nuestro ordenador en donde hemos dejado escuchando el x11vnc, es tan simple como poner desde la consola:



$ vncviewer la_ip_del_ordenador:5900

Ahora nos pedirá que ingresemos la contraseña y si es correcta nos mostrará el escritorio remoto.
En el caso de querer conectarnos desde una pc con windows simplemente se debe poner como destino la ip del ordenador donde esta el x11vnc.
Recuerden abrir el puerto 5900 tanto en el firewall como en el router (si es que hubiera uno).
Es sabido que mientras mas puertos uno abre en su ordenador, mas fácil (o menos difícil) es para un intruso lograr acceso al sistema explotando alguna falla de seguridad. Por tanto, cuando trabajemos mediante vnc hay un par de cosas que es obligación saber.

1. Los datos tienden a viajar en texto plano, sin encriptación
2. En instalaciones por defecto, no se restringe ni se filtra por ip
3. Quien se conecte a un ordenador mediante vnc tiene acceso a TODO lo que tendría un usuario que esté físicamente sentado frente al ordenador.

RECOMENDACIONES
1. No dejar nunca escuchando el vnc server. Primero loguearse en la pc mediante ssh, y ejecutarlo desde allí. Luego conectarse, y cuando se termine de trabajar matar el proceso, (killall x11vnc).
2. Siempre usar la opción -passwd para forzar una contraseña
3. Trabajar con vnc mediante un túnel ssh. Para esto, loguearse primero por ssh a la pc de la siguiente manera: ssh -P -L 1900:127.0.0.1:5900 ip_de_la_pc luego ejecutar el servidor: x11vnc -bg -passwd contraseña y luego desde otra terminal conectarnos mediante el tunel que hemos creado: vncviewer 127.0.0.1:5900. Una vez que terminamos de trabajar, matamos el proceso: killall x11vnc. Esto hará que los datos viajen encriptados mediante ssh (secure shell) y sean redireccionados al puerto 5900 al llegar a destino. Esto nos permite tener cerrado el puerto 5900 en el router evitando intrusiones de extraños y en el firewall debemos configurar que acepte peticiones al puerto 5900 solamente desde localhost o 127.0.0.1.
4. Nunca loguearse ni ejecutar el server como root
5. Nunca dejar en el equipo remoto una shell de root abierta

No hay comentarios: