Configuración del modo de transporte de IPsec para emparejamiento privado de ExpressRoute
Este artículo le ayuda a crear túneles IPsec en el modo de transporte a través del emparejamiento privado de ExpressRoute. El túnel se crea entre las máquinas virtuales de Azure que ejecutan Windows y los hosts de Windows locales. Los pasos descritos en este artículo para esta configuración usan objetos de directiva de grupo. Aunque es posible crear esta configuración sin usar unidades organizativas (UO) y objetos de directiva de grupo (GPO). La combinación de unidades organizativas y GPO ayudará a simplificar el control de las directivas de seguridad y permite escalar verticalmente de forma rápida. Según los pasos descritos en este artículo, se supone que ya tiene una configuración de Active Directory y que está familiarizado con el uso de unidades organizativas y GPO.
Acerca de esta configuración
La configuración en los pasos siguientes utiliza una única red virtual de Azure (VNet) con el emparejamiento privado de ExpressRoute. Sin embargo, esta configuración puede abarcar varias redes virtuales de Azure y redes locales. Este artículo le ayuda a definir una directiva de cifrado IPsec que puede aplicar a un grupo de máquinas virtuales de Azure y hosts locales. Estas máquinas virtuales de Azure o hosts locales forman parte de la misma unidad organizativa. Configure el cifrado entre las máquinas virtuales de Azure (vm1 y vm2) y el host1 local solo para tráfico HTTP con el puerto de destino 8080. Se pueden crear diferentes tipos de directiva IPsec según sus requisitos.
Funcionamiento con unidades organizativas
La directiva de seguridad asociada a una unidad organizativa se inserta en los equipos a través de GPO. A continuación, se indican algunas ventajas del uso de unidades organizativas en lugar de aplicar directivas a un único host:
- La asociación de una directiva a una unidad organizativa garantiza que los equipos que pertenecen a la misma UO obtengan las mismas directivas.
- Cambiar la directiva de seguridad asociada a la unidad organizativa aplica los cambios a todos los hosts de la UO.
Diagramas
El siguiente diagrama muestra la interconexión y el espacio de direcciones IP asignadas. Las máquinas virtuales de Azure y el host local ejecutan Windows 2016. Las máquinas virtuales de Azure y el host1 local forman parte del mismo dominio. Las máquinas virtuales de Azure y los hosts locales pueden resolver nombres correctamente mediante DNS.
Este diagrama muestra los túneles de IPsec en tránsito en el emparejamiento privado de ExpressRoute.
Funcionamiento con directivas IPsec
En Windows, el cifrado se asocia a la directiva IPsec. La directiva IPsec determina qué tráfico IP está protegido y el mecanismo de seguridad que se aplica a los paquetes IP. Las directivas IPSec están formadas por los siguientes elementos: Listas de filtros, Acciones de filtrado y Reglas de seguridad.
Al configurar la directiva IPsec, es importante comprender la terminología siguiente de directiva IPsec:
Directiva de IPsec: una colección de reglas. Solo puede haber una directiva activa ("asignada") en un momento dado. Cada directiva puede tener una o varias reglas, que pueden estar activas simultáneamente. Se puede asignar solo una directiva IPsec activa al mismo tiempo a un equipo. Sin embargo, dentro de la directiva IPsec, puede definir varias acciones que pueden tomarse en distintas situaciones. Cada conjunto de reglas de IPsec está asociado a una lista de filtros que afecta al tipo de tráfico de red al que se aplica la regla.
Listas de filtros: son la agrupación de uno o varios filtros. Una lista puede incluir varios filtros. Un filtro define si la comunicación se bloquea, se permite o se protege según los criterios siguientes: Intervalos de direcciones IP, protocolos o incluso puertos específicos. Cada filtro coincide con un determinado conjunto de condiciones; por ejemplo, los paquetes enviados desde una subred determinada a un equipo concreto en un puerto de destino específico. Cuando las condiciones de red coinciden con uno o varios de esos filtros, se activa la lista de filtros. Cada filtro se define dentro de una lista de filtros específicos. Los filtros no se pueden compartir entre listas de filtros. Sin embargo, una lista de filtros determinada se puede incorporar a varias directivas IPsec.
Acciones de filtrado: un método de seguridad define un conjunto de algoritmos de seguridad, protocolos y la clave que un equipo ofrece durante las negociaciones de IKE. Las acciones de filtrado son listas de métodos de seguridad clasificados por orden de preferencia. Cuando un equipo negocia una sesión de IPsec, acepta o envía propuestas en función de la configuración de seguridad almacenada en la lista de acciones de filtro.
Reglas de seguridad: las reglas determinan cómo y cuándo una directiva IPsec protege la comunicación. Usa la lista de filtros y las acciones de filtrado para crear una regla de IPsec para compilar la conexión IPsec. Cada directiva puede tener una o varias reglas, que pueden estar activas simultáneamente. Cada regla contiene una lista de filtros IP y una colección de acciones de seguridad que tienen lugar cuando se produce una coincidencia con esa lista de filtros:
- Acciones de filtrado IP
- Métodos de autenticación
- Configuración del túnel IP
- Tipos de conexión
Antes de empezar
Asegúrese de que se cumplen los siguientes requisitos previos:
Debe tener una configuración funcional de Active Directory que pueda usar para implementar la configuración de directiva de grupo. Para obtener más información acerca de los GPO, consulte Group Policy Objects (Objetos de directiva de grupo).
Tiene que tener un circuito ExpressRoute activo.
- Para más información acerca de cómo configurar un circuito ExpressRoute, consulte Creación de un circuito ExpressRoute.
- Compruebe que el proveedor de conectividad ha habilitado el circuito.
- Compruebe que dispone de un emparejamiento privado de Azure configurado para el circuito. Consulte el artículo de configuración del enrutamiento para obtener instrucciones sobre el enrutamiento.
- Compruebe que ha creado y aprovisionado totalmente una red virtual y una puerta de enlace de red virtual. Siga las instrucciones para crear una puerta de enlace de red virtual en ExpressRoute. Una puerta de enlace de red virtual para ExpressRoute usa el GatewayType ExpressRoute, no VPN.
La puerta de enlace de red virtual de ExpressRoute debe estar conectada al circuito ExpressRoute. Para obtener más información, consulte Conexión de una red virtual a un circuito ExpressRoute.
Compruebe que las máquinas virtuales Windows de Azure se implementan en la red virtual.
Compruebe que hay conectividad entre los hosts locales y las máquinas virtuales de Azure.
Compruebe que las máquinas virtuales Windows de Azure y los hosts locales pueden usar DNS para resolver los nombres correctamente.
Flujo de trabajo
- Cree un GPO y asócielo a la unidad organizativa.
- Defina una acción de filtrado de IPsec.
- Defina una lista de filtros de IPsec.
- Cree una directiva IPsec con reglas de seguridad.
- Asigne el GPO de IPsec a la unidad organizativa.
Valores de ejemplo
Nombre de dominio: ipsectest.com
Unidad organizativa: IPSecOU
Equipo de Windows local: host1
Máquinas virtuales Windows de Azure: vm1, vm2
1. Creación de un GPO
Para crear un nuevo GPO vinculado a una unidad organizativa, abra el complemento de administración de directivas de grupo. A continuación, busque la UO a la que se vincula el GPO. En el ejemplo, la unidad organizativa se denomina IPSecOU.
En el complemento de administración de directivas de grupo, seleccione la unidad organizativa y haga clic en ella con el botón derecho. En la lista desplegable, seleccione "Crear un GPO en este dominio y vincularlo aquí".
Asigne un nombre intuitivo al GPO para poder localizarlo fácilmente más tarde. Seleccione Aceptar para crear y vincular el GPO.
2. Habilitación del vínculo de GPO
Para aplicar el GPO a la unidad organizativa, no solo se debe vincular el GPO a esta, sino que también se debe habilitar el vínculo.
Busque el GPO que ha creado, haga clic en él con el botón derecho y seleccione Editar en la lista desplegable.
Para aplicar el GPO a la unidad organizativa, seleccione Vínculo habilitado.
3. Definición de la acción de filtrado IP
En la lista desplegable, haga clic en Directiva de seguridad de IP en Active Directory y, a continuación, seleccione Administrar listas de filtros IP y acciones de filtrado... .
En la pestaña "Administrar acciones de filtrado", seleccione Agregar.
En el Asistente para acciones de filtrado de seguridad IP, seleccione Siguiente.
Asigne un nombre intuitivo a la acción de filtrado para poder encontrarla más tarde. En este ejemplo, la acción de filtrado se denomina myEncryption. También puede agregar una descripción. Después, seleccione Siguiente.
Negociar la seguridad le permite definir el comportamiento si IPsec no se puede establecer con otro equipo. Seleccione Negociar la seguridad y, a continuación, seleccione Siguiente.
En la página Comunicación con equipos no compatibles con IPsec, seleccione No permitir comunicación no segura y, a continuación, seleccione Siguiente.
En la página Tráfico IP y seguridad, seleccione Personalizado y, a continuación, seleccione Configuración... .
En la página Configuración de método de seguridad personalizado, seleccione Integridad y cifrado de datos (ESP): SHA1, 3DES. Después, seleccione Aceptar.
En la página Administrar acciones de filtrado, puede ver que el filtro myEncryption se agregó correctamente. Seleccione Cerrar.
4. Definición de una lista de filtros IP
Cree una lista de filtros que especifique el tráfico HTTP cifrado con el puerto de destino 8080.
Para calificar qué tipos de tráfico deben cifrarse, utilice una lista de filtros IP. En la pestaña Administrar listas de filtros IP, seleccione Agregar para agregar una nueva lista de filtros IP.
En el campo Nombre: , escriba un nombre para la lista de filtros IP. Por ejemplo, azure-onpremises-HTTP8080. Después, seleccione Agregar.
En la página Descripción de filtro IP y propiedad reflejada, seleccione Reflejado. La configuración reflejada coincide con los paquetes en ambas direcciones, lo que permite la comunicación bidireccional. Luego, seleccione Siguiente.
En el página Origen del tráfico IP, en la lista desplegable Dirección de origen: , elija Una dirección IP o subred específica.
Especifique la dirección de origen Dirección IP o subred: del tráfico IP y, a continuación, seleccione Siguiente.
Especifique la Dirección de destino: dirección IP o subred. Después, seleccione Siguiente.
En la página Tipo de protocolo IP, seleccione TCP. Después, seleccione Siguiente.
En la página Puerto de protocolo IP, seleccione Desde cualquier puerto y A este puerto: . Escriba 8080 en el cuadro de texto. Esta configuración especifica que solo el tráfico HTTP en el puerto de destino 8080 se cifra. Después, seleccione Siguiente.
Consulte la lista de filtros IP. La configuración de la lista de filtros IP azure-onpremises-HTTP8080 desencadena el cifrado de todo el tráfico que coincide con los criterios siguientes:
- Cualquier dirección de origen en 10.0.1.0/24 (subred2 de Azure)
- Cualquier dirección de destino en 10.2.27.0/25 (subred local)
- Protocolo TCP
- Puerto de destino 8080
5. Edición de la lista de filtros IP
Para cifrar el mismo tipo de tráfico desde el host local a la máquina virtual de Azure, es necesario un segundo filtro IP. Siga los mismos pasos que usó para configurar el primer filtro IP y crear un nuevo filtro IP. Las únicas diferencias son la subred de origen y de destino.
Para agregar un nuevo filtro IP a la lista de filtros IP, seleccione Editar.
En la página Lista de filtros IP, seleccione Agregar.
Cree un segundo filtro IP mediante la configuración del ejemplo siguiente:
Después de crear el segundo filtro IP, la lista de filtros IP tendrá el aspecto siguiente:
Si se requiere cifrado entre una ubicación local y una subred de Azure para proteger una aplicación. En lugar de modificar la lista de filtros IP existente, puede agregar una nueva lista de filtros IP. Asociar dos o más listas de filtros IP a la misma directiva IPsec puede proporcionarle más flexibilidad. Puede modificar o quitar una lista de filtros IP sin que ello afecte a las demás listas de filtros IP.
6. Creación de una directiva de seguridad IPsec
Cree una directiva IPsec con reglas de seguridad.
Seleccione la opción Políticas de seguridad IP en Active Directory asociada a la unidad organizativa. Haga clic con el botón derecho y seleccione Crear directiva de seguridad IP.
Asigne un nombre a la directiva de seguridad. Por ejemplo, policy-azure-onpremises. Después, seleccione Siguiente.
Seleccione Siguiente sin seleccionar la casilla.
Compruebe que la casilla Editar propiedades está seleccionada y, a continuación, seleccione Finalizar.
7. Edición de la directiva de seguridad IPsec
Agregue a la directiva IPsec la lista de filtros IP y la acción de filtrado que configuró previamente.
En la pestaña Reglas de las propiedades de la política HTTP, seleccione Agregar.
En la página principal, seleccione Siguiente.
Una regla proporciona la opción para definir el modo IPsec: modo de túnel o modo de transporte.
En el modo de túnel, el paquete original se encapsula con un conjunto de encabezados IP. Dicho modo protege la información de enrutamiento interna al cifrar el encabezado IP del paquete original. El modo de túnel está ampliamente implementado entre las puertas de enlace en escenarios VPN de sitio a sitio. En la mayoría de casos, este modo se usa para el cifrado de un extremo a otro entre los hosts.
El modo de transporte solo cifra la carga útil y el finalizador ESP; en cambio, el encabezado IP del paquete original no se cifra. En el modo de transporte, el origen IP y el destino IP de los paquetes no se modifican.
Seleccione Esta regla no especifica un túnel y, a continuación, seleccione Siguiente.
Tipo de red define qué conexión de red se asocia a la directiva de seguridad. Seleccione Todas las conexiones de red y, a continuación, seleccione Siguiente.
Seleccione la lista de filtros IP que ha creado anteriormente, azure-onpremises-HTTP8080; a continuación, seleccione Siguiente.
Seleccione la acción de filtrado myEncryption existente que creó anteriormente.
Windows admite cuatro tipos de autenticación diferentes: Kerberos, certificados, NTLMv2 y clave precompartida. Dado que trabajamos con hosts unidos a un dominio, seleccione Valor predeterminado de Active Directory (protocolo Kerberos V5) y, a continuación, seleccione Siguiente.
La nueva directiva crea la regla de seguridad: azure-onpremises-HTTP8080. Seleccione Aceptar.
La directiva IPsec requiere que todas las conexiones HTTP en el puerto de destino 8080 utilicen el modo de transporte de IPsec. Dado que HTTP es un protocolo de texto sin cifrado, tener habilitada la directiva de seguridad garantiza que los datos se cifren cuando se transfieren a través del emparejamiento privado de ExpressRoute. La directiva IPsec para Active Directory es más compleja de configurar que Firewall de Windows con seguridad avanzada. Sin embargo, permite una mayor personalización de la conexión IPsec.
8. Asignación del GPO de IPsec a la unidad organizativa
Consulte la directiva. La directiva de grupo de seguridad está definida, pero aún no se ha asignado.
Para asignar la directiva de grupo de seguridad a la unidad organizativa IPSecOU, haga clic con el botón derecho en la directiva de seguridad y elija Asignar. Cada equipo que pertenezca a la UO tiene asignada la directiva de grupo de seguridad.
Comprobación del cifrado de tráfico
Para comprobar el GPO de cifrado aplicado en la unidad organizativa, instale IIS en todas las máquinas virtuales de Azure y en el host1. Cada IIS se personaliza para responder a solicitudes HTTP en el puerto 8080. Para comprobar el cifrado, puede instalar un analizador de protocolos (sniffer) de red (por ejemplo, Wireshark) en todos los equipos de la unidad organizativa. Un script de PowerShell funciona como un cliente HTTP para generar solicitudes HTTP en el puerto 8080:
$url = "http://10.0.1.20:8080"
while ($true) {
try {
[net.httpWebRequest]
$req = [net.webRequest]::create($url)
$req.method = "GET"
$req.ContentType = "application/x-www-form-urlencoded"
$req.TimeOut = 60000
$start = get-date
[net.httpWebResponse] $res = $req.getResponse()
$timetaken = ((get-date) - $start).TotalMilliseconds
Write-Output $res.Content
Write-Output ("{0} {1} {2}" -f (get-date), $res.StatusCode.value__, $timetaken)
$req = $null
$res.Close()
$res = $null
} catch [Exception] {
Write-Output ("{0} {1}" -f (get-date), $_.ToString())
}
$req = $null
# uncomment the line below and change the wait time to add a pause between requests
#Start-Sleep -Seconds 1
}
La siguiente captura de red muestra que los resultados de host1 local con filtro ESP para mostrar coinciden solo con el tráfico cifrado:
Si ejecuta el script de PowerShell en el entorno local (cliente HTTP), la captura de red de la máquina virtual de Azure mostrará un seguimiento similar.
Pasos siguientes
Para obtener más información acerca de ExpressRoute, consulte P+F de ExpressRoute.