Mostrando entradas con la etiqueta RFC 2307. Mostrar todas las entradas
Mostrando entradas con la etiqueta RFC 2307. Mostrar todas las entradas

martes, 14 de enero de 2014

Conceptos Básicos: Las Zonas de Centrify

¿Qué son las Zonas (Zones)?

  • De acuerdo al diccionario de la Real Academia Española:
    f. "Extensión considerable de terreno cuyos límites están determinados por razones administrativas, políticas, etc"
  • Un nombre de mercadeo de una tecnología (12etc.)
  • Un mecanismo para establecer modelos de gobernación de seguridad (accesos y privilegios) para sistemas UNIX y Linux (también Windows!) con el Directorio Activo y las soluciones de Centrify.
La tercera opción es la mejor, pero la respuesta es un componente de las tres definiciones. En el contexto de la gestión de accesos y privilegios, las zonas de Centrify son como carpetas que almacenan información de identidad e información sobre los privilegios de los usuarios.  Las zonas combinan el uso de Directorio Activo, la especificación RFC 2307, técnicas propias de Centrify y la metodología de Windows Authorization Manager para permitir la implementación de estos principios:

  1. El principio de mínimo acceso:  el usuario final solo debe poder acceder sistemas relacionados a sus funciones en la empresa.
  2. El principio de mínimos privilegios:  el usuario final solo debe tener los privilegios necesarios para ejecutar sus funciones en la empresa.
  3. El principio de separación de funciones:  controles que requieren que más de una pueda ejecutar ciertas funciones para prevenir error o fraude. 
Estos principios se pueden implementar usando el control de accesos basado en roles (Role Based Access Controls, RBAC en inglés).  Las zonas permiten la gestión de identidades en UNIX (login, UID, GID, Home, Shell, etc.) 

Reutilización de Procesos
Una capacidad no muy conocida de las Zonas es que permiten que las organizaciones reutilicen sus procesos existentes para la alta/baja y cambio de identidades UNIX, administración de accesos y gestión de privilegios.  El proceso es la práctica de agregar, remover o combinar las membresías en grupos de seguridad del Directorio Activo.  Por años este mismo proceso se ha utilizado para otorgar privilegios, proporcionar acceso a carpetas de red o impresoras de red, servicios de Exhange o Sitios de Sharepoint, entre otros.

¿Qué quiere decir esto? Simplicidad de la Integración
La integración entre Centrify y cualquier otra solución que proporcione servicios de gestión de identidades, aprovisionamiento y gestión de privilegios es bastante sencilla ya que no requiere agentes o conectores dedicados.  CUALQUIER solución de esta índole tiene la abilidad de integrarse al Directorio Activo y proporciona las funciones de alta y baja de usuarios a los grupos de seguridad del Directorio Activo (independientemente del producto o vendedor: Oracle, Courion, Microsoft FIM, Sailpoint, etc.) 

La Historia de las Zonas de Centrify
Las zonas eran de dos dimensiones (planas), a esto se le llama zonas clásicas (classic zones);  las limitaciones de las zonas planas es que su administración requería de mucho esfuerzo.  Esto cambió hace unos años con la introducción de zonas jerárquicas (hierarchical zones ó HZ).  El gran poder de las zonas se extendió al implementar la gestión de accesos y privilegios, y desde el año 2013 las zonas pueden establecer gobernación de acceso y privilegio tanto a sistemas UNIX como Windows!!!!  Esto tiene altas implicaciones para las empresas que desean incrementar su seguridad y hacerlo de manera fiduciaria.
Nota de Moderación:  El autor opina que las zonas clásicas deben ser expiradas del producto.  Este blog no poporciona soluciones con zonas clásicas.

¿Cuáles son las reglas de diseño para las Zonas de Centrify?


  • Una sola zona combinada con roles de computador (Computer Roles) debe satisfacer la necesidad de la mayoría de las organizaciones.  Sin embargo, es posible que existan normativas, razones legales o administrativas que impliquen la creación de zonas paralelas o subzonas (por ejemplo: reglas de la unión Europea, Separación de funciones, la normativa de tarjetas de pago, etc.)
  • Cada zona que se utilice para controlar acceso a los sistems UNIX debe tener definida sus reglas para el control de identidades UNIX (UID, GID, login, Shell, GECOS).  La consola Access Manager proporciona múltiples opciones, pero la más común es:
    • El login es la cuenta de usuario del AD samAccountName  (username)
    • UID/GID la mejor opción es generar un número único basado en el SID.  El SID es el SystemIdentifier en el AD.
    • El campo GECOS usualmente es el Display Name del AD (Nombre + Apellido)
    • Los campos Home y Shell usan variables para especificar lo que defina el sistema.  Esto puede ser bastante conveniente.
  • Para cada zona dedicada para UNIX, los mecanismos de aprovisionamiento deben ser planeados (manual, automático, etc)
  • Las identidades se otorgan al nivel de la zona.  Las desviaciones y cambios a nivel de la sub-zona y sistema se consideran excepciones al proceso.
  • Los privilegios (RBAC) se otorgan al idealmente nivel del grupo de sistemas;  cualquier desviación es una excepción.
Como hemos definido en este blog, el diseño de una zona se debe acatar a la metodología de Planear-Ejecutar-Verificar y Ajustar


¿Qué es el modo AutoZone?


AutoZone (AZ) es un modo de operación del agente de Centrify que permite que los sistemas UNIX, Linus o Mac ingresen al dominio sin restricciones de acceso para cualquier usuario del dominio AD local (o dominios confiados); efectivamente el sistema actua como una estación de trabajo normal.
El modo AutoZone es el único modo de operación de Centrify Express para UNIX/Linux;  aunque este escenario es deseable en algunas instancias, no se alinea con el principio de minimo acceso, o sea que sistemas con información u operaciones sensitivas no deben ser implementados en este modo de operación.

Otras desventajas del modo AutoZone son: 
  • Hay que ser cuidadoso con la planeación.  En dominios con decenas de miles de usuarios las operaciones de cacheo son intensivas al desempeño del sistema. La regla es que si hasy mas de 1500 usuarios en el dominio, hay que establecer filtros o moverse a modo de Zonas.
  • El modo AutoZone (express) no permite la manipulación de datos de identidad (login, UID, GID, etc)
  • AutoZone no proporciona la gestión basada en roles (RBAC).  No hay agrupación de sistemas, etc.\
Este modo de operación será contemplado de manera limitada en este blog.

martes, 31 de diciembre de 2013

Conceptos Básicos: Cómo se identifican los usuarios en los sistemas UNIX y en el Directorio Activo

En UNIX: Identificadores Únicos y demás....


Los usuarios en UNIX  son identificados en el sistema por un identificador único (UID, siglas en Inglés);  sin embargo una identidad completa en UNIX consta de mucho más.  Como observación, para ser una estructura tan sencilla, ha pasado la prueba del tiempo:
  1. Login o nombre de usuario:  es el nombre de la cuenta en un formato legible.  El login debe planearse debido a las limitaciones de ciertas distribuciones de UNIX (como AIX y HP-UX).  
  2. UID:  identificador único (unique identifier o UID en inglés)r.  El número que asigna el sistema operativo a los archivos y carpetas;  procesa permisos y demás. Típicamente los UID del O al 100 son reservados.  La cuenta de súper usuario (root) tiene el UID 0.
  3. Identificador de Grupo (Group ID o GID en Inglés):  Es el grupo primario del usuario.  En sistemas modernos existe el concepto de auto-grupo.  Esto indica que el grupo del usuario es el mismo UID.
  4. Campo GECOS (descripción):  Este es un campo para descripción.  Puede ser el nombre completo del usuario, su título o extensión telefónica. 
  5. Carpeta o directorio de Inicio (Home en Inglés): Ubicación de los archivos del   usuario Usualmente/home o  /exports/home o el estándar de la empresa.
  6. Intérprete de Comandos (o Shell en Inglés):  El intérprete de comandos para el usuario final.  Requiere de planificación ya que no todos los intérpretes se instalan pro defecto en todos los sistemas.
La identidad de los usuarios en sistemas independientes es almacenada en el archivo /etc/passwd.  El formato es el siguiente:  (los dos puntos son el separador)

nombre de usuario : contraseña cifrada (no se usa): UID : GID : Campo GECOS : Carpeta de Inicio : Intérprete de comandos

Ejemplo:
nombre de usuario: juan.perez
UID/GID: 305
GECOS: Juan A. Perez
Inicio: /home/jim
Intérprete: /bin/bash
juan.perez::305:305:Juan A. Perez:/home/juan.perez:/bin/bash
Excelente simplicidad!!!!

En Directorio Activo:  ¿Qué es el UPN?

En el Directorio Activo, las cosas funcionan de manera diferente ya que este es un servicio de directorio LDAP  esto quiere decir que hay muchos campos que deben mucho al legado del estándar x.500:

Notas:  Cuando se crea un usuario en el AD, solo hay que especificar el nombre de usuario, el primer nombre, iniciales, apellido y contraseña.  Sin embargo, es un poco más complejo porque crea los siguientes campos:
  1. El User Principal Name o UPN en Inglés:  es el identificador en el formato de <usuario>@nombre del dominio
  2. sAMAccountName: este campo es el nombre corto (<20 caracteres)
  3. Identificador Unico (o System Identifier, SID en inglés):   En el AD se le llama "Object SID". Continene el identificador del dominio más un identificador global.
Al observar en mas detalles el usuario, podemos ver mucho más información:

Dn: CN=Juan Perez,OU=IT,OU=Staff,DC=contoso,DC=com
accountExpires: 9223372036854775807 (never);
badPasswordTime: 0 (never);
badPwdCount: 0;
cn: Jim Brown;
codePage: 0;
countryCode: 0;
displayName: Juan Perez;
distinguishedName: CN=Juan Perez,OU=IT,OU=Staff,DC=contoso,DC=com;
dSCorePropagationData: 0x0 = (  );
givenName: Jim;
instanceType: 0x4 = ( WRITE );
lastLogoff: 0 (never);
lastLogon: 0 (never);
logonCount: 0;
name: Juan Perez;
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=contoso,DC=com;
objectClass (4): top; person; organizationalPerson; user;
objectGUID: 6698f079-e870-43be-9c14-02260dfbafff;
objectSid: S-1-5-21-3571224596-3006733700-3057749774-1297;
primaryGroupID: 513 = ( GROUP_RID_USERS );
pwdLastSet: 12/10/2013 9:28:34 PM Eastern Standard Time;
sAMAccountName: juan.perez;
sAMAccountType: 805306368 = ( NORMAL_USER_ACCOUNT );
sn: Brown;
userAccountControl: 0x200 = ( NORMAL_ACCOUNT );
userPrincipalName: juan.perez@contoso.com;
uSNChanged: 282804;
uSNCreated: 282799;
whenChanged: 12/10/2013 9:28:34 PM Eastern Standard Time;
whenCreated: 12/10/2013 9:28:34 PM Eastern Standard Time;

Note la cantidad de campos adicionales que fueron creados., muchos de estos son internos para el servicio de directorio como el DN.  Este es el formato x.500 de la ubicación del objeto de usuario.  Básicamente explica que el objeto está bajo una carpeta llamada IT Staff.
Dependiendo de la versión del esquema (schema en Inglés) del Directorio Activo, es posible que se incluyan mas campos por defecto.  Por ejemplo, si el esquema contiene las extensiones del servidor de correos Microsoft Exchange, dependiendo de las reglas una dirección de correo electrónico sea configurada.  Note que el correo electrónico no es necesariamente igual al campo UserPrincipalName.

Entonces, ¿Qué es el Esquema?
Bajo el contexto de las bases de datos, un esquema (o diccionario de datos) define los campos (o atributos) que se pueden definir para un tipo de objeto.  Por ejemplo, las páginas blancas tienen un esquema muy sencillo:
Apellido, Primer Nombre, Inicial
Dirección
Número de teléfono

Si se decide mañana que el correo electrónico debe ser incluido en las páginas blancas, entonces se debe extender el esquema de esta base de datos.  Hay que considerar:

  • ¿Cuántos caracteres son permitidos antes del símbolo de arroba (@)?
  • ¿Se va a verificar la validez del dominio de correos?
Estas dos simples preguntas tienen impacto en el tamaño del almacenamientos y el proceso de implementación.  Sin embargo, si mañana resulta ser que la inclusión del correo electrónico es una mala idea por lo dinámico de esta información, pues hay que eliminar este campo.  En el caso de servicios de directorio, la decisión no es trivial (y en algunos casos imposible)

En una entrada anterior, propuse que el Administrador de Sistemas Windows se preocupa por el potencial uso de extensiones al esquema de AD.  Esta es la razón:  Si se extiende el esquema y la solución falla, ya el directorio no se puede restaurar al estado original y el espacio es parte del esquema.

La preocupación del administrador es muy válida ya que no es hasta que la solución ha sido probada en producción que se puede evaluar su éxito.
El beneficio de usar a Centrify es que usa el esquema nativo del directorio activo.  Desde la versión 31 (incluida en Windows Server 2003 R2) la especificación RFC 2307 fue incluida en el esquema del AD.  O sea que no hay preocupaciones para el administrador.

jueves, 26 de diciembre de 2013

Conceptos Básicos: El Directorio Activo

Un Directorio Evolucionado
El Directorio Activo (o Active Directory (AD) en Inglés) es el servicio de directorio. Se introdujo en Windows 2000 como sucesor de NTDS 4.0 (Servicios de Directorio de Windows NT 4.0).  Microsoft tomo muy buenas decisiones al diseñar el AD, ya que combinó una infraestructura de autenticación basada en el protocolo Kerberos de MIT para aumentar sus capacidades.
El Servicio AD no solo almacena usuarios, computadoras, impresoras, carpetas compartidas, etc.; sino que también, desde la versión 31 (Windows Server 2003 R2) incluye las definiciones del esquema RFC 2307 (veremos este tema más adelante).

En resumen, el Directorio Activo de Microsoft proporciona:
  • Un servicio de directorio LDAP que tiene la capacidad de asegurar objetos con controles de acceso discrecional (objetos asegurables)
  • Una infraestructura de autenticación basada en Kerberos de MIT
  • Directiva de Grupo, para el reforzamiento de políticas de seguridad y gestión de configuraciones
  • Una Entidad de Certificación  que usa la directiva de grupo para la gestión de certificados digitales.
  • Una infraestructura altamente disponible y con capacidad de crecimiento para satisfacer las necesidades de las mas grandes empresas.
Conceptos Básicos del Directorio Activo
Para una explicación profunda, lea este artículo.  Los conceptos básicos son importantes para el aprendizaje del tema en general.
 
ComponenteDescripción
Unidades OrganizativasLas OU (siglas en Inglés) son como carpetas.  Se usan para organizar objetos en el directorio de manera consistente de acuerdo al modelo de gestión adoptado por la empresa.
DominiosLos dominios son contenedores que comparten una base de datos y políticas de seguridad en común.  Piense en ellos como una unidad de administración.  Cada dominio puede alojar millones de objetos.
Arboles de DominiosSon estructuras jerárquicas.  Tienen nombres contiguos, como en el esquema DNS.  Por ejemplo.  sub1.contoso.com y sub2.contoso.com son subdominios del arbol de dominio contoso.com
BosquesUn bosque es una instancia completa del AD.  Puede contener múltiples dominios y comparte la misma estructura global, esquema de la base de datos y configuración.  Los bosques son fronteras de seguridad.
Sitios y ServiciosLos sitios son colecciones de redes conectadas configuradas bajo conexiones de alta velocidad.  Comúnmente una WAN separa los sitios.
Los servicios se asocian a sitios, de manera que los clientes del directorio puedan conectarse a los servidores óptimos.




Resolución de Nombres
El Directorio Activo depende del servicio DNS para proporcionar resolución de nombre de sistemas a dirección IP.  Y el directorio posee la capacidad de almacenar la base de datos DNS dentro de la misma, esto hace que esta base de datos sea replicada y altamente disponible.  Sin embargo, es posible usar servidores como BIND para alojar las zonas del directorio activo, lo único que se requiere es la capacidad de usar "SRV records" para localizar los servidores del directorio.

Domain Controllers
Las Controladoras de Dominio (DC, siglas en Inglés) almacenan una copia de la base de datos del Directorio Activo.  Las DC retornan los resultados de búsquedas LDAP, procesan requerimientos de autenticación (Kerberos), presentan objetos de configuración (directiva de grupo) a los clientes del directorio.  Las comunicaciones entre las DC y los clientes son cifradas.  Hay varios tipos de DCs:
Çatálogos Globales - Contienen un subconjunto de los atributos de todos los objetos del bosque.
RODCs - Controladoras de dominio que son de solo escritura.
Maestras de Operaciones (FSMO en Inglés) - estas son DCs que tienen roles especiales.  Para más información vea este articulo.

Puntos de Conexión
De acuerdo a Microsoft Technet:   "Un punto de conexión representa una ó más instancias de un servicio que está disponible en la red" Centrify usa puntos de conexión de servicio para establecer múltiples instancias de identidades para objetos en el AD.
 
Por ahora estos conceptos son suficientes.  Las secciones denominadas "Conceptos Básicos" cubrirán más temas de esta índole.