Translate

lunes, 16 de octubre de 2017

Acceso a VNC por medio de java applet desde Firefox en CentOS 6

En CentOS ( 6.9 por ejemplo) se puede emplear el Java del OpenJDK que ya viene del repositorio de CentOS  o también se puede usar el Java que ofrece Oracle. Para simplificar la instalación emplearemos el java de OpenJDK, sin embargo los pasos serán muy similares si se emplea el Java de Oracle.

Los siguientes pasos los haremos como root:
  •  Verificamos la versión de java que estamos utlizando:
# java -version
java version "1.7.0_151"
OpenJDK Runtime Environment (rhel-2.6.11.0.el6_9-x86_64 u151-b00)
OpenJDK 64-Bit Server VM (build 24.151-b00, mixed mode)

  •  Verificamos si existen otras versiones de java e intentamos seleccionar la más nueva:
 alternatives --config java

There are 3 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
 + 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
*  3           /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

Enter to keep the current selection[+], or type selection number: 3

  • Ahora levantamos el Firefox como usuario normal y verificamos primero si está activo el plugin. En el menú de Firefox en Add-Ons->plugins verificamos los plugins instalados:



  • El plugin que permite ejecutar los applets de Java es el correspondiente a "IcedTea-Web". Sino está se puede instalar con: 
 yum -y install icedtea-web

  • Una vez instalado el plugin hay que salir de Firefox y volver a entrar para ver si ya tiene habilitado el plugin.
  • El siguiente paso es levantar el servidor de VNC en el puerto deseado y verificar con el cliente de VNC que se puede acceder a este. Por ejemplo, para levantar el VNC server en el DISPLAY=:8.0 , ponemos:
vncserver :8
  •  y verificamos en la misma màquina poniendo:
  •  
    vncviewer :8
    o también especificando la IP:
    vncviewer 127.0.0.1:8
     
  • El siguiente paso es habilitar los permisos de acceso del applet de Java. Se puede hacer por sitio (hostname/IP) o se pueden dar los permisos por applet (sin importar la IP y el puerto). Sino se le dan los permisos necesarios, aparecerán mensajes acceso denegado similar a las siguientes ventanas:


  • Para modificar las políticas de acceso del applet podemos ejecutar (como usuario normal) el comando:
 policyeditor.itweb

  • O ejecutarlo seleccionando del menú System->Preferences la opción "IcedTea-Web Policy Editor":

  •  A continuación seleccionamos del menú 'File' la opción 'Open default policy file' . Esto hará que para el usuario normal se vaya a crear un archivo llamado 'java.policy' el cual será creado dentro uno de los subdirectorios del directorio .config del  usuario. Por ejemplo:


  • Ahora le habilitamos los permisos deseados y guardamos la configuración:


  • Guardamos los cambios y cerramos.  Esta configuración queda guardada en el archivo java.policy de la siguiente manera:
 [alumno@localhost ~]$ grep net .config/icedtea-web/security/java.policy
    permission java.net.SocketPermission "*", "resolve,listen,connect,accept";

  • Es decir, no importa para qué dirección IP y puerto ( "*" ), se le habilitaràn los permisos de "resolve,listen,connect, accept".
  • Para que esta configuración sea tomada por la sesiòn del usuario, es necesario cerrar la sesión y volverla a abrir. Con esto ya podemos entrar con el Firefox a la aplicación (applet) del cliente de VNC. Ejemplo de ventanas: