jueves, abril 17, 2008

El administrador local y las políticas de seguridad de Windows (GPO)

Aunque hace bastante tiempo que lo leí, últimamente he necesido aplicar lo que comentaba Mark Russinovich en Circumbenting Group Policy Settings. Las políticas de seguridad en Windows afectan a dos entornos.

Por un lado al usuario, y dicha información se guarda bajo la rama de registro HKCU\Software\Microsoft\CurrentVersion\Policies. Dicha rama se almacena en el fichero ntuser.dat que está situado en el directorio home de la cuenta de Windows. Este fichero es propiedad del usuario, y las ramas de registro que se cargan de él también. Eso significa que cualquiera puede establacer permisos sobre las ramas que les interese y evitar que se aplique una política de seguridad (por ejemplo, que no podamos modificar los propiedades de conexión del Internet Explorer). Las políticas se aplican con el usuario SYSTEM: si bloqueamos el acceso del registro de escritura a dicho usuario, borrando las entradas que existan.

Pero sin embargo esta misma técnica, evidentemente, no puede aplicarse a las políticas de dominio que se despliegan para la máquina. Pero se da el caso, que, hay gente que tiene este tipo de permisos en las empresas (desarrollos, pruebas, etc). Una vez que tienes el administrador local en Windows, realmente da igual lo que te desplieguen por políticas, porque puedes bloquear el despliegue de las mismas retirando de nuevo los permisos en las ramas adecuedas, en el caso de las políticas de máquina HKLM\Software\Microsoft\CurrentVersion\Policies, quiando los permisos a la misma bloquaremos todo lo que nos venga del dominio.

¿Para qué puede ser útil este tipo de técnicas?. Pues básicamente cuando estamos en una red de dominio y se quieren probar algunas configuraciones que implementamos a través de la política de grupo local (local group policy), puesto qu es ta política es la primera que se aplica siempre cuando se arranca una máquina y lo que se establezca en ella es sobreescrito por la política de dominio. De esta manera podemos usar la consola de gestión de políticas locales gpedit.msc para poder configurar como se desee la máquina.

Como es lógico, es totalmente absurdo dar permisos de administrador local y luego utilizar las GPO como medida de seguridad.

Al aplicar esta técnica nos encontraremos en el registro eventos con origen Userenv e identificador 1020, que indica aquellas claves de registro que el proceso de encargado de aplicar las políticas en Windows (realmente lo que ocurre es que escribe una serie de claves en el registro y es luego el programa el encargado de configurarse en función de los valores de dichas claves).

Referencias

  • La lista de entradas de registro y a qué corresponde cada política puede encontrtarse en el documento Policy Settings

No hay comentarios: