viernes, 25 de mayo de 2012

Enjaular usuario en Windows

Hoy vamos un poco con Windows, que no suelo tocarlo y también tiene sus posibilidades. Hoy lo que me planteo hacer es crear un usuario que sólo pueda ejecutar un navegador, por ejemplo para un ordenador que esté en un hotel. Seguramente haya programas que hagan esto y sean mucho más seguros, pero ¿para qué instalar algo cuando podemos hacerlo nosotros con un poco de tiempo? Bueno, vale, el tiempo Lengua fuera, pero por lo que estoy investigando no hay tanto problema.
El primero obstáculo que me encuentro es que tengo un Windows 7 Home Premium, por lo que la forma fácil de hacerlo que es editando la política de grupos no puedo hacerla (válido para AD y local), por lo que me toca hacerlo de forma universal, es decir, modificando a pelo el regedit. Lo primero es crear el usuario desde el panel de control, con permisos de administrador para poder hacer los cambios. Al finalizar, le cambiaremos a usuario normal. Nos logueamos con ese usuario y empezamos:

Paso 1: Modificar la shell de Windows

Lo primero que vamos a hacer es que Windows no cargue el explorer.exe y cargue el navegador que nosotros elijamos. En este caso lo haremos para sólo un usuario, pero dejaré un link con información más detallada.
Lo primero que tenemos que hacer es decidir el navegador que vamos a usar y localizar la ruta en el disco duro. Estas son las rutas por defecto de los tres navegadores más usados de Windows (De todas formas, comprobarlo en cada equipo):
Internet explorer: "C:\Program Files\Internet Explorer\iexplore.exe"
Firefox: "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
Chrome: “C:\Users\USUARIO\AppData\Local\Google\Chrome\Application\chrome.exe”

Lo siguiente será modificar la entrada “Shell” del registro para el propio usuario:
HKCU\Software\Microsoft\Windows\Current Version\Policies\System
Creamos una entrada de tipo “String Value” llamada “Shell” y como valor ponemos la ruta del navegador. Si no existiese la carpeta System, la creamos (Crear clave).

Paso 2: Deshabilitando el Administrador de Tareas.

Para ganar algo de seguridad y que los listillos no ejecuten lo que quieran “porque son hackers” vamos a deshabilitar el Administrador de Tareas. Esto deshabilitará la opción del Administrador de Tareas al pulsar “Ctrl+Alt+Supr”. De nuevo vamos al registro y añadimos una entrada de tipo Dword.
HKCU\Software\Microsoft\Windows\Current Version\Policies\System
Entrada a crear: DisableTaskMgr y le ponemos el valor 1. Para volver a habilitarlo, o borramos la entrada o la ponemos a 0.
En la misma clave, podemos añadir otros dos valores útiles, DisableChangePassword y DisableLockWorkstation, que evitarán que se de la opción de cambiar la contraseña de ese usuario y de bloquear el equipo.
Si queremos que no puedan cerrar sesión, tenemos que editar la clave:
HKCU\Software\Microsoft\Windows\Current Version\Policies\Explorer
Y añadir también como DWORD “NoLogoff”
Por último, si queremos deshabilitar el cambio de usuario (dejar abierta la sesión y cambiar a otro) tenemos que ir a la clave:
HKLM\Software\Microsoft\Windows\Current Version\Policies\System
Y añadir también como DWORD “HideFastUserSwitching”. La pega de esto, es que lo deshabilita para todos los usuarios.

Paso 3: Securizar un poco más el equipo.

Para más seguridad, podemos deshabilitar las StickyKeys y el FilterKeys. ¿Porqué? A parte de porque pueden llegar a ser un coñazo, son un agujero de seguridad en estos casos (he hablado de ello en otros post de como usarlo para cambiar contraseñas), pero también porque permiten acceso al panel de control. Si fuese un Windows 7 Professional o superior, esto se puede limitar por políticas de usuarios, pero el home no trae eso.
Para deshabilitarlos podemos hacerlo bien desde el propio panel de control o bien editando el registro:
StickyKeys (pulsar 5 veces Shift izquierdo):
HKCU\Control Panel\Accessibility\StickyKeys
Cambiamos el valor de “Flags” por “506” (510 para activarlo).
FilterKeys (dejar pulsado durante 8 segundo el Shift derecho):
HKCU\Control Panel\Accessibility\Keyboard Response
Cambiamos el valor de “Flags” por “122” (126 para activarlo).

¿FIN?

Falta cambiar los permisos del usuario a estándar y ya tendremos un usuario que sólo podrá ejecutar el navegador. Lo que haga desde el navegador es otra cosa, porque podrá ejecutar otros programas seguramente y acceder al contenido del disco duro. Esta parte tengo que investigarla ya que aun no he tenido tiempo, pero con esto tendremos una terminal un poquito más segura que si dejamos un usuario sin modificar, aunque sea una cuenta estándar (nunca dejar una cuenta de administrador abierta).
Esto es válido con cualquier programa, por lo que si lo que queremos es tener un centro multimedia, podemos usar de Shell el XBMC por ejemplo.
Si alguien ve como mejorarlo o algún punto de fallo que avise Guiño
¡Saludos!
Enlaces:
http://geeks.ms/blogs/checho/archive/2011/12/18/cambiar-el-shell-de-ejecuci-243-n-predeterminado-explorer-exe-en-windows-7.aspx
http://www.dgtallika.com/2010/07/windows-7-avanzado-como-restringir-el-ingreso-a-aplicaciones-con-la-herramienta-applocker/
http://windowsxp.mvps.org/es/tareas-ha-sido-deshabilitado.htm

1 comentario:

  1. Veo muchas referencias a tu "otro" trabajo jiji.
    A ver si lo mejoras y eres mejor que otros del sur

    ResponderEliminar