Mostrando entradas con la etiqueta policy. Mostrar todas las entradas
Mostrando entradas con la etiqueta policy. Mostrar todas las entradas

miércoles, 20 de enero de 2016

Windows no aplica políticas de grupo

En ocasiones ocurre que los equipos de nuestro dominio, normalmente con Windows XP, no aplican bien las políticas o directivas estipuladas.

Para estos casos, tenemos varías posibles soluciones, a continuación os las exponemos todas:


1.- Forzar las políticas.

En casi todos los casos, es suficiente con ejecutar el siguiente comando desde línea de comando:

gpupdate /force

Después cerramos la sesión del usuario y al volver a entrar ya suele funcionar con normalidad.


2.- Rejoin del PC.

Otra posible solución sería sacar el equipo del dominio y volverlo a ingresar. Lógicamente requiere varios reinicios.


3.- Volver a registrar librerias y ejecutables.

Pero otras veces la cosa se complica, y ni la ejecución del gpupdate ni hacer un rejoin del equipo logran que las políticas se apliquen correctamente.

Para estos equipos tan descarriados del rebaño, encontramos esta otra solución que, hasta el momento, siempre nos ha funcionado. Consiste en volver a registrar, con ayuda del comando regsvr32 todas las librerías (dll) y ejecutables (exe) de la carpeta de sistema "wbem", y procederemos de la siguiente manera:

Paso 1: Abrimos una ventana de CMD y navegamos hasta el siguiente directorio directorio:

C:\Windows\system32\wbem.

Paso 2: A continuación ejecutamos estas dos órdenes (primero una y, cuando finalice, la segunda):

For %i in (*.dll) do regsvr32 -s %i
For %i in (*.exe) do regsvr32 -s %i

Paso 3: Por último reiniciamos el equipo y comprobaremos que ya vuelve a funcionar con normalidad.
Windows - Forzar políticas
En esta imagen vemos como ejecutamos la primera de las órdenes.


4.- Uso del comando "secedit".

Por último nos queda la ejecución del comando secedit, que es una orden que precisamente sirve para forzar que las directivas de grupo se vuelvan a aplicar.

Para ello abriremos una ventana CMD y lanzaremos un "secedit" con los siguientes parámetros:

secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose

Después de la ejecución de la orden, como es habitual, reiniciamos el ordenador.

Para más información sobre este comando, aquí os dejamos este artículo de Microsoft.
Leer más...

viernes, 14 de octubre de 2011

Aplicaciones Web que usan distintas versiones de Java

Posible problema:

Necesitamos acceder a dos aplicaciones Web que usan dos versiones distintas de Java, la primera funciona únicamente con Java 1.4.2 (por ejemplo) y la segunda con Java 1.6 update 27 (o cualquier otra versión más reciente que la del primer ejemplo).

¿Como lo hacemos? Siguiendo estos pasos:

1.- Instalamos Java 1.4.2 (o el más antiguo)*.

2.- Instalamos Java 1.6 Update 27 (o el más nuevo)*.

3.- En caso de que sea necesario instalaremos Webpki o Multiwebpki (algunas aplicaciones lo requieren).

4.- En la carpeta de instalación de Java**, localizamos el archivo java.policy, lo abrimos con el bloc de notas, borramos todo su contenido y en su lugar copiamos lo siguiente:

grant {
  permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
  permission java.lang.RuntimePermission "accessClassInPackage.sun.security.pkcs11";
  permission java.security.AllPermission; 
  permission java.security.SecurityPermission "insertProvider.SunPKCS11-CardOS";
  permission java.security.SecurityPermission "removeProvider.SunPKCS11-CardOS";
  permission java.security.SecurityPermission "authProvider.SunPKCS11-CardOS";
  permission java.util.PropertyPermission "org.apache.commons.logging.LogFactory.HashtableImpl", "read";
  permission java.util.PropertyPermission "user.home", "read";
  permission java.io.FilePermission "<<ALL FILES>>", "read";
};

// Standard extensions get all permissions by default

grant codeBase "file:${{java.ext.dirs}}/*" {
permission java.security.AllPermission;
};

// default permissions granted to all domains

grant {
// Allows any thread to stop itself using the java.lang.Thread.stop()
// method that takes no argument.
// Note that this permission is granted by default only to remain
// backwards compatible.
// It is strongly recommended that you either remove this permission
// from this policy file or further restrict it to code sources
// that you specify, because Thread.stop() is potentially unsafe.
// See "http://java.sun.com/notes" for more information.
permission java.lang.RuntimePermission "stopThread";

// allows anyone to listen on un-privileged ports
permission java.net.SocketPermission "localhost:1024-", "listen";

// "standard" properies that can be read by anyone

permission java.util.PropertyPermission "java.version", "read";
permission java.util.PropertyPermission "java.vendor", "read";
permission java.util.PropertyPermission "java.vendor.url", "read";
permission java.util.PropertyPermission "java.class.version", "read";
permission java.util.PropertyPermission "os.name", "read";
permission java.util.PropertyPermission "os.version", "read";
permission java.util.PropertyPermission "os.arch", "read";
permission java.util.PropertyPermission "file.separator", "read";
permission java.util.PropertyPermission "path.separator", "read";
permission java.util.PropertyPermission "line.separator", "read";

permission java.util.PropertyPermission "java.specification.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";

permission java.util.PropertyPermission "java.vm.specification.version", "read";
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
permission java.util.PropertyPermission "java.vm.specification.name", "read";
permission java.util.PropertyPermission "java.vm.version", "read";
permission java.util.PropertyPermission "java.vm.vendor", "read";
permission java.util.PropertyPermission "java.vm.name", "read";
};


Otra alternativa: En lugar de editar el archivo java.policy, también podemos borrarlo o renombrarlo y crear uno completamente nuevo que contenga el código arriba indicado.

5.- Guardamos cambios (cuidado en no cambiar la extensión del archivo, que deberá seguir siendo .policy) y cerramos.

6.- Procedemos a acceder a ambas aplicaciones Web y si todo ha ido bien, lo haremos sin problemas.

*NOTA: En la web oficial de ORACLE hay un repositorio con todas las versiones de Java cuya descarga es completamente gratuita.

**NOTA2: Normalmente el archivo java.policy suele encontrase en:
C:\Program Files (x86)\Java\jre6\lib\security (o similar).
Leer más...