Stratégies de contrôle d’accès dans Windows Server 2012 R2 et Windows Server 2012 AD FS
Les stratégies décrites dans cet article utilisent deux genres de revendication
Revendications créées par AD FS en fonction des informations qu’AD FS et le proxy d’application web peuvent inspecter et vérifier, par exemple l’adresse IP du client qui se connecte directement à AD FS ou au WAP (proxy d’application web).
Revendications créées par AD FS en fonction des informations redirigées vers AD FS par le client sous forme d’en-têtes HTTP
Important : Les stratégies documentées ci-dessous bloquent les scénarios de jonction de domaine et d’authentification Windows 10 qui nécessitent l’accès aux points de terminaison supplémentaires suivants
Points de terminaison AD FS nécessaires pour la jonction de domaine et l’authentification Windows 10
- [nom du service FS (Federation Service)]/adfs/services/trust/2005/windowstransport
- [nom du service FS (Federation Service)]/adfs/services/trust/13/windowstransport
- [nom du service FS (Federation Service)]/adfs/services/trust/2005/usernamemixed
- [nom du service FS (Federation Service)]/adfs/services/trust/13/usernamemixed
- [nom du service FS (Federation Service)]/adfs/services/trust/2005/certificatemixed
- [nom du service FS (Federation Service)]/adfs/services/trust/13/certificatemixed
Important : Les points de terminaison /adfs/services/trust/2005/windowstransport et /adfs/services/trust/13/windowstransport doivent être activés uniquement pour l’accès intranet, car ils sont censés constituer des points de terminaison intranet qui utilisent la liaison WIA sur HTTPS. Les exposer à un extranet peut permettre aux requêtes effectuées sur ces points de terminaison de contourner les protections par verrouillage. Ces points de terminaison doivent être désactivés sur le proxy (c’est-à-dire désactivés à partir de l’extranet) pour empêcher le verrouillage de compte AD.
Pour résoudre le problème, mettez à jour toutes les stratégies de refus en fonction de la revendication du point de terminaison afin d’autoriser l’exception pour les points de terminaison ci-dessus.
Par exemple, la règle ci-dessous :
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");
est mise à jour et devient :
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");
Notes
Les revendications de cette catégorie doivent être utilisées uniquement pour implémenter des stratégies métier. Elles ne doivent pas être utilisées en tant que stratégies de sécurité visant à protéger l’accès à votre réseau. Il est possible que des clients non autorisés envoient des en-têtes avec de fausses informations pour obtenir un accès.
Les stratégies décrites dans cet article doivent toujours être utilisées avec une autre méthode d’authentification, par exemple un nom d’utilisateur et un mot de passe ou une authentification multifacteur.
Scénarios de stratégies d’accès client
Scénario | Description |
---|---|
1er scénario : Blocage de tout accès externe à Office 365 | L’accès à Office 365 est autorisé à partir de tous les clients du réseau d’entreprise interne, mais les requêtes provenant de clients externes sont refusées en fonction de l’adresse IP du client externe. |
2e scénario : Blocage de tout accès externe à Office 365, à l’exception d’Exchange ActiveSync | L’accès à Office 365 est autorisé à partir de tous les clients du réseau d’entreprise interne ainsi qu’à partir de tous les appareils clients externes, par exemple les smartphones, qui utilisent Exchange ActiveSync. Tous les autres clients externes, par exemple ceux qui utilisent Outlook, sont bloqués. |
3e scénario : Blocage de tout accès externe à Office 365 à l’exception des applications basées sur un navigateur | Bloque l’accès externe à Office 365, sauf pour les applications passives (basées sur un navigateur), par exemple Outlook Web Access ou SharePoint Online. |
Scénario 4 : Bloquer tous les accès externes à Office 365 à l’exception des groupes Active Directory désignés | Ce scénario est utilisé pour tester et valider le déploiement de la stratégie d’accès client. Il bloque l’accès externe à Office 365 uniquement pour les membres d’un ou de plusieurs groupes Active Directory. Il peut également être utilisé pour fournir un accès externe uniquement aux membres d’un groupe. |
Activation de la stratégie d’accès client
Pour activer la stratégie d’accès client dans AD FS au sein de Windows Server 2012 R2, vous devez mettre à jour l’approbation de partie de confiance de la Plateforme d’identités Microsoft Office 365. Choisissez l’un des exemples de scénarios ci-dessous pour configurer les règles de revendication de l’approbation de partie de confiance de la Plateforme d’identités Microsoft Office 365 qui répond le mieux aux besoins de votre organisation.
1er scénario : Blocage de tout accès externe à Office 365
Ce scénario de stratégie d’accès client autorise l’accès à partir de tous les clients internes et bloque tous les clients externes en fonction de leur adresse IP. Vous pouvez utiliser les procédures suivantes afin d’ajouter les règles d’autorisation d’émission appropriées à l’approbation de partie de confiance Office 365 pour le scénario de votre choix.
Pour créer des règles permettant de bloquer tous les accès externes à Office 365
Dans le Gestionnaire de serveur, cliquez sur Outils, puis sur Gestion AD FS.
Dans l’arborescence de la console, sous AD FS\Relations d’approbation, cliquez sur Approbations de partie de confiance, cliquez avec le bouton droit sur l’approbation Plateforme d’identités Microsoft Office 365, puis cliquez sur Modifier les règles de revendication.
Dans la boîte de dialogue Modifier les règles de revendication, sélectionnez l’onglet Règles d’autorisation d’émission, puis cliquez sur Ajouter une règle pour démarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « S’il existe une revendication IP en dehors de la plage souhaitée, refuser ». Sous Règle personnalisée, tapez ou collez la syntaxe de langage de règle de revendication suivante (remplacez la valeur ci-dessus pour « x-ms-forwarded-client-ip » par une expression IP valide) :
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");
Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît dans la liste Règles d’autorisation d’émission avant la règle par défaut Autoriser l’accès à tous les utilisateurs (la règle de refus est prioritaire même si elle apparaît plus haut dans la liste). Si vous n’avez pas de règle d’autorisation d’accès par défaut, vous pouvez en ajouter une à la fin de votre liste en utilisant le langage de règle de revendication, comme indiqué ci-dessous :
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
Pour enregistrer les nouvelles règles, dans la boîte de dialogue Modifier les règles de revendication, cliquez sur OK. La liste résultante doit ressembler à ce qui suit.
2e scénario : Blocage de tout accès externe à Office 365, à l’exception d’Exchange ActiveSync
L’exemple suivant autorise l’accès à toutes les applications Office 365 (y compris Exchange Online) à partir de clients internes (y compris Outlook). Il bloque l’accès des clients résidant en dehors du réseau d’entreprise (comme l’indique leur adresse IP), à l’exception des clients Exchange ActiveSync tels que les smartphones.
Pour créer des règles permettant de bloquer tous les accès externes à Office 365 à l’exception d’Exchange ActiveSync
Dans le Gestionnaire de serveur, cliquez sur Outils, puis sur Gestion AD FS.
Dans l’arborescence de la console, sous AD FS\Relations d’approbation, cliquez sur Approbations de partie de confiance, cliquez avec le bouton droit sur l’approbation Plateforme d’identités Microsoft Office 365, puis cliquez sur Modifier les règles de revendication.
Dans la boîte de dialogue Modifier les règles de revendication, sélectionnez l’onglet Règles d’autorisation d’émission, puis cliquez sur Ajouter une règle pour démarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « S’il existe une revendication IP en dehors de la plage souhaitée, émettre la revendication ipoutsiderange ». Sous Règle personnalisée, tapez ou collez la syntaxe de règle de revendication suivante (remplacez la valeur ci-dessus pour « x-ms-forwarded-client-ip » par une expression IP valide) :
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");
Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît dans la liste Règles d’autorisation d’émission.
Puis, dans la boîte de dialogue Modifier les règles de revendication, sous l’onglet Règles d’autorisation d’émission, cliquez sur Ajouter une règle pour redémarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « S’il existe une IP en dehors de la plage souhaitée ET s’il existe une revendication x-ms-client-application non EAS, refuser ». Sous Règle personnalisée, tapez ou collez la syntaxe de règle de revendication suivante :
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");
Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît dans la liste Règles d’autorisation d’émission.
Puis, dans la boîte de dialogue Modifier les règles de revendication, sous l’onglet Règles d’autorisation d’émission, cliquez sur Ajouter une règle pour redémarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « Vérifier si la revendication application existe ». Sous Règle personnalisée, tapez ou collez la syntaxe de règle de revendication suivante :
NOT EXISTS([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application"]) => add(Type = "http://custom/xmsapplication", Value = "fail");
Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît dans la liste Règles d’autorisation d’émission.
Puis, dans la boîte de dialogue Modifier les règles de revendication, sous l’onglet Règles d’autorisation d’émission, cliquez sur Ajouter une règle pour redémarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « Refuser les utilisateurs avec ipoutsiderange true et application fail ». Sous Règle personnalisée, tapez ou collez la syntaxe de règle de revendication suivante :
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");
Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît immédiatement sous la règle précédente et avant la règle par défaut Autoriser l’accès à tous les utilisateurs dans la liste Règles d’autorisation d’émission (la règle Refuser est prioritaire même si elle apparaît plus haut dans la liste).
Si vous n’avez pas de règle d’autorisation d’accès par défaut, vous pouvez en ajouter une à la fin de votre liste en utilisant le langage de règle de revendication, comme indiqué ci-dessous :
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
Pour enregistrer les nouvelles règles, dans la boîte de dialogue Modifier les règles de revendication, cliquez sur OK. La liste résultante doit ressembler à ce qui suit.
3e scénario : Blocage de tout accès externe à Office 365 à l’exception des applications basées sur un navigateur
Pour créer des règles permettant de bloquer tous les accès externes à Office 365 à l’exception des applications basées sur un navigateur
Dans le Gestionnaire de serveur, cliquez sur Outils, puis sur Gestion AD FS.
Dans l’arborescence de la console, sous AD FS\Relations d’approbation, cliquez sur Approbations de partie de confiance, cliquez avec le bouton droit sur l’approbation Plateforme d’identités Microsoft Office 365, puis cliquez sur Modifier les règles de revendication.
Dans la boîte de dialogue Modifier les règles de revendication, sélectionnez l’onglet Règles d’autorisation d’émission, puis cliquez sur Ajouter une règle pour démarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « S’il existe une revendication IP en dehors de la plage souhaitée, émettre la revendication ipoutsiderange ». Sous Règle personnalisée, tapez ou collez la syntaxe de règle de revendication suivante (remplacez la valeur ci-dessus pour « x-ms-forwarded-client-ip » par une expression IP valide) :
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");
Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît dans la liste Règles d’autorisation d’émission.
Puis, dans la boîte de dialogue Modifier les règles de revendication, sous l’onglet Règles d’autorisation d’émission, cliquez sur Ajouter une règle pour redémarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « S’il existe une adresse IP en dehors de la plage souhaitée ET si le point de terminaison n’est pas /adfs/ls, refuser ». Sous Règle personnalisée, tapez ou collez la syntaxe de règle de revendication suivante :
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");`
Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît dans la liste Règles d’autorisation d’émission avant la règle par défaut Autoriser l’accès à tous les utilisateurs (la règle de refus est prioritaire même si elle apparaît plus haut dans la liste).
Si vous n’avez pas de règle d’autorisation d’accès par défaut, vous pouvez en ajouter une à la fin de votre liste en utilisant le langage de règle de revendication, comme indiqué ci-dessous :
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
Pour enregistrer les nouvelles règles, dans la boîte de dialogue Modifier les règles de revendication, cliquez sur OK. La liste résultante doit ressembler à ce qui suit.
Scénario 4 : Bloquer tous les accès externes à Office 365 à l’exception des groupes Active Directory désignés
L’exemple suivant permet d’autoriser l’accès à partir de clients internes en fonction de l’adresse IP. Il permet de bloquer l’accès des clients situés en dehors du réseau d’entreprise, et qui ont une adresse IP de client externe, à l’exception des personnes membres du groupe Active Directory spécifié. Suivez les étapes ci-dessous pour ajouter les règles d’autorisation d’émission appropriées à l’approbation de partie de confiance de la Plateforme d’identités Microsoft Office 365 via l’Assistant Règle de revendication :
Pour créer des règles permettant de bloquer tous les accès externes à Office 365 à l’exception des groupes Active Directory désignés
Dans le Gestionnaire de serveur, cliquez sur Outils, puis sur Gestion AD FS.
Dans l’arborescence de la console, sous AD FS\Relations d’approbation, cliquez sur Approbations de partie de confiance, cliquez avec le bouton droit sur l’approbation Plateforme d’identités Microsoft Office 365, puis cliquez sur Modifier les règles de revendication.
Dans la boîte de dialogue Modifier les règles de revendication, sélectionnez l’onglet Règles d’autorisation d’émission, puis cliquez sur Ajouter une règle pour démarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « S’il existe une revendication IP en dehors de la plage souhaitée, émettre la revendication ipoutsiderange ». Sous Règle personnalisée, tapez ou collez la syntaxe de règle de revendication suivante (remplacez la valeur ci-dessus pour « x-ms-forwarded-client-ip » par une expression IP valide) :
`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");`
Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît dans la liste Règles d’autorisation d’émission.
Puis, dans la boîte de dialogue Modifier les règles de revendication, sous l’onglet Règles d’autorisation d’émission, cliquez sur Ajouter une règle pour redémarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « Vérifier le SID du groupe ». Sous Règle personnalisée, tapez ou collez la syntaxe de règle de revendication suivante (remplacez « groupsid » par le SID réel du groupe AD que vous utilisez) :
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");
Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît dans la liste Règles d’autorisation d’émission.
Puis, dans la boîte de dialogue Modifier les règles de revendication, sous l’onglet Règles d’autorisation d’émission, cliquez sur Ajouter une règle pour redémarrer l’Assistant Règle de revendication.
Dans la page Sélectionner un modèle de règle, sous Modèle de règle de revendication, sélectionnez Envoyer les revendications à l’aide d’une règle personnalisée, puis cliquez sur Suivant.
Dans la page Configurer la règle, sous Nom de la règle de revendication, tapez le nom d’affichage de cette règle, par exemple « Refuser les utilisateurs avec ipoutsiderange true et groupsid fail ». Sous Règle personnalisée, tapez ou collez la syntaxe de règle de revendication suivante :
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");
- Cliquez sur Terminer. Vérifiez que la nouvelle règle apparaît immédiatement sous la règle précédente et avant la règle par défaut Autoriser l’accès à tous les utilisateurs dans la liste Règles d’autorisation d’émission (la règle Refuser est prioritaire même si elle apparaît plus haut dans la liste).
Si vous n’avez pas de règle d’autorisation d’accès par défaut, vous pouvez en ajouter une à la fin de votre liste en utilisant le langage de règle de revendication, comme indiqué ci-dessous :
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
Pour enregistrer les nouvelles règles, dans la boîte de dialogue Modifier les règles de revendication, cliquez sur OK. La liste résultante doit ressembler à ce qui suit.
Génération de l’expression de plage d’adresses IP
La revendication x-ms-forwarded-client-ip est remplie à partir d’un en-tête HTTP à l’heure actuelle défini uniquement par Exchange Online, qui remplit l’en-tête lorsqu’il transmet la demande d’authentification à AD FS. La revendication peut prendre les valeurs suivantes :
Remarque
Exchange Online ne prend actuellement en charge que les adresses IPv4, et non les adresses IPv6.
- Une seule adresse IP : il s’agit de l’adresse IP du client connecté directement à Exchange Online.
Notes
- L’adresse IP d’un client sur le réseau d’entreprise apparaît comme l’adresse IP d’interface externe de la passerelle ou du proxy sortant de l’organisation.
- Les clients connectés au réseau d’entreprise par un VPN ou par Microsoft DirectAccess (DA) peuvent apparaître comme des clients d’entreprise internes ou des clients externes en fonction de la configuration du VPN ou de DA.
- Une ou plusieurs adresses IP : si Exchange Online ne parvient pas à déterminer l’adresse IP du client qui se connecte, il définit la valeur en fonction de celle de l’en-tête x-forwarded-for, un en-tête non standard qui peut figurer dans les requêtes HTTP et qui est pris en charge par de nombreux clients, équilibreurs de charge et proxys du marché.
Remarque
- Les différentes adresses IP, indiquant l’adresse IP du client et l’adresse de chacun des proxys qui ont transmis la demande, sont séparées par une virgule.
- Les adresses IP liées à l’infrastructure Exchange Online ne figurent pas dans la liste.
Expressions régulières
Lorsque vous devez faire correspondre une plage d’adresses IP, il devient nécessaire de construire une expression régulière pour effectuer la comparaison. Dans la série d’étapes suivante, nous donnerons des exemples de construction d’une telle expression pour qu’elle corresponde aux plages d’adresses suivantes (notez que vous devrez modifier ces exemples en fonction de votre plage d’adresses IP publique) :
192.168.1.1 – 192.168.1.25
10.0.0.1 – 10.0.0.14
Tout d’abord, le modèle de base correspondant à une seule adresse IP est le suivant : \b###\.###\.###\.###\b
En étendant ce modèle, nous pouvons faire correspondre deux adresses IP différentes avec une expression OR : \b###\.###\.###\.###\b|\b###\.###\.###\.###\b
Ainsi, voici un exemple permettant de faire correspondre seulement deux adresses (par exemple 192.168.1.1 ou 10.0.0.1) : \b192\.168\.1\.1\b|\b10\.0\.0\.1\b
Vous disposez ainsi de la technique permettant d’entrer n’importe quel nombre d’adresses. Quand une plage d’adresses doit être autorisée, par exemple de 192.168.1.1 à 192.168.1.25, la correspondance doit être effectuée caractère par caractère : \b192\.168\.1\.([1-9]|1[0-9]|2[0-5])\b
Notez les points suivants :
L’adresse IP est traitée comme une chaîne et non comme un nombre.
La règle se décompose comme ceci : \b192\.168\.1\.
Cela correspond à toute valeur commençant par 192.168.1.
Les modèles suivants correspondent aux plages requises pour la partie de l’adresse qui suit la virgule décimale finale :
([1-9] correspond aux adresses se terminant par 1-9.
|1[0-9] correspond aux adresses se terminant par 10-19.
|2[0-5]) correspond aux adresses se terminant par 20-25.
Notez que vous devez positionner correctement les parenthèses. Ainsi, vous ne commencerez pas par mettre en correspondance d’autres parties d’adresses IP.
Une fois le bloc 192 mis en correspondance, nous pouvons écrire une expression similaire pour le bloc 10 : \b10\.0\.0\.([1-9]|1[0-4])\b
Et si vous les rassemblez, l’expression suivante doit correspondre à toutes les adresses des plages « 192.168.1.1~25 » et « 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
Test de l’expression
Dans la mesure où les expressions régulières peuvent devenir très difficiles, nous vous recommandons vivement d’utiliser un outil de vérification regex. En cherchant sur Internet « générateur d’expressions régulières en ligne », vous trouverez de bons utilitaires en ligne qui vous permettront d’essayer vos expressions sur des exemples de données.
Lorsque vous testez l’expression, vous devez bien comprendre ce qui doit correspondre. Le système Exchange Online peut envoyer de nombreuses adresses IP, séparées par des virgules. Les expressions fournies ci-dessus fonctionnent dans ce cas. Toutefois, il est important d’y penser lorsque vous testez vos expressions régulières. Vous pouvez utiliser l’entrée suivante pour vérifier les exemples ci-dessus :
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
Types de revendications
AD FS dans Windows Server 2012 R2 fournit des informations de contexte sur la requête à l’aide des types de revendication suivants :
X-MS-Forwarded-Client-IP
Type de revendication : https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip
Cette revendication AD FS représente une « meilleure tentative » pour déterminer l’adresse IP de l’utilisateur (par exemple le client Outlook) qui effectue la requête. Cette revendication peut contenir plusieurs adresses IP, y compris l’adresse de chaque proxy qui a transféré la requête. Cette revendication est remplie à partir d’une chaîne HTTP. La valeur de la revendication peut être une des suivantes :
- Adresse IP unique : adresse IP du client directement connecté à Exchange Online
Remarque
L’adresse IP d’un client sur le réseau d’entreprise apparaît en tant qu’adresse IP d’interface externe du proxy sortant ou de la passerelle de l’organisation.
Une ou plusieurs adresses IP
Si Exchange Online ne peut pas déterminer l’adresse IP du client qui se connecte, il définit la valeur en fonction de la valeur de l’en-tête x-forwarded-for, un en-tête non standard qui peut être inclus dans les requêtes HTTP, et qui est pris en charge par de nombreux clients, équilibreurs de charge et proxys du marché.
Plusieurs adresses IP indiquant l’adresse IP du client et l’adresse de chaque proxy qui a passé la requête seront séparées par une virgule.
Notes
Les adresses IP liées à l’infrastructure d’Exchange Online ne seront pas présentes dans la liste.
Avertissement
Exchange Online prend en charge uniquement les adresses IPV4. Il ne prend pas en charge les adresses IPV6.
X-MS-Client-Application
Type de revendication : https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application
Cette revendication AD FS représente le protocole utilisé par le client final, qui correspond approximativement à l’application utilisée. Cette revendication est remplie à partir d’un en-tête HTTP actuellement défini uniquement par Exchange Online, qui remplit l’en-tête lors du passage de la requête d’authentification à AD FS. Selon l’application, la valeur de cette revendication est l’une des suivantes :
Dans le cas des appareils qui utilisent Exchange Active Sync, la valeur est Microsoft.Exchange.ActiveSync.
L’utilisation du client Microsoft Outlook peut entraîner l’une des valeurs suivantes :
Microsoft.Exchange.Autodiscover
Microsoft.Exchange.OfflineAddressBook
Microsoft.Exchange.RPCMicrosoft.Exchange.WebServices
Microsoft.Exchange.RPCMicrosoft.Exchange.WebServices
D’autres valeurs possibles pour cet en-tête sont les suivantes :
Microsoft.Exchange.Powershell
Microsoft.Exchange.SMTP
Microsoft.Exchange.Pop
Microsoft.Exchange.Imap
X-MS-Client-User-Agent
Type de revendication : https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-user-agent
Cette revendication AD FS fournit une chaîne pour représenter le type d’appareil que le client utilise pour accéder au service. Cela peut être utilisé lorsque les clients souhaitent empêcher l’accès à certains appareils (par exemple, certains types de téléphones intelligents). Les exemples de valeurs pour cette revendication incluent (sans s’y limiter) les valeurs ci-dessous.
Vous trouverez ci-dessous des exemples de valeurs de x-ms-user-agent pour un client dont la valeur de x-ms-client-application est « 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
Il est également possible que cette valeur soit vide.
X-MS-Proxy
Type de revendication : https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy
Cette revendication AD FS indique que la requête est passée par le proxy d’application web. Cette revendication est remplie par le proxy d’application web, qui remplit l’en-tête au moment du passage de la requête d’authentification au service FS (Federation Service) back-end. AD FS le convertit ensuite en revendication.
La valeur de la revendication correspond au nom DNS du proxy d’application web qui a passé la requête.
InsideCorporateNetwork
Type de revendication : https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork
À l’image du type de revendication x-ms-proxy ci-dessus, ce type de revendication indique si la requête est passée par le proxy d’application web. Contrairement à x-ms-proxy, insidecorporatenetwork est une valeur booléenne, où True indique l’envoi direct d’une requête au service FS (Federation Service) à partir du réseau d’entreprise.
X-MS-Endpoint-Absolute-Path (actif ou passif)
Type de revendication : https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path
Ce type de revendication peut être utilisé pour déterminer quelles sont les requêtes provenant de clients « actifs » (riches) par rapport aux clients « passifs » (basés sur un navigateur web). Cela permet d’autoriser les requêtes externes provenant d’applications basées sur un navigateur, telles que Outlook Web Access, SharePoint Online ou le portail Office 365, tandis que les demandes provenant de clients riches tels que Microsoft Outlook sont bloquées.
La valeur de la revendication est le nom du service AD FS qui a reçu la requête.