GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

Crear una relación de confianza unidireccional en Windows Server 2003 R2


En diferentes situaciones, como por ejemplo al trabajar en entornos de Intranet y Extranet con diferentes bosques de Directorios Activos, resulta de gran utilidad la creación de relaciones de confianza unidireccionales entre diferentes dominios de Directorio Activo, para así, poder conceder permisos de accesos a los usuarios de un dominio, sobre los recursos del otro. El presente artículo describe la creación de una relación de confianza unidireccional no transitiva entre dos dominios de bosques distintos en Windows Server 2003 R2.

En diferentes ocasiones nos puede resultar de gran utilidad crear relaciones de confianza entre dominios de diferentes bosques de Directorio Activo. En el caso de SharePoint (principal motivo por el que me he decidido a escribir este artículo), es bastante habitual plantearse tener un entorno de Intranet y un entorno de Extranet (este último, muy probablemente en la DMZ o red perimetral), separados por un Firewall, de tal modo, que la Extranet tenga su propio bosque de Directorio Activo, mientras que la Intranet hospedará uno o varios bosques de Directorio Activo para albergar todos los dominios internos (lo describo así, ya que en grandes cuentas, es bastante habitual tener incluso múltiples bosques, debido a procesos de adquisición y fusión de empresas, así como también por diferentes motivos de diseño y seguridad).

Por lo tanto, en caso de que tengamos entornos de Intranet y Extranet, indiferentemente de que se trate de SharePoint 2007 o de SharePoint 2010, muy probablemente acabemos necesitando crear una relación de confianza unidireccional entre la Extranet y la Intranet, de tal modo que los usuarios de la Intranet (es decir, de los dominios internos) puedan acceder a los recursos de la Extranet (es decir, a SharePoint).

Al respecto, a nivel de SharePoint existen diversas topologías que podemos utilizar. Por ejemplo, podemos tener dos Granjas de SharePoint (una Interna y otra Externa) y copiar algunos contenidos entre las Granjas utilizando el Content Deployment. O quizás, nos interese una topología Split Back-to-Back, con una única Granja de SharePoint montada sobre la red interna, pero con servidores de SharePoint en la red externa (que pertenecerán al dominio de la Extranet, pero utilizando cuentas de servicio de la red interna, para arrancar servicios de SharePoint, Application Pools, conectar a los SQL Server  de la red interna, etc.). Hay literatura y casuísticas para rato.

A continuación vamos a presentar paso a paso la creación de una relación de confianza unidireccional y no transitiva entre dos dominios de dos bosques diferentes en Windows Server 2003 R2. El dominio guillesql.local representará la red interna, mientras que el dominio yolinet.local representará la red externa, ambos utilizando direccionamientos distintos, enrutados a través de un ISA Server. Esta configuración la realizaremos en dos pasos:

  • Crear la relación de confianza unidireccional en la Extranet. Deberemos especificar el nombre del dominio contra el que se desea crear la relación (guillesql.local), el sentido de la relación (One-way outgoing), el nivel de autenticación (Domain-wide), y la contraseña de la relación. Dejaremos habilitado el SID filtering (esta configuración es habilitada por defecto durante la creación de la relación). En este paso, no confirmaremos la relación (Trust).
  • Crear la relación de confianza unidireccional en la Intranet, y confirmar la relación de confianza. Deberemos especificar el dominio contra el que se desea crear la relación (yolinet.local), el sentido de la relación (One-way incoming), y la contraseña de la relación. Seguidamente, confirmaremos la relación (Trust).

Téngase en cuenta, que en otros escenarios, estas tareas serán realizadas por personal distinto e independiente. Por ejemplo, si se tratase de dos empresas que desean establecer una relación de confianza para compartir información entre ellas, probablemente los administradores de Directorio Activo de cada empresa, configurarán en su Directorio Activo la relación de confianza. Del mismo modo, deberán de realizar las correspondientes configuraciones en su infraestructura de DNS para garantizar que funciona correctamente la resolución de los nombres del dominio contra el que se crea la relación de confianza (Trust).

Para crear una relación de confianza, se debe definir una contraseña para dicha relación de confianza, de tal modo, que se utilizará la misma contraseña tanto para crear la relación de confianza en un dominio, como para crearla en el otro (y evidentemente, debe ser la misma). Luego, habrá que ponerse de acuerdo (en el caso, de Dominios de diferentes empresas), y será necesario custodiarla (KeePass, o lo que más odiemos).

Volvemos a insistir en que debe funcionar correctamente tanto la comunicación (ej: enrutamiento y configuración de red en los diferentes servidores y equipos de trabajo) como la resolución de nombres DNS. En lo relacionado a DNS, suele recurrirse a la creación de zonas secundarias o bien a los reenviadores condicionales (Conditional Forwarders).

El Nivel de Autenticación (Domain-wide/Forest-wide y Selective Authentication) y el SID Filtering

Existe un par de opciones interesantes que podemos configurar durante la creación de una relación de confianza (Trust).

El Nivel de Autenticación (Authentication Level) nos permite especificar si deseamos (o no) que cualquier usuario pueda autenticarse a través de la relación de confianza. Me explico. Tenemos dos posibles opciones para esta configuración.

  • Domain-wide/Forest-wide. Si lo configuramos como Domain-wide/Forest-wide, cualquier usuario por defecto podrá autenticarse a través de la relación de confianza, por lo tanto, tan sólo será necesario conceder los permisos deseados a los usuarios sobre los recursos. Es la forma más fácil, y la más habitual (o al menos, lo que yo más me he encontrado).
  • Selective Authentication. Si lo configuramos como Selective Autentication, por defecto, ningún usuario podrá autenticarse a través de la relación de confianza. Es decir, para que un usuario pueda acceder a un servidor del dominio externo a través de la relación de confianza, primero deberemos conceder explícitamente permisos de autenticación sobre la cuenta de equipo (Allowed to Authenticate), utilizando la herramienta administrativa Active Directory User and Computer (ADUC). Seguidamente, deberemos conceder los permisos deseados para el usuario sobre dicho equipo. Más seguro, pero también, algo más complicado.

Para más detalles sobre la configuración del Nivel de Autenticación (Authentication Level) de una relación de confianza, puede consultarse en TechNet la siguiente referencia: Configuring Selective Authentication Settings.

El SID Filtering se habilita por defecto al crear una nueva relación de confianza (Trust) externa en Windows Server 2003 R2, aunque si lo necesitásemos, podríamos deshabilitar SID Filtering utilizando la utilidad de línea de comandos NETDOM.EXE. Cuando tenemos habilitado SID Filtering en una relación de confianza, se consigue que cuando un usuario accede a recursos a través de dicha relación de confianza, no pueda utilizar el SID History. Recordemos que el SID History es una propiedad, mediante la cual podemos añadir a una cuenta de usuario un SID adicional, por ejemplo de una cuenta anterior del usuario (el SID es el identificador único de cualquier objeto en Directorio Activo, como una cuenta de usuario o de equipo). Esto se utiliza habitualmente durante las migraciones/consolidaciones de Directorio Activo, de tal modo que se pueda crear un nuevo dominio, con las correspondientes cuentas de usuario, utilizando el SID History para garantizar que los usuarios que han sido migrados pueden seguir accediendo a sus recursos. Por desgracia, las bondades del SID History podrían ser aprovechadas por un Hacker, y de aquí, que por defecto se habilite el SID Filtering al crear una nueva relación de confianza (Trust) de tipo External.

Para más detalles sobre la configuración del SID Filtering en una relación de confianza, puede consultarse en TechNet la siguiente referencia: Configuring SID Filtering Settings.

Llegados a este punto, empezamos con la parte práctica.

Crear la relación de confianza unidireccional en la Extranet

Abrimos la herramienta administrativa Active Directory Domains and Trusts, y mostramos el diálogo de propiedades del dominio deseado.

Abrimos la herramienta administrativa Active Directory Domain and Trust, y mostramos el diálogo de propiedades del dominio deseado.

Seleccionamos la pestaña Trusts, y seguidamente click en New Trust

Seleccionamos la pestaña Trusts, y seguidamente click en New Trust.

En la pantalla de bienvenida del asistente de creación de una nueva relación de confianza (Trust), click Next para continuar.

En la pantalla de bienvenida del asistente de creación de una nueva relación de confianza (Trust), click Next para continuar.

En la pantalla Trust Name, especificamos el nombre de la relación de confianza que deseamos crear, es decir, del dominio contra el cuál queremos crear dicha relación de confianza. En nuestro caso de ejemplo, como estamos en la Extranet (yolinet.local), deberemos especificar el dominio de la Intranet (guillesql.local). Click Next para continuar.

En la pantalla Trust Name, especificamos el nombre de la relación de confianza que deseamos crear, es decir, del dominio contra el cuál queremos crear dicha relación de confianza. En nuestro caso de ejemplo, como estamos en la Extranet (yolinet.local), deberemos especificar el dominio de la Intranet (guillesql.local). Click Next para continuar.

En la pantalla Direction of Trust, deberemos especificar el sentido o dirección de la relación de confianza (Trust) que estamos creando. En nuestro caso de ejemplo, estamos en la Extranet y deseamos crear una relación de confianza unidireccional en sentido saliente contra el dominio de la Intranet, es decir, que la Extranet confíe en los usuarios de la Intranet, de tal modo que se puedan conceder permisos a los usuarios de la Intranet sobre los recursos de la Extranet. Por ello, seleccionaremos la opción One-way: outgoing. Click Next para continuar.

En la pantalla Direction of Trust, deberemos especificar el sentido o dirección de la relación de confianza (Trust) que estamos creando. En nuestro caso de ejemplo, estamos en la Extranet y deseamos crear una relación de confianza unidireccional en sentido saliente contra el dominio de la Intranet, es decir, que la Extranet confíe en los usuarios de la Intranet, de tal modo que se puedan conceder permisos a los usuarios de la Intranet sobre los recursos de la Extranet. Por ello, seleccionaremos la opción One-way: outgoing. Click Next para continuar. 

En la pantalla Sides of Trust, deberemos especificar si deseamos crear la relación sólo en el dominio actual o en ambos dominios. En nuestro caso de ejemplo seleccionaremos la opción para crear la relación de confianza sólo sobre el dominio actual (This domain only), con la idea de simular el caso en que se desea generar una relación de confianza entre dominios de dos empresas diferentes, de tal modo que los administradores de cada dominio crean la relación de confianza sólo sobre su propio dominio.

En la pantalla Sides of Trust, deberemos especificar si deseamos crear la relación sólo en el dominio actual o en ambos dominios. En nuestro caso de ejemplo seleccionaremos la opción para crear la relación de confianza sólo sobre el dominio actual (This domain only), con la idea de simular el caso en que se desea generar una relación de confianza entre dominios de dos empresas diferentes, de tal modo que los administradores de cada dominio crean la relación de confianza sólo sobre su propio dominio.

En la pantalla Outgoing Trust Authentication Level, deberemos seleccionar el Nivel de Autenticación deseado para nuestra relación de confianza. En nuestro caso de ejemplo, seleccionaremos la opción Domain-wide authentication. Click Next para continuar.

En la pantalla Outgoing Trust Authentication Level, deberemos seleccionar el Nivel de Autenticación deseado para nuestra relación de confianza. En nuestro caso de ejemplo, seleccionaremos la opción Domain-wide authentication. Click Next para continuar.

En la pantalla Trust Password, deberemos especificar la contraseña deseada para nuestra relación de confianza (Trust). Click Next para continuar.

En la pantalla Trust Password, deberemos especificar la contraseña deseada para nuestra relación de confianza (Trust). Click Next para continuar.

En la pantalla Trust Selections Complete, revisaremos toda la información resumida para la relación de confianza (Trust) que vamos a crear, y si estamos de acuerdo, click Next para continuar y crear la relación de confianza.

En la pantalla Trust Selections Complete, revisaremos toda la información resumida para la relación de confianza (Trust) que vamos a crear, y si estamos de acuerdo, click Next para continuar y crear la relación de confianza.

La relación de confianza ha sido creada con éxito. Click Next para continuar.

La relación de confianza ha sido creada con éxito. Click Next para continuar.

En la pantalla Confirm Outgoing Trust, especificaremos que no deseamos confirmar aún nuestra relación de confianza (Trust), ya que hasta que no esté creado en ambos extremos (tanto Intranet como Extranet), no deberemos realizar la confirmación. Click Next para continuar.

En la pantalla Confirm Outgoing Trust, especificaremos que no deseamos confirmar aún nuestra relación de confianza (Trust), ya que hasta que no esté creado en ambos extremos (tanto Intranet como Extranet), no deberemos realizar la confirmación. Click Next para continuar.

Llegados a este punto, la relación de confianza ya estará creada en este Dominio de Directorio Activo. Sin embargo, deberemos crearla en el otro extremo (es decir, en el otro Dominio) y confirmarla, para que pueda empezar a utilizarse.

Llegados a este punto, la relación de confianza ya estará creada en este Dominio de Directorio Activo. Sin embargo, deberemos crearla en el otro extremo (es decir, en el otro Dominio) y confirmarla, para que pueda empezar a utilizarse.

Se mostrará una ventana de diálogo informándonos de que SID Filtering está habilitado, algo que se realiza por defecto al crear una relación de confianza (Trust) de tipo External en Windows Server 2003 R2. Click OK.

Se mostrará una ventana de diálogo informándonos de que SID Filtering está habilitado, algo que se realiza por defecto al crear una relación de confianza (Trust) de tipo External en Windows Server 2003 R2. Click OK.

Ahora ya podemos ver la nueva relación de confianza (Trust) en la herramienta administrativa Active Directoy Domain and Trusts.

Ahora ya podemos ver la nueva relación de confianza (Trust) en la herramienta administrativa Active Directoy Domain and Trusts.

Crear la relación de confianza unidireccional en la Intranet

Abrimos la herramienta administrativa Active Directory Domains and Trusts, y mostramos el diálogo de propiedades del dominio deseado.

Abrimos la herramienta administrativa Active Directory Domains and Trusts, y mostramos el diálogo de propiedades del dominio deseado.

Seleccionamos la pestaña Trusts, y seguidamente click en New Trust.

Seleccionamos la pestaña Trusts, y seguidamente click en New Trust.

En la pantalla de bienvenida del asistente de creación de una nueva relación de confianza (Trust), click Next para continuar.

En la pantalla de bienvenida del asistente de creación de una nueva relación de confianza (Trust), click Next para continuar.

En la pantalla Trust Name, especificamos el nombre de la relación de confianza que deseamos crear, es decir, del dominio contra el cuál queremos crear dicha relación de confianza. En nuestro caso de ejemplo, como estamos en la Intranet (guillesql.local), deberemos especificar el dominio de la Extranet (yolinet.local). Click Next para continuar.

En la pantalla Trust Name, especificamos el nombre de la relación de confianza que deseamos crear, es decir, del dominio contra el cuál queremos crear dicha relación de confianza. En nuestro caso de ejemplo, como estamos en la Intranet (guillesql.local), deberemos especificar el dominio de la Extranet (yolinet.local). Click Next para continuar.

En la pantalla Direction of Trust, deberemos especificar el sentido o dirección de la relación de confianza (Trust) que estamos creando. En nuestro caso de ejemplo, estamos en la Intranet y deseamos crear una relación de confianza unidireccional en sentido entrante contra el dominio de la Extranet, es decir, que la Extranet confíe en los usuarios de la Intranet, de tal modo que se puedan conceder permisos a los usuarios de la Intranet sobre los recursos de la Extranet. Por ello, seleccionaremos la opción One-way: incoming. Click Next para continuar.

En la pantalla Direction of Trust, deberemos especificar el sentido o dirección de la relación de confianza (Trust) que estamos creando. En nuestro caso de ejemplo, estamos en la Intranet y deseamos crear una relación de confianza unidireccional en sentido entrante contra el dominio de la Extranet, es decir, que la Extranet confíe en los usuarios de la Intranet, de tal modo que se puedan conceder permisos a los usuarios de la Intranet sobre los recursos de la Extranet. Por ello, seleccionaremos la opción One-way: incoming. Click Next para continuar.

En la pantalla Sides of Trust, deberemos especificar si deseamos crear la relación sólo en el dominio actual o en ambos dominios. En nuestro caso de ejemplo seleccionaremos la opción para crear la relación de confianza sólo sobre el dominio actual (This domain only), con la idea de simular el caso en que se desea generar una relación de confianza entre dominios de dos empresas diferentes, de tal modo que los administradores de cada dominio crean la relación de confianza sólo sobre su propio dominio.

En la pantalla Sides of Trust, deberemos especificar si deseamos crear la relación sólo en el dominio actual o en ambos dominios. En nuestro caso de ejemplo seleccionaremos la opción para crear la relación de confianza sólo sobre el dominio actual (This domain only), con la idea de simular el caso en que se desea generar una relación de confianza entre dominios de dos empresas diferentes, de tal modo que los administradores de cada dominio crean la relación de confianza sólo sobre su propio dominio.

En la pantalla Trust Password, deberemos especificar la contraseña deseada para nuestra relación de confianza (Trust). Debe ser la misma contraseña que utilizamos al crear la relación de confianza en la Extranet. Click Next para continuar.

En la pantalla Trust Password, deberemos especificar la contraseña deseada para nuestra relación de confianza (Trust). Debe ser la misma contraseña que utilizamos al crear la relación de confianza en la Extranet. Click Next para continuar.

En la pantalla Trust Selections Complete, revisaremos toda la información resumida para la relación de confianza (Trust) que vamos a crear, y si estamos de acuerdo, click Next para continuar y crear la relación de confianza.

En la pantalla Trust Selections Complete, revisaremos toda la información resumida para la relación de confianza (Trust) que vamos a crear, y si estamos de acuerdo, click Next para continuar y crear la relación de confianza.

La relación de confianza ha sido creada con éxito. Click Next para continuar.

La relación de confianza ha sido creada con éxito. Click Next para continuar.

En la pantalla Confirm Outgoing Trust, especificaremos que deseamos confirmar nuestra relación de confianza (Trust), ya que en este momento la relación de confianza ya ha sido creada en ambos extremos (tanto en Intranet como en Extranet). Deberemos especificar unas credenciales con suficientes privilegios en el dominio sobre el cual hemos creado la relación de confianza. Click Next para continuar.

En la pantalla Confirm Outgoing Trust, especificaremos que deseamos confirmar nuestra relación de confianza (Trust), ya que en este momento la relación de confianza ya ha sido creada en ambos extremos (tanto en Intranet como en Extranet). Deberemos especificar unas credenciales con suficientes privilegios en el dominio sobre el cual hemos creado la relación de confianza. Click Next para continuar.

Llegados a este punto, la relación de confianza (Trust) ya estará creada en ambos Dominios (Intranet y Extranet), y además está confirmada, por lo que ya estamos en situación de empezar a utilizarla. Genial. Click Finish.

Llegados a este punto, la relación de confianza (Trust) ya estará creada en ambos Dominios (Intranet y Extranet), y además está confirmada, por lo que ya estamos en situación de empezar a utilizarla. Genial. Click Finish.

Efectivamente, ya podemos ver la nueva relación de confianza (Trust) en la herramienta administrativa Active Directoy Domain and Trusts.

Efectivamente, ya podemos ver la nueva relación de confianza (Trust) en la herramienta administrativa Active Directoy Domain and Trusts.

Comprobar el funcionamiento de la Relación de Confianza (en la Extranet)

Ahora que ya hemos creado nuestra relación de confianza (Trust), tan sólo nos queda probarla. Para ello, desde una máquina perteneciente al dominio de la Extranet, deberemos poder comprobar que en la ventana de Logon podemos especificar cualquiera de los dos dominios, el dominio de la red interna (Intranet) o el dominio de la red externa (Extranet).

Ahora que ya hemos creado nuestra relación de confianza (Trust), tan sólo nos queda probarla. Para ello, desde una máquina perteneciente al dominio de la Extranet, deberemos poder comprobar que en la ventana de Logon podemos especificar cualquiera de los dos dominios, el dominio de la red interna (Intranet) o el dominio de la red externa (Extranet).

Además, ahora podremos realizar tareas tales como añadir usuarios grupos de la Intranet como miembros de grupos de la Extranet, o bien, conceder permisos sobre recursos a usuarios o grupos de la Intranet (ya sea directamente, o indirectamente utilizando un grupo de la Extranet que a su vez tiene como miembros a usuarios y/o grupos de la Intranet).

Poco más por hoy. Como siempre, confío que la lectura resulte de interés.

 


Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Junio de 2017 (3)
Mayo de 2017 (1)
Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Copyright © 2007 GuilleSQL, todos los derechos reservados.