Carpetas: seguridad, acceso y replicación.

Estaremos de acuerdo en qué uno de los propósitos de una red de servidores es, controlar el acceso a los recursos que se comparten en élla. Estos recursos, como sabemos, pueden ser archivos, carpetas, páginas web, BD, impresoras, etc… El trabajo de los servidores es proporcionar acceso a todas estas ‘cosas’. Si no hay cosas no es necesaria ninguna seguridad ni protección, no necesitamos Windows Server.

Los permisos

Un sistema de archivos por definición es una estructura jerárquica de carpetas que alojan archivos, y los aseguran mediante series de Listas de Control de Acceso (ACLs) y Entradas de Control de Acceso (ACEs) que definen el tipo de permisos que se permiten o niegan a aquéllas carpetas y archivos. Así que el primer método para asegurar carpetas y sus archivos en un mundo Windows son los permisos.

Los permisos se encuentran en dos variedades: los permisos para compartir y los permisos NTFS. Cuando se crea una carpeta en el sistema de archivos, hay un conjunto de permisos predeterminados que se le asignan. SYSTEM (el propio sistema), el usuario qué la ha creado y el grupo local de administradores del servidor donde se creó, todos ellos necesitan algún tipo de acceso sobre la carpeta creada. En este caso, al crear una carpeta en la raíz del disco un 2008 R2(de ejemplo), quedan así:

permissions01

Los permisos NTFS se asignan cuando se crea la carpeta, pero se pueden editar en cualquier momento por el usuario o miembro del grupo que tenga el permiso modificar sobre la carpeta.

A su vez, los permisos NTFS se dividen en dos tipos: permisos estándar y permisos especiales. Los primeros son exactamente, control total, modificar, lectura y ejecución, mostrar el contenido de la carpeta, lectura y escritura. Cada uno de ellos pueden permitirse o negarse. Ya que tenemos la opción de permitir o negar los permisos sobre una carpeta, en un sistema de archivos NTFS, disponemos de flexibilidad sobre el nivel de acceso a una carpeta predeterminada.

Como añadido a los permisos estándar, hay permisos especiales que también pueden establecerse en cada carpeta y/o archivo. Estos últimos hacen más que proporcionar acceso simple a la carpeta en la que se aplican, proporcionan la propiedad de la misma, así como la capacidad de cambiarle los permisos y la jerarquía que pueda existir por debajo de la misma.

Para configurar permisos NTFS hemos de seguir unos sencillos pasos:

– Clic derecho en la carpeta, seleccionar propiedades, seleccionar la pestaña Seguridad y pulsar el botón Editar.

A partir de aquí, podemos seleccionar un usuario/grupo existente de la lista de los que ya tienen permisos asignados o, también, añadir usuarios/grupos a los que queremos asignarles permisos sobre la carpeta. Estos usuarios/grupos pueden ser locales o pertenecientes al AD (si el equipo está en un dominio y no es un DC en el caso de usuarios locales porque no existen). Y eliminar usuarios/grupos de los que ya tienen permisos asignados.

permisosestandar01

Tengamos en cuenta una cosa importante, cualquiera no puede añadir, cambiar o eliminar permisos NTFS en una carpeta. Se necesita tener permisos sobre la carpeta para poder hacerlo. Los permisos para cambiar permisos o tomar la propiedad de la carpeta son permisos especiales.

Para establecer permisos especiales el camino es parecido:

Clic derecho en la carpeta y seleccionamos propiedades,

permisosespeciales01

Seleccionamos la pestaña Seguridad y clic en el Botón Opciones Avanzadas

permisosespeciales02

Ahora elegimos la pestaña Permisos y pulsaremos el botón Cambiar Permisos

permisosespeciales03

En la ventana de configuración de permisos dispondremos de la posibilidad de añadir, editar y cambiar la herencia de los mismos.

permisosespeciales04permisosespeciales05

Si lo que queremos es ver los permisos efectivos, en vez de elegir la pestaña Permisos, elegiremos la de Permisos efectivos.

permisosefectivos

Seleccionamos el grupo/usuario y le damos a aceptar.

permissions04

Para tomar la propiedad de la carpeta, seleccionamos la pestaña Propietario y usamos el botón Editar.

permissions05permissions06

Compartir

Para hacer que una carpeta y su contenido estén al alcance mediante la red:

  1. Escogemos la carpeta
  2. clic derecho y propiedades
  3. pestaña Compartir
    compartir01
  4. Aquí disponemos de dos opciones, un botón compartir y uno de Uso compartido Avanzado.
    1. Botón compartir
      1. Seleccionamos usuario/grupo
        compartir02
      2. Agregamos
        compartir03
      3. Seleccionamos los permisos
        compartir04
      4. le damos al botón compartir
        compartir05
    2. Uso compartido Avanzado
      1. Nos sirve tanto para compartir como para dejar de compartir (casilla compartir esta carpeta)
        compartir07
      2. Nombre del recurso, comentarios.
      3. Botón permisos, Agregamos usuarios/grupos y marcamos los permisos: sólo disponemos de tres.
        compartir08

El recurso finalmente compartido ya muestra en sus propiedades la ruta y que está compartido.

compartir06

Permisos compartir vs permisos NTFS, la lucha…

¿Por qué digo lucha? Pues porque el cruce de ambos tipos de permisos siempre producen quebraderos de cabeza, por experiencia.

Conflictos. Eso es lo que tienen los permisos compartir y NTFS, conflictos, pero ¿cómo los resolvemos? En principio os comentaré algo básico a tener en cuenta:

a) Cuando marcamos NEGAR siempre es precedente sobre PERMITIR.

b) Si los permisos COMPARTIR y NTFS chocan, siempre se aplica el MÁS RESTRICTIVO!

¿Qué quiero decir con esto? Pues viendo unos ejemplos quizás…

restriccion

Esto puede complicarse mucho si aplicamos permisos sobre usuarios/grupos, cuantos más usuarios y grupos más liado.

Yo normalmente utilizo un pequeño sistema, Aplico a COMPARTIR Control Total al grupo todos y me olvido de esta parte, desde aquí uso los NTFS sobre la carpeta y sólo me preocupo de estos. Así si veo que tiene Lectura y quiero que escriba, sólo modifico el correspondiente en la pestaña Seguridad. También podría hacerlo a la inversa, pero tendría menos granularidad.

En todo caso, me aseguro bien cuando aplico permisos diferentes en Compartir, es decir, si es un recurso que tengo claro que sólo debe leerse ni lo cambio, digan lo que digan los NTFS por la Red sólo podrá leerse.

¿Problemas con Directivas de Grupo?

Cuando se trabaja con Directivas de Grupo podemos tener algunos problemas en su aplicación, así qué hay que usar algunas herramientas para buscar solucionarlos y no perder nuestro tiempo de administración.

Las herramientas integradas se enfocan en predecir el cómo se aplican y el cómo buscar el resultado de esa aplicación. Group Policy Modeling Wizard (GPMW), Group Policy Results Wizard (GPRW), GPresult.exe, y el elemento de MMC: RSOP. Por último, estas herramientas nos permitirán ver el orden de precedencia en acción. Podemos ver qué directivas se aplicaron sobre el sistema y cuáles son las qué vencieron.

Además, ya que las directivas se basan en la red, todas las herramientas que utilizamos para comprobarla –desde el ping a la resolución de nombres- son válidas para solucionar problemas de directiva.

GPMW  Modelado de directivas de grupo

GPMW nos permite previsualizar nuestras directivas de grupo. La herramienta modela los resultados de las directivas antes de implementarlas. Esta herramienta construye informes basados en lo qué está configurado a nivel de sitios, dominios y OUs, tanto para equipos como para usuarios. Basado en las reglas de aplicación de directivas, la herramienta nos proporciona una instantánea de las directivas que se aplicarán. También nos muestra cómo afectará cualquier filtro WMI o de seguridad.

GPMW se encuentra en la consola GPMC. Es importante recalcar que GPMW evalúa sólo un RSOP teórico basado en todas las directivas y filtros establecidos vía Active Directory.

Para crear un modelado:

  1. Clic derecho en Modelado de directivas de grupo, clic en Asistente para modelado de directivas de grupo.
    modelado01
  2. Siguiente en la ventana de bienvenida.
    modelado02
  3. Seleccionamos el Controlador de dominio que queremos utilizar para procesar la solicitud de modelado y siguiente.
    modelado03
  4. Escoger que queremos modelar. Podemos elegir un usuario o equipo individual, o un ámbito (dominio u OU) para cualquiera de ellos (equipo o usuario). Una combinación de lo anterior. …
    modelado04
  5. También podemos simular una red lenta o un bucle invertido en la página de diálogo de simulación.
    modelado05
  6. Elegiremos la ruta de AD alternativo u otras ubicaciones a simular. (Esta página podría no mostrarse dependiendo de la elección en el paso 3)
  7. Simular los cambios en el grupo de seguridad del usuario.
    modelado06
  8. O, simular los cambios en el grupo de seguridad del equipo.
    modelado06b
  9. Los filtros para usuarios.
    modelado07
  10. Los filtros para equipo.
    modelado07b
  11. Vemos un resumen y siguiente para la creación del modelado.
    modelado08
  12. Pulsamos en finalizar y obtenemos el informe, aparece bajo el nodo de modelado de directivas de grupo.
    modelado09

El informe queda bajo el nodo de Modelado.

modelado10modelado11

modelado12modelado13

GPRW o Asistente de Resultados de Directivas de Grupo

Hay algunas herramientas que nos permiten obtener el RSOP. Una de ellas se encuentra en la consola, GPMC, el asistente de Resultados de directiva de grupo.

Una vez localizada en el árbol de la izquierda:

  1. Clic derecho y seleccionamos Asistente de resultado de directivas de grupo.
    rsdg01
  2. Siguiente en la ventana de bienvenida.
    rsdg01b
  3. Seleccionamos el equipo, local o remoto. Siguiente.
    rsdg02
  4. Seleccionamos la cuenta de usuario para el que queremos el RSOP, Siguiente.
    rsdg03
  5. Ventana resumen, siguiente.
    rsdg04
  6. Pulsamos en finalizar para volver a GPMC y ver el informe.
    rsdg05rsdg06

GPResult.exe

Herramienta desde él símbolo del sistema, nos permite ver los resultados de directiva de grupo tanto para el sistema local y usuario actual, como equipos remotos y otros usuarios. Como otros comandos, dispone de commutadores y parámetros que proporcionan información adicional. Pueden entubarse los resultados hacia un archivo de texto y utilizar el comando en archivos de lotes y/o scripts.

rsdg09

RSOP, elemento de MMC, conjunto resultante de directivas.

Sólo hemos de abrir la MMC y añadirlo. También podemos iniciarlo desde el elemento Usuarios y equipos de ACtive Directory.

rsdg08rsdg07

Esta herramienta es similar al asistente de resultados de directiva, pero con la ventaja de que puede mostrar los resultados de múltiples directivas. Disponible en dos modos, Planning i Logging modes. La diferencia principal entre ellos es el cómo proporcionamos el RSOP. Planning mode es similar a GPMW, simula el proceso de directivas, mientras Logging mode consulta la BD WMI de un equipo específico, que se reune cuando se aplica la directiva. Podemos ver información del usuario con esta herramienta sólo si el usuario ha iniciado sesión en el sistema. Además, veremos sólo aquéllas directivas que se hayan procesado en el sistema.

Ambos modos tienen ventajas. La principal de Planning es la generación de informes basados en los valores que serán procesados antes de serlo. Permite la simulación de comportamientos y solucionar problemas antes de aplicar las directivas en producción. En cuanto a Logging, la principal ventaja es la exactitud, ya que el informe está basado en lo qué realmente se ha procesado.

 

Automatizando tareas administrativas: Copia de seguridad de las GPO del dominio

Tener una copia de seguridad de las Directivas de Grupo nos vendrá bien en algunos casos. Para realizar dicha copia podemos acceder simplemente a la Consola de administración de Directivas y hacer unos pocos pasos:

  1. Clic derecho en los objetos de Directiva de Grupo y clic en hacer copia de seguridad de todos
    backupdomainGPOs
  2. Indicamos la ruta y la descripción, y se realiza la copia de seguridad.
    backupdomainGPOs02
  3. backupdomainGPOs03
  4. backupdomainGPOs04
  5. backupdomainGPOs05

Aunque también podemos hacerlo con Powershell, por ejemplo desde El script-center tenemos un script para copiar las Directivas de Grupo modificadas en el mes.

http://blogs.technet.com/b/grouppolicy/archive/2009/03/26/powershell-script-backup-all-gpos-that-have-been-modified-this-month.aspx

El código es prácticamente el mismo, pero he traducido las cadenas y añadido import-ActiveDirectory para que pueda usar los cmdlets de AD, y cambiado la sentencia que recoge las GPO para que hiciera el backup de todas en lugar de las modificadas.

1 # El siguiente script busca todas las Directivas de Grupo en el dominio que hayan sido modificadas este mes. Entonces genera una copia de seguridad y un informe de configuración por cada una. Finalmente lista todas las que se han copiado. 2 ## depende de si se accede por el acceso a la consola powershell de AD o se ha navegado hacia allí primero 3 4 # necesario para usar los cmdlets de directiva de grupo y Active Directory 5 import-module ActiveDirectory 6 import-module grouppolicy 7 8 #Sacar todas las directivas de grupo enlazadas en el dominio del equipo local 9 #el primer paso es obtener el objeto dominio 10 # intro "get-ADDomain -?" para la ayuda 11 12 $mydomain = get-ADDomain -current LocalComputer 13 14 # el siguiente paso es obtener todas las directivas de grupo actualmente en el dominio que hayan sido modificadas este mes 15 16 $currentDate = get-Date 17 18 # $ModGPOs = get-gpo -domain $mydomain.DNSRoot -all | where {$_.ModificationTime.Year.equals($currentDate.Year) -And $_.ModificationTime.Month.equals($CurrentDate.Month)} 19 20 $ModGPOs = get-gpo -domain $mydomain.DNSRoot -all 21 22 # bucle de las directivas de grupo 23 24 $RootPath = "C:GPOBackupReports" 25 26 Foreach ($GPO in $ModGPOs) { 27 # Copia de seguridad de la directiva en la ruta especificada 28 $GPOBackup = backup-GPO $GPO.DisplayName -path "C:GPOBackup" 29 30 # Primero crea la ruta del informe, luego lo genera con la configuración guardada. 31 $ReportPath = $RootPath + $GPO.ModificationTime.Month + "-"+ $GPO.ModificationTime.Day + "-" + $GPO.ModificationTime.Year + "_" + $GPO.Displayname + "_" + $GPOBackup.Id + ".html" 32 get-GPOReport -Name $GPO.DisplayName -path $ReportPath -ReportType HTML 33 } 34 35 # Salida de cuales directivas de grupo se han guardado correctamente. 36 37 "Las siguientes " + $ModGPOs.count + " Directivas de Grupo se han guardado correctamente:" | out-host 38 39 Foreach ($GPO in $ModGPOs) { 40 " " + $GPO.DisplayName | out-host 41 } 42 43 "Ir a " + $RootPath + " para ver los informes de configuración de las Directivas de Grupo guardadas." | out-host 44

scriptbackup01

scriptbackup02

scriptbackup03

scriptbackup04