Directivas de control de acceso en AD FS para Windows Server 2012 R2 y Windows Server 2012
Las directivas descritas en este artículo usan dos tipos de notificaciones
Notificaciones que AD FS crea en función de la información que el proxy de aplicación web y AD FS pueden inspeccionar y comprobar, como la dirección IP del cliente que se conecta directamente a AD FS o WAP.
Notificaciones que AD FS crea en función de la información reenviada a AD FS por el cliente, como los encabezados HTTP
Importante: Las directivas que se documentan a continuación bloquearán escenarios de unión a un dominio e inicio de sesión de Windows 10 en los que se necesite acceso a los siguientes puntos de conexión adicionales
Puntos de conexión de AD FS necesarios para unión a un dominio e inicio de sesión en Windows 10
- [nombre del servicio de federación]/adfs/services/trust/2005/windowstransport
- [nombre del servicio de federación]/adfs/services/trust/13/windowstransport
- [nombre del servicio de federación]/adfs/services/trust/2005/usernamemixed
- [nombre del servicio de federación]/adfs/services/trust/13/usernamemixed
- [nombre del servicio de federación]/adfs/services/trust/2005/certificatemixed
- [nombre del servicio de federación]/adfs/services/trust/13/certificatemixed
Importante: Los puntos de conexión /adfs/services/trust/2005/windowstransport y /adfs/services/trust/13/windowstransport solo deben estar habilitados para el acceso a la intranet, ya que están diseñados para ser puntos de conexión accesibles desde la intranet que usan el enlace WIA en HTTPS. Exponerlos a la extranet podría permitir que las solicitudes en estos puntos de conexión omitan las protecciones de bloqueo. Estos puntos de conexión se deben deshabilitar en el proxy (es decir, deshabilitados para la extranet) a fin de proteger el bloqueo de la cuenta de AD.
Para resolverlo, actualice las directivas que deniegan en función de la notificación del punto de conexión para permitir la excepción de los puntos de conexión anteriores.
Por ejemplo, la regla siguiente:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path", Value != "/adfs/ls/"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = " DenyUsersWithClaim");
se actualizará a:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path", Value != "(/adfs/ls/)|(/adfs/services/trust/2005/windowstransport)|(/adfs/services/trust/13/windowstransport)|(/adfs/services/trust/2005/usernamemixed)|(/adfs/services/trust/13/usernamemixed)|(/adfs/services/trust/2005/certificatemixed)|(/adfs/services/trust/13/certificatemixed)"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = " DenyUsersWithClaim");
Nota
Las notificaciones de esta categoría solo se deben usar para implementar directivas empresariales y no como directivas de seguridad para proteger el acceso a la red. Es posible que los clientes no autorizados envíen encabezados con información falsa como una manera de obtener acceso.
Las directivas descritas en este artículo siempre se deben usar con otro método de autenticación, como el nombre de usuario y la contraseña, o la autenticación multifactor.
Escenarios de directivas de acceso de cliente
Escenario | Descripción |
---|---|
Escenario 1: Bloqueo de todo el acceso externo a Office 365 | El acceso a Office 365 se permite desde todos los clientes de la red corporativa interna, pero se deniegan las solicitudes de clientes externos en función de la dirección IP del cliente externo. |
Escenario 2: Bloqueo de todo el acceso externo a Office 365 excepto Exchange ActiveSync | El acceso a Office 365 se permite desde todos los clientes de la red corporativa interna, así como desde cualquier dispositivo cliente externo, como teléfonos inteligentes, que use Exchange ActiveSync. Todos los demás clientes externos, como los que usan Outlook, están bloqueados. |
Escenario 3: Bloqueo de todo el acceso externo a Office 365 excepto a las aplicaciones basadas en explorador | Bloquea el acceso externo a Office 365, excepto para aplicaciones pasivas (basadas en el explorador), como Outlook Web Access o SharePoint Online. |
Escenario 4: Bloqueo de todo el acceso externo a Office 365 excepto a los grupos de Active Directory designados | Este escenario se usa para probar y validar la implementación de directivas de acceso de cliente. Bloquea el acceso externo a Office 365 solo para los miembros de uno o varios grupos de Active Directory. También se puede usar para proporcionar acceso externo solo a los miembros de un grupo. |
Habilitación de una directiva de acceso de cliente
Para habilitar la directiva de acceso de cliente en AD FS en Windows Server 2012 R2, debe actualizar la relación de confianza para usuario autenticado de la Plataforma de identidad de Microsoft Office 365. Elija uno de los escenarios de ejemplo siguientes para configurar las reglas de notificación en la confianza de usuario autenticado de la Plataforma de identidad de Microsoft Office 365 que mejor satisfaga las necesidades de la organización.
Escenario 1: Bloqueo de todo el acceso externo a Office 365
Este escenario de directiva de acceso de cliente permite el acceso desde todos los clientes internos y bloquea todos los clientes externos en función de la dirección IP del cliente externo. Puede usar los procedimientos siguientes para agregar las reglas de autorización de emisión correctas a la relación de confianza para usuario autenticado de Office 365 para el escenario elegido.
Para crear reglas a fin de bloquear todo el acceso externo a Office 365
En Administrador del servidor, haga clic en Herramientas y después en Administración de AD FS.
En el árbol de consola, en AD FS\Relaciones de confianza, haga clic en Veracidades de usuarios de confianza, haga clic con el botón derecho en la confianza Plataforma de identidad de Microsoft Office 365 y, después, haga clic en Editar reglas de notificación.
En el cuadro de diálogo Editar reglas de notificación, seleccione la pestaña Reglas de autorización de emisión y, después, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Si hay alguna notificación de IP fuera del intervalo deseado, denegar". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación (reemplace el valor anterior para "x-ms-forwarded-client-ip" por una expresión IP válida):
c1:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value =~ "^(?!192\.168\.1\.77|10\.83\.118\.23)"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = " DenyUsersWithClaim");
Haga clic en Finalizar Compruebe que la nueva regla aparece en la lista Reglas de autorización de emisión antes de la regla predeterminada Permitir el acceso a todos los usuarios (la regla Denegar tendrá prioridad aunque aparezca en una posición anterior de la lista). Si no tiene la regla de acceso de permiso predeterminada, puede agregar una al final de la lista mediante el lenguaje de reglas de notificación como se indica a continuación:
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
Para guardar las nuevas reglas, haga clic en Aceptar en el cuadro de diálogo Editar reglas de notificación. La lista resultante debe ser similar a la siguiente.
Escenario 2: Bloqueo de todo el acceso externo a Office 365 excepto el de Exchange ActiveSync
En el ejemplo siguiente se permite el acceso a todas las aplicaciones de Office 365, incluida Exchange Online, desde clientes internos, incluido Outlook. Bloquea el acceso de los clientes que residen fuera de la red corporativa, como indica la dirección IP del cliente, excepto para los clientes de Exchange ActiveSync como los teléfonos inteligentes.
Para crear reglas de bloqueo de todo el acceso externo a Office 365 excepto Exchange ActiveSync
En Administrador del servidor, haga clic en Herramientas y después en Administración de AD FS.
En el árbol de consola, en AD FS\Relaciones de confianza, haga clic en Veracidades de usuarios de confianza, haga clic con el botón derecho en la confianza Plataforma de identidad de Microsoft Office 365 y, después, haga clic en Editar reglas de notificación.
En el cuadro de diálogo Editar reglas de notificación, seleccione la pestaña Reglas de autorización de emisión y, después, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Si hay alguna notificación de IP fuera del intervalo deseado, emitir la notificación ipoutsiderange". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación (reemplace el valor anterior para "x-ms-forwarded-client-ip" por una expresión IP válida):
c1:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value =~ "^(?!192\.168\.1\.77|10\.83\.118\.23)"] => issue(Type = "http://custom/ipoutsiderange", Value = "true");
Haga clic en Finalizar Compruebe que la nueva regla aparece en la lista Reglas de autorización de emisión.
A continuación, en el cuadro de diálogo Editar reglas de notificación, en la pestaña Reglas de autorización de emisión, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de la regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Si hay una dirección IP fuera del intervalo deseado Y hay una notificación x-ms-client-application que no sea EAS, denegarla". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application", Value != "Microsoft.Exchange.ActiveSync"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "DenyUsersWithClaim");
Haga clic en Finalizar Compruebe que la nueva regla aparece en la lista Reglas de autorización de emisión.
A continuación, en el cuadro de diálogo Editar reglas de notificación, en la pestaña Reglas de autorización de emisión, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Comprobar si existe una notificación de aplicación". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación:
NOT EXISTS([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application"]) => add(Type = "http://custom/xmsapplication", Value = "fail");
Haga clic en Finalizar Compruebe que la nueva regla aparece en la lista Reglas de autorización de emisión.
A continuación, en el cuadro de diálogo Editar reglas de notificación, en la pestaña Reglas de autorización de emisión, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Denegar a los usuarios con ipoutsiderange true y un error en la aplicación". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "http://custom/xmsapplication", Value == "fail"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "DenyUsersWithClaim");
Haga clic en Finalizar Compruebe que la nueva regla aparece inmediatamente debajo de la anterior y antes de la regla predeterminada Permitir el acceso a todos los usuarios en la lista Reglas de autorización de emisión (la regla Denegar tendrá prioridad aunque aparezca en una posición anterior de la lista).
Si no tiene la regla de acceso de permiso predeterminada, puede agregar una al final de la lista mediante el lenguaje de reglas de notificación como se indica a continuación:
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
Para guardar las nuevas reglas, haga clic en Aceptar en el cuadro de diálogo Editar reglas de notificación. La lista resultante debe ser similar a la siguiente.
Escenario 3: Bloqueo de todo el acceso externo a Office 365 excepto a las aplicaciones basadas en explorador
Para crear reglas de bloqueo de todo el acceso externo a Office 365 excepto a las aplicaciones basadas en explorador
En Administrador del servidor, haga clic en Herramientas y después en Administración de AD FS.
En el árbol de consola, en AD FS\Relaciones de confianza, haga clic en Veracidades de usuarios de confianza, haga clic con el botón derecho en la confianza Plataforma de identidad de Microsoft Office 365 y, después, haga clic en Editar reglas de notificación.
En el cuadro de diálogo Editar reglas de notificación, seleccione la pestaña Reglas de autorización de emisión y, después, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Si hay alguna notificación de IP fuera del intervalo deseado, emitir la notificación ipoutsiderange". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación (reemplace el valor anterior para "x-ms-forwarded-client-ip" por una expresión IP válida):
c1:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value =~ "^(?!192\.168\.1\.77|10\.83\.118\.23)"] => issue(Type = "http://custom/ipoutsiderange", Value = "true");
Haga clic en Finalizar Compruebe que la nueva regla aparece en la lista Reglas de autorización de emisión.
A continuación, en el cuadro de diálogo Editar reglas de notificación, en la pestaña Reglas de autorización de emisión, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Si hay alguna notificación de IP fuera del intervalo deseado Y el punto de conexión no es /adfs/ls, denegarla". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path", Value != "/adfs/ls/"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = " DenyUsersWithClaim");`
Haga clic en Finalizar Compruebe que la nueva regla aparece en la lista Reglas de autorización de emisión antes de la regla predeterminada Permitir el acceso a todos los usuarios (la regla Denegar tendrá prioridad aunque aparezca en una posición anterior de la lista).
Si no tiene la regla de acceso de permiso predeterminada, puede agregar una al final de la lista mediante el lenguaje de reglas de notificación como se indica a continuación:
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
Para guardar las nuevas reglas, haga clic en Aceptar en el cuadro de diálogo Editar reglas de notificación. La lista resultante debe ser similar a la siguiente.
Escenario 4: Bloqueo de todo el acceso externo a Office 365 excepto a los grupos de Active Directory designados
En el ejemplo siguiente se habilita el acceso desde clientes internos en función de la dirección IP. Bloquea el acceso de los clientes que residen fuera de la red corporativa que tienen una dirección IP de cliente externa, excepto para los usuarios de un grupo de Active Directory especificado. Siga estos pasos para agregar las reglas de autorización de emisión correctas a la relación de confianza de usuario autenticado de Plataforma de identidad de Microsoft Office 365 mediante el Asistente para reglas de notificación:
Para crear reglas de bloqueo de todo el acceso externo a Office 365 excepto para los grupos de Active Directory designados
En Administrador del servidor, haga clic en Herramientas y después en Administración de AD FS.
En el árbol de consola, en AD FS\Relaciones de confianza, haga clic en Veracidades de usuarios de confianza, haga clic con el botón derecho en la confianza Plataforma de identidad de Microsoft Office 365 y, después, haga clic en Editar reglas de notificación.
En el cuadro de diálogo Editar reglas de notificación, seleccione la pestaña Reglas de autorización de emisión y, después, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Si hay alguna notificación de IP fuera del intervalo deseado, emitir la notificación ipoutsiderange". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación (reemplace el valor anterior para "x-ms-forwarded-client-ip" por una expresión IP válida):
`c1:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value =~ "^(?!192\.168\.1\.77|10\.83\.118\.23)"] && c2:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] => issue(Type = "http://custom/ipoutsiderange", Value = "true");`
Haga clic en Finalizar Compruebe que la nueva regla aparece en la lista Reglas de autorización de emisión.
A continuación, en el cuadro de diálogo Editar reglas de notificación, en la pestaña Reglas de autorización de emisión, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Comprobar SID del grupo". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación (reemplace "groupsid" por el SID real del grupo de AD que use):
NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == "S-1-5-32-100"]) => add(Type = "http://custom/groupsid", Value = "fail");
Haga clic en Finalizar Compruebe que la nueva regla aparece en la lista Reglas de autorización de emisión.
A continuación, en el cuadro de diálogo Editar reglas de notificación, en la pestaña Reglas de autorización de emisión, haga clic en Agregar regla para iniciar el Asistente para reglas de notificación.
En la página Seleccionar plantilla de regla, en Plantilla de regla de notificación, seleccione Enviar notificaciones con una regla personalizada y, después, haga clic en Siguiente.
En la página Configurar regla, en Nombre de regla de notificación, escriba el nombre para mostrar de esta regla, por ejemplo, "Denegar a los usuarios con ipoutsiderange true y el error groupsid". En Regla personalizada, escriba o pegue la siguiente sintaxis del lenguaje de reglas de notificación:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "http://custom/groupsid", Value == "fail"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "DenyUsersWithClaim");
- Haga clic en Finalizar Compruebe que la nueva regla aparece inmediatamente debajo de la anterior y antes de la regla predeterminada Permitir el acceso a todos los usuarios en la lista Reglas de autorización de emisión (la regla Denegar tendrá prioridad aunque aparezca en una posición anterior de la lista).
Si no tiene la regla de acceso de permiso predeterminada, puede agregar una al final de la lista mediante el lenguaje de reglas de notificación como se indica a continuación:
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
Para guardar las nuevas reglas, haga clic en Aceptar en el cuadro de diálogo Editar reglas de notificación. La lista resultante debe ser similar a la siguiente.
Creación de la expresión de intervalo de direcciones IP
La notificación x-ms-forwarded-client-ip se rellena a partir de un encabezado HTTP que actualmente solo lo establece Exchange Online, que rellena el encabezado cuando pasa la solicitud de autenticación a AD FS. El valor de la notificación puede ser uno de los siguientes:
Nota
Actualmente Exchange Online solo admite direcciones IPV4, no IPV6.
- Una sola dirección IP: la dirección IP del cliente que está conectado directamente a Exchange Online
Nota
- La dirección IP de un cliente en la red corporativa aparece como la dirección IP de la interfaz externa del proxy de salida o la puerta de enlace de la organización.
- Los clientes conectados a la red corporativa con una red VPN o Microsoft DirectAccess (DA) pueden aparecer como clientes corporativos internos o como clientes externos en función de la configuración de la red VPN o de DA.
- Una o varias direcciones IP: cuando Exchange Online no puede determinar la dirección IP del cliente que se conecta, establece el valor en función del valor del encabezado x-forwarded-for, un encabezado no estándar que se puede incluir en las solicitudes basadas en HTTP y que es compatible con muchos clientes, equilibradores de carga y servidores proxy del mercado.
Nota
- Varias direcciones IP, que indican la dirección IP del cliente y la dirección de cada proxy que ha pasado la solicitud, se separarán mediante una coma.
- Las direcciones IP relacionadas con la infraestructura de Exchange Online no estarán en la lista.
Expresiones regulares
Cuando hay que cotejar un intervalo de direcciones IP, es necesario construir una expresión regular para hacer la comparación. En la siguiente serie de pasos, se proporcionan ejemplos de cómo construir dicha expresión para que busque coincidencias con los siguientes intervalos de direcciones (tenga en cuenta que tendrá que cambiar estos ejemplos para que coincidan con su intervalo IP público):
192.168.1.1 – 192.168.1.25
10.0.0.1 – 10.0.0.14
En primer lugar, el patrón básico que coincidirá con una sola dirección IP es el siguiente: \b###\.###\.###\.###\b
Al extenderlo, se pueden hacer coincidir dos direcciones IP diferentes con una expresión OR de la siguiente manera: \b###\.###\.###\.###\b|\b###\.###\.###\.###\b
Por tanto, un ejemplo para hacer coincidir solo dos direcciones (como 192.168.1.1 o 10.0.0.1) sería: \b192\.168\.1\.1\b|\b10\.0\.0\.1\b
Esto le proporciona la técnica para escribir cualquier número de direcciones. Cuando es necesario permitir un intervalo de direcciones, por ejemplo, 192.168.1.1 – 192.168.1.25, la coincidencia se debe realizar carácter por carácter: \b192\.168\.1\.([1-9]|1[0-9]|2[0-5])\b
Tenga en cuenta lo siguiente:
La dirección IP se trata como cadena y no como un número.
La regla se desglosa de la siguiente manera: \b192\.168\.1\.
Esto coincide con cualquier valor a partir de 192.168.1.
Lo siguiente busca los intervalos necesarios para la parte de la dirección después del separador decimal final:
([1-9] busca direcciones que terminan en 1-9.
|1[0-9] busca direcciones que terminan en 10-19.
|2[0-5]) Coincide con las direcciones que terminan en 20-25
Tenga en cuenta que los paréntesis deben estar correctamente colocados, para evitar que coincida con otras partes de direcciones IP.
Cuando el bloque 192 coincida, se puede escribir una expresión similar para el bloque 10: \b10\.0\.0\.([1-9]|1[0-4])\b
Al combinarlos, la expresión siguiente debe coincidir con todas las direcciones de "192.168.1.1~25" y "10.0.0.1~14": \b192\.168\.1\.([1-9]|1[0-9]|2[0-5])\b|\b10\.0\.0\.([1-9]|1[0-4])\b
Prueba de la expresión
Las expresiones regex pueden llegar a ser bastante complejas, por lo que se recomienda encarecidamente usar una herramienta de comprobación de expresiones regex. Si busca "generador de expresiones regex en línea" en Internet, encontrará varias utilidades en línea buenas que le permitirán probar las expresiones con datos de ejemplo.
Al probar una expresión, es importante que tenga claro lo que se espera que coincida. Exchange Online puede enviar muchas direcciones IP separadas por comas. Las expresiones proporcionadas aquí funcionarán para esto. Sin embargo, es importante tener esto en cuenta cuando se prueban expresiones regex. Por ejemplo, puede usar la siguiente entrada de ejemplo para comprobar los ejemplos anteriores:
192.168.1.1, 192.168.1.2, 192.169.1.1. 192.168.12.1, 192.168.1.10, 192.168.1.25, 192.168.1.26, 192.168.1.30, 1192.168.1.20
10.0.0.1, 10.0.0.5, 10.0.0.10, 10.0.1.0, 10.0.1.1, 110.0.0.1, 10.0.0.14, 10.0.0.15, 10.0.0.10, 10,0.0.1
Tipos de notificación
AD FS en Windows Server 2012 R2 proporciona información de contexto de solicitud mediante los siguientes tipos de notificación:
X-MS-Forwarded-Client-IP
Tipo de notificación: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip
Esta notificación de AD FS representa un "mejor intento" para determinar la dirección IP del usuario (por ejemplo, el cliente de Outlook) que realiza la solicitud. Esta notificación puede contener varias direcciones IP, incluida la dirección de cada proxy que reenvía la solicitud. Esta notificación se rellena desde HTTP. El valor de la notificación puede ser uno de los siguientes:
- Una sola dirección IP: la dirección IP del cliente que está conectada directamente a Exchange Online
Nota
La dirección IP de un cliente en la red corporativa aparecerá como la dirección IP de la interfaz externa del proxy de salida o la puerta de enlace de la organización.
Una o varias direcciones IP
Si Exchange Online no puede determinar la dirección IP del cliente de conexión, establecerá el valor en función del valor del encabezado x-forwarded-for, un encabezado no estándar que se puede incluir en las solicitudes basadas en HTTP y es compatible con muchos clientes, equilibradores de carga y servidores proxy del mercado.
Varias direcciones IP que indican la dirección IP del cliente y la dirección de cada proxy que ha pasado la solicitud se separarán mediante una coma.
Nota
Las direcciones IP relacionadas con la infraestructura de Exchange Online no estarán en la lista.
Advertencia
Actualmente Exchange Online solo admite direcciones IPV4, no direcciones IPV6.
X-MS-Client-Application
Tipo de notificación: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application
Esta notificación de AD FS representa el protocolo utilizado por el cliente final, que se corresponde de forma flexible con la aplicación que se usa. Esta notificación se rellena desde un encabezado HTTP que actualmente solo está establecido por Exchange Online, que lo rellena al pasar la solicitud de autenticación a AD FS. En función de la aplicación, el valor de esta notificación será uno de los siguientes:
En el caso de los dispositivos que usan Exchange Active Sync, el valor es Microsoft.Exchange.ActiveSync.
El uso del cliente de Microsoft Outlook puede dar lugar a cualquiera de los siguientes valores:
Microsoft.Exchange.Autodiscover
Microsoft.Exchange.OfflineAddressBook
Microsoft.Exchange.RPCMicrosoft.Exchange.WebServices
Microsoft.Exchange.RPCMicrosoft.Exchange.WebServices
Otros valores posibles para este encabezado son los siguientes:
Microsoft.Exchange.Powershell
Microsoft.Exchange.SMTP
Microsoft.Exchange.Pop
Microsoft.Exchange.Imap
X-MS-Client-User-Agent
Tipo de notificación: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-user-agent
Esta notificación de AD FS proporciona una cadena para representar el tipo de dispositivo que usa el cliente para acceder al servicio. Esto se puede usar cuando los clientes quieren impedir el acceso a dispositivos concretos (como determinados tipos de teléfonos inteligentes). Entre los valores de ejemplo de esta notificación se incluyen (pero no están limitados a) los siguientes.
A continuación se muestran ejemplos de lo que podría contener el valor x-ms-user-agent para un cliente cuya aplicación x-ms-client-application es "Microsoft.Exchange.ActiveSync"
Vortex/1.0
Apple-iPad1C1/812.1
Apple-iPhone3C1/811.2
Apple-iPhone/704.11
Moto-DROID2/4.5.1
SAMSUNGSPHD700/100.202
Android/0.3
También es posible que este valor esté vacío.
X-MS-Proxy
Tipo de notificación: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy
Esta notificación de AD FS indica que la solicitud ha pasado por el proxy de aplicación web. Esta notificación se rellena mediante el proxy de aplicación web, que rellena el encabezado al pasar la solicitud de autenticación al servicio de federación de back-end. Después, AD FS lo convierte en una notificación.
El valor de la notificación es el nombre DNS del proxy de aplicación web que ha pasado la solicitud.
InsideCorporateNetwork
Tipo de notificación: https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork
De forma similar al tipo de notificación x-ms-proxy anterior, este tipo de notificación indica si la solicitud ha pasado por el proxy de aplicación web. A diferencia de x-ms-proxy, insidecorporatenetwork es un valor booleano con True que indica una solicitud directamente al servicio de federación desde dentro de la red corporativa.
X-MS-Endpoint-Absolute-Path (Active vs Passive)
Tipo de notificación: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path
Este tipo de notificación se puede usar para determinar las solicitudes que se originan en clientes "activos" (enriquecidos) frente a clientes "pasivos" (basados en el explorador web). Esto hace que se permitan solicitudes externas desde aplicaciones basadas en explorador, como Outlook Web Access, SharePoint Online o el portal de Office 365, mientras se bloquean las solicitudes procedentes de clientes enriquecidos como Microsoft Outlook.
El valor de la notificación es el nombre del servicio de AD FS que ha recibido la solicitud.