Políticas de controle de acesso no AD FS para Windows Server 2012 R2 e Windows Server 2012

As políticas descritas neste artigo usam dois tipos de declarações

  1. Declarações criadas pelo AD FS com base em informações que o AD FS e o Proxy de aplicativo Web podem inspecionar e verificar, como o endereço IP do cliente que se conecta diretamente ao AD FS ou ao WAP.

  2. Declarações que o AD FS cria com base nas informações encaminhadas ao AD FS pelo cliente como cabeçalhos HTTP

Importante: as políticas, conforme documentado abaixo, bloquearão os cenários de ingresso e logon no domínio do Windows 10 que exigem acesso aos seguintes pontos de extremidade adicionais

Pontos de extremidade do AD FS necessários para ingresso e logon no domínio do Windows 10

  • [nome do serviço de federação]/adfs/services/trust/2005/windowstransport
  • [nome do serviço de federação]/adfs/services/trust/13/windowstransport
  • [nome do serviço de federação]/adfs/services/trust/2005/usernamemixed
  • [nome do serviço de federação]/adfs/services/trust/13/usernamemixed
  • [nome do serviço de federação]/adfs/services/trust/2005/certificatemixed
  • [nome do serviço de federação]/adfs/services/trust/13/certificatemixed

Importante: os pontos de extremidade /adfs/services/trust/2005/windowstransport e /adfs/services/trust/13/windowstransport só devem ser habilitados para acesso à intranet, pois eles devem ser pontos de extremidade voltados para intranet que usam a associação WIA em HTTPS. Expor esses pontos de extremidade à extranet pode permitir que as solicitações contra eles ignorem as proteções de bloqueio. Esses pontos de extremidade devem ser desabilitados no proxy (ou seja, desabilitados na extranet) para proteger o bloqueio da conta do AD.

Para resolver, atualize as políticas que negam com base na declaração do ponto de extremidade para permitir exceção para os pontos de extremidade acima.

Por exemplo, a regra abaixo:

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");

seria atualizada para:

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");

Observação

As declarações dessa categoria só devem ser usadas para implementar políticas de negócios e não políticas de segurança para proteger o acesso à sua rede. É possível que clientes não autorizados enviem cabeçalhos com informações falsas como uma forma de obter acesso.

As políticas descritas neste artigo sempre devem ser usadas com outro método de autenticação, como nome de usuário e senha ou autenticação multifator.

Cenários de políticas de acesso do cliente

Cenário Descrição
Cenário 1: Bloquear todo o acesso externo ao Office 365 O acesso ao Office 365 é permitido a todos os clientes na rede corporativa interna, mas as solicitações de clientes externos são negadas com base no endereço IP do cliente externo.
Cenário 2: Bloquear todo o acesso externo ao Office 365, exceto o Exchange ActiveSync O acesso ao Office 365 é permitido a todos os clientes na rede corporativa interna, bem como a qualquer dispositivo cliente externo, como smartphones, que fazem uso de Exchange ActiveSync. Todos os outros clientes externos, como aqueles que usam o Outlook, são bloqueados.
Cenário 3: Bloquear todo o acesso externo ao Office 365, exceto os aplicativos baseados em navegador Bloqueia o acesso externo ao Office 365, exceto para aplicativos passivos (baseados em navegador), como o Outlook Web Access ou o SharePoint Online.
Cenário 4: bloquear todo o acesso externo ao Office 365, exceto em grupos designados do Active Directory Esse cenário é usado para testar e validar a implantação da política de acesso do cliente. Ele bloqueia o acesso externo ao Office 365 apenas para membros de um ou mais grupos do Active Directory. Ele também pode ser usado para fornecer acesso externo somente aos membros de um grupo.

Como habilitar a política de acesso ao cliente

Para habilitar a política de acesso ao cliente no AD FS do Windows Server 2012 R2, atualize o objeto de confiança de terceira parte confiável da Plataforma de Identidade do Microsoft Office 365. Escolha um dos cenários de exemplo abaixo para configurar as regras de declaração no objeto de confiança de terceira parte confiável da Plataforma de Identidade do Microsoft Office 365 que melhor atenda às necessidades da sua organização.

Cenário 1: Bloquear todo o acesso externo ao Office 365

Este cenário de política de acesso para cliente permite o acesso de todos os clientes internos e bloqueia todos os clientes externos com base no endereço IP do cliente externo. Use os procedimentos a seguir para adicionar as regras corretas de Autorização de Emissão ao objeto de confiança de terceira parte confiável do Office 365 para o cenário escolhido.

Para criar regras a fim de bloquear todo o acesso externo ao Office 365
  1. No Gerenciador do servidor, selecione Ferramentas e, em seguida, selecione Gerenciamento do AD FS.

  2. Na árvore do console, em AD FS\Relações de Confiança, selecione Objetos de confiança de terceira parte confiável, clique com o botão direito do mouse na relação de confiança da Plataforma de identidade do Microsoft Office 365 e selecione Editar regras de declaração.

  3. Na caixa de diálogo Editar regras de declaração, selecione a guia Regras de autorização de emissão e selecione Adicionar regra para iniciar o Assistente de regra de declaração.

  4. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  5. Na página Configurar regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo, "Se houver alguma declaração de IP fora do intervalo desejado, negar". Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração (substitua o valor acima por "x-ms-forwarded-client-ip" com uma expressão 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");

  6. Clique em Concluir. Verifique se a nova regra aparece na lista Regras de autorização de emissão antes da regra padrão Permitir acesso a todos os usuários (a regra Negar terá precedência mesmo que apareça anteriormente na lista). Caso não tenha a regra de acesso de permissão padrão, é possível adicionar uma no final da lista usando o idioma da regra de declaração da seguinte maneira:

    c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");

  7. Para salvar as novas regras, na caixa de diálogo Editar regras de declaração, clique em OK. A lista resultante deve ser semelhante à seguinte.

    Issuance Auth Rules

Cenário 2: Bloquear todo o acesso externo ao Office 365, exceto o Exchange ActiveSync

O exemplo a seguir permite o acesso a todos os aplicativos do Office 365, incluindo o Exchange Online, em clientes internos, incluindo o Outlook. Ele bloqueia o acesso para clientes que residem fora da rede corporativa, conforme indicado pelo endereço IP do cliente, exceto os clientes do Exchange ActiveSync, como telefones inteligentes.

Para criar regras a fim de bloquear todo o acesso externo ao Office 365, exceto o Exchange ActiveSync
  1. No Gerenciador do servidor, selecione Ferramentas e, em seguida, selecione Gerenciamento do AD FS.

  2. Na árvore do console, em AD FS\Relações de Confiança, selecione Objetos de confiança de terceira parte confiável, clique com o botão direito do mouse na relação de confiança da Plataforma de identidade do Microsoft Office 365 e selecione Editar regras de declaração.

  3. Na caixa de diálogo Editar regras de declaração, selecione a guia Regras de autorização de emissão e selecione Adicionar regra para iniciar o Assistente de regra de declaração.

  4. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  5. Na página Configurar regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo, "Se houver alguma declaração de IP fora do intervalo desejado, emita declaração ipoutsiderange". Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração (substitua o valor acima por "x-ms-forwarded-client-ip" com uma expressão 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");

  6. Clique em Concluir. Verifique se a nova regra aparece na lista Regras de autorização de emissão.

  7. Em seguida, na caixa de diálogo Editar regras de declaração, na guia Regras de autorização de emissão, selecione Adicionar regra para iniciar o Assistente de regra de declaração novamente.

  8. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  9. Na página Configurar Regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo "Se houver um IP fora do intervalo desejado E houver uma declaração não EAS x-ms-client-application, negar". Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração:

    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");
    
  10. Clique em Concluir. Verifique se a nova regra aparece na lista Regras de autorização de emissão.

  11. Em seguida, na caixa de diálogo Editar regras de declaração, na guia Regras de autorização de emissão, selecione Adicionar regra para iniciar o Assistente de regra de declaração novamente.

  12. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  13. Na página Configurar regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo, "verificar se a declaração de aplicativo existe". Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração:

    NOT EXISTS([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application"]) => add(Type = "http://custom/xmsapplication", Value = "fail");
    
  14. Clique em Concluir. Verifique se a nova regra aparece na lista Regras de autorização de emissão.

  15. Em seguida, na caixa de diálogo Editar regras de declaração, na guia Regras de autorização de emissão, selecione Adicionar regra para iniciar o Assistente de regra de declaração novamente.

  16. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  17. Na página Configurar regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo, "negar usuários com ipoutsiderange verdadeiro e falha de aplicativo". Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração:

    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");
    
  18. Clique em Concluir. Verifique se a nova regra aparece imediatamente abaixo da regra anterior antes da regra padrão Permitir acesso a todos os usuários na lista Regras de autorização de emissão (a regra Negar terá precedência mesmo que apareça anteriormente na lista).

    Caso não tenha a regra de acesso de permissão padrão, é possível adicionar uma no final da lista usando o idioma da regra de declaração da seguinte maneira:

    c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
    
  19. Para salvar as novas regras, na caixa de diálogo Editar regras de declaração, clique em OK. A lista resultante deve ser semelhante à seguinte.

    Issuance Authorization Rules

Cenário 3: Bloquear todo o acesso externo ao Office 365, exceto os aplicativos baseados em navegador

Para criar regras para bloquear todo o acesso externo ao Office 365, exceto os aplicativos baseados em navegador
  1. No Gerenciador do servidor, selecione Ferramentas e, em seguida, selecione Gerenciamento do AD FS.

  2. Na árvore do console, em AD FS\Relações de Confiança, selecione Objetos de confiança de terceira parte confiável, clique com o botão direito do mouse na relação de confiança da Plataforma de identidade do Microsoft Office 365 e selecione Editar regras de declaração.

  3. Na caixa de diálogo Editar regras de declaração, selecione a guia Regras de autorização de emissão e selecione Adicionar regra para iniciar o Assistente de regra de declaração.

  4. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  5. Na página Configurar regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo, "Se houver alguma declaração de IP fora do intervalo desejado, emita declaração ipoutsiderange". Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração(substitua o valor acima por "x-ms-forwarded-client-ip" com uma expressão 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");
  1. Clique em Concluir. Verifique se a nova regra aparece na lista Regras de autorização de emissão.

  2. Em seguida, na caixa de diálogo Editar regras de declaração, na guia Regras de autorização de emissão, selecione Adicionar regra para iniciar o Assistente de regra de declaração novamente.

  3. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  4. Na página Configurar Regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo, "Se houver um IP fora do intervalo desejado E o terminal não for /adfs/ls, negar". Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração:

    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");`
    
  5. Clique em Concluir. Verifique se a nova regra aparece na lista Regras de autorização de emissão antes da regra padrão Permitir acesso a todos os usuários (a regra Negar terá precedência mesmo que apareça anteriormente na lista).

    Caso não tenha a regra de acesso de permissão padrão, é possível adicionar uma no final da lista usando o idioma da regra de declaração da seguinte maneira:

c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");

  1. Para salvar as novas regras, na caixa de diálogo Editar regras de declaração, clique em OK. A lista resultante deve ser semelhante à seguinte.

    Screenshot that shows the Edit Claim Rules dialog box.

Cenário 4: bloquear todo o acesso externo ao Office 365, exceto em grupos designados do Active Directory

O exemplo a seguir permite o acesso em clientes internos com base no endereço IP. Ele bloqueia o acesso de clientes que residem fora da rede corporativa que têm um endereço IP do cliente externo, exceto aqueles indivíduos em um Grupo do Active Directory especificado. Use as seguintes etapas para adicionar as Regras de autorização de emissão corretas ao objeto de confiança de terceira parte confiável da Plataforma de identidade do Microsoft Office 365 usando o Assistente de regra de declaração:

Para criar regras para bloquear todo o acesso externo ao Office 365, exceto em grupos designados do Active Directory
  1. No Gerenciador do servidor, selecione Ferramentas e, em seguida, selecione Gerenciamento do AD FS.

  2. Na árvore do console, em AD FS\Relações de Confiança, selecione Objetos de confiança de terceira parte confiável, clique com o botão direito do mouse na relação de confiança da Plataforma de identidade do Microsoft Office 365 e selecione Editar regras de declaração.

  3. Na caixa de diálogo Editar regras de declaração, selecione a guia Regras de autorização de emissão e selecione Adicionar regra para iniciar o Assistente de regra de declaração.

  4. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  5. Na página Configurar regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo, "Se houver alguma declaração de IP fora do intervalo desejado, emita declaração ipoutsiderange." Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração(substitua o valor acima por "x-ms-forwarded-client-ip" com uma expressão 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");`
    
  6. Clique em Concluir. Verifique se a nova regra aparece na lista Regras de autorização de emissão.

  7. Em seguida, na caixa de diálogo Editar regras de declaração, na guia Regras de autorização de emissão, selecione Adicionar regra para iniciar o Assistente de regra de declaração novamente.

  8. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  9. Na página Configurar regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo, "verificar o SID do grupo". Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração (substitua "groupsid" pelo SID real do grupo do AD que está usando):

    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");
    
  10. Clique em Concluir. Verifique se a nova regra aparece na lista Regras de autorização de emissão.

  11. Em seguida, na caixa de diálogo Editar regras de declaração, na guia Regras de autorização de emissão, selecione Adicionar regra para iniciar o Assistente de regra de declaração novamente.

  12. Na página Selecionar modelo de regra, em Modelo de regra de declaração, selecione Enviar declarações usando uma regra personalizada e selecione Avançar.

  13. Na página Configurar regra, em Nome da regra de declaração, digite o nome de exibição dessa regra, por exemplo, "negar usuários com ipoutsiderange verdadeiro e a ID de grupos falhar". Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração:

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");
  1. Clique em Concluir. Verifique se a nova regra aparece imediatamente abaixo da regra anterior antes da regra padrão Permitir acesso a todos os usuários na lista Regras de autorização de emissão (a regra Negar terá precedência mesmo que apareça anteriormente na lista).

    Caso não tenha a regra de acesso de permissão padrão, é possível adicionar uma no final da lista usando o idioma da regra de declaração da seguinte maneira:
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
  1. Para salvar as novas regras, na caixa de diálogo Editar regras de declaração, clique em OK. A lista resultante deve ser semelhante à seguinte.

    Issuance

Como criar a expressão de intervalo de endereços IP

A declaração x-ms-forwarded-client-ip é preenchida com base em um cabeçalho HTTP que atualmente é definido apenas pelo Exchange Online, que preenche o cabeçalho ao transmitir a solicitação de autenticação para o AD FS. O valor da declaração pode ser um dos seguintes:

Observação

Atualmente, o Exchange Online só dá suporte a endereços IPv4 e não IPv6.

  • Um endereço IP individual: o endereço IP do cliente conectado diretamente ao Exchange Online

Observação

  • O endereço IP de um cliente na rede corporativa será exibido como o endereço IP da interface externa do proxy ou do gateway de saída da organização.
  • Os clientes conectados à rede corporativa por uma VPN ou pelo Microsoft DA (DirectAccess) podem ser exibidos como clientes corporativos internos ou como clientes externos, dependendo da configuração de VPN ou do DA.
  • Um ou mais endereços IP: quando o Exchange Online não puder determinar o endereço IP do cliente de conexão, ele definirá o valor com base no valor do cabeçalho x-forwarded-for, um cabeçalho não padrão que pode ser incluído em solicitações baseadas em HTTP e que é compatível com vários clientes, balanceadores de carga e proxies no mercado.

Observação

  1. Endereços IP múltiplos, indicando o endereço IP do cliente e o endereço de cada proxy que transmitiu a solicitação, serão separados por uma vírgula.
  2. Os endereços IP relacionados à infraestrutura do Exchange Online não estarão na lista.

Expressões regulares

Quando você precisa encontrar uma correspondência para um intervalo de endereços IP, torna-se necessário construir uma expressão regular para fazer a comparação. Na próxima série de etapas, forneceremos exemplos de como construir essa expressão para corresponder aos seguintes intervalos de endereços (observe que você precisará alterar esses exemplos para correspondê-los ao intervalo de IP público):

  • 192.168.1.1 – 192.168.1.25

  • 10.0.0.1 – 10.0.0.14

    Primeiro, o padrão básico que corresponderá a um endereço IP individual é o seguinte: \b###\.###\.###\.###\b

    Estendendo isso, podemos corresponder dois endereços IP diferentes com uma expressão OR da seguinte maneira: \b###\.###\.###\.###\b|\b###\.###\.###\.###\b

    Portanto, um exemplo usado para correspondência de apenas dois endereços (como 192.168.1.1 ou 10.0.0.1) será: \b192\.168\.1\.1\b|\b10\.0\.0\.1\b

    Isso fornece a técnica pela qual você pode inserir qualquer número de endereços. Quando um intervalo de endereços precisa ser permitido, por exemplo, 192.168.1.1 – 192.168.1.25, a correspondência precisa ser feita caractere por caractere: \b192\.168\.1\.([1-9]|1[0-9]|2[0-5])\b

    Observe o seguinte:

  • O endereço IP é tratado como uma cadeia de caracteres e não como um número.

  • A regra é dividida da seguinte maneira: \b192\.168\.1\.

  • Isso corresponde a qualquer valor a partir de 192.168.1.

  • O seguinte exemplo corresponde aos intervalos necessários para a parte do endereço após o ponto decimal final:

    • ([1-9] Corresponde aos endereços que terminam em 1-9

    • |1[0-9] Corresponde aos endereços que terminam em 19-10

    • |2[0-5]) Corresponde aos endereços que terminam em 20-25

  • Observe que os parênteses precisam estar posicionados corretamente para que você não comece a correspondência com outras partes de endereços IP.

  • Com o bloco 192 correspondente, podemos escrever uma expressão semelhante para o bloco 10: \b10\.0\.0\.([1-9]|1[0-4])\b

  • Juntando tudo, a seguinte expressão encontrará a correspondência de todos os endereços de “192.168.1.1~25” e “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

Como testar a expressão

As expressões regex podem se tornar bastante complicadas. Portanto, recomendamos fortemente o uso de uma ferramenta de verificação regex. Se você fizer uma pesquisa na Internet por “construtor de expressões regex online”, encontrará vários bons utilitários online que permitirão que você teste suas expressões nos dados de exemplo.

Ao testar a expressão, é importante que você entenda o que é esperado que precise encontrar a correspondência. O sistema online do Exchange poderá enviar muitos endereços IP, separados por vírgulas. As expressões fornecidas acima funcionarão para isso. No entanto, é importante pensar nisso ao testar suas expressões regex. Por exemplo, é possível usar o seguinte exemplo de entrada para verificar os exemplos acima:

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 declaração

O AD FS no Windows Server 2012 R2 fornece informações de contexto de solicitação usando os seguintes tipos de declaração:

X-MS-Forwarded-Client-IP

Tipo de declaração: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip

Essa declaração do AD FS representa uma "melhor tentativa" de verificar o endereço IP do usuário (por exemplo, o cliente do Outlook) que está fazendo a solicitação. Essa declaração pode conter vários endereços IP, incluindo o endereço de cada proxy que encaminhou a solicitação. Essa declaração é preenchida de um HTTP. O valor da declaração pode ser um destes procedimentos:

  • Um único endereço IP – o endereço IP do cliente conectado diretamente ao Exchange Online

Observação

O endereço IP de um cliente na rede corporativa aparecerá como o endereço IP da interface externa do proxy ou gateway de saída da organização.

  • Um ou mais endereços IP

    • Se o Exchange Online não puder determinar o endereço IP do cliente de conexão, ele definirá o valor com base no valor do cabeçalho x-forwarded-for, um cabeçalho não padrão que pode ser incluído em solicitações baseadas em HTTP e tem suporte de muitos clientes, balanceadores de carga e proxies no mercado.

    • Vários endereços IP que indicam o endereço IP do cliente e o endereço de cada proxy que passou pela solicitação serão separados por uma vírgula.

Observação

Os endereços IP relacionados à infraestrutura do Exchange Online não estarão presentes na lista.

Aviso

O Exchange Online atualmente dá suporte apenas a endereços IPV4, ele não dá suporte a endereços IPV6.

X-MS-Client-Application

Tipo de declaração: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application

Essa declaração do AD FS representa o protocolo usado pelo cliente final, que corresponde livremente ao aplicativo que está sendo usado. Essa declaração é preenchida de um cabeçalho HTTP que atualmente é definido apenas por Exchange Online, que preenche o cabeçalho ao passar a solicitação de autenticação para o AD FS. Dependendo do aplicativo, o valor dessa declaração será um dos seguintes:

  • No caso de dispositivos que usam o Sync do Exchange Active, o valor é Microsoft.Exchange.ActiveSync.

  • O uso do cliente Microsoft Outlook pode resultar em qualquer um dos seguintes valores:

    • Microsoft.Exchange.Autodiscover

    • Microsoft.Exchange.OfflineAddressBook

    • Microsoft.Exchange.RPCMicrosoft.Exchange.WebServices

    • Microsoft.Exchange.RPCMicrosoft.Exchange.WebServices

  • Outros valores possíveis para esse cabeçalho incluem o seguinte:

    • Microsoft.Exchange.Powershell

    • Microsoft.Exchange.SMTP

    • Microsoft.Exchange.Pop

    • Microsoft.Exchange.Imap

X-MS-Client-User-Agent

Tipo de declaração: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-user-agent

Essa declaração do AD FS fornece uma cadeia de caracteres para representar o tipo de dispositivo que o cliente está usando para acessar o serviço. Isso pode ser usado quando os clientes quiserem impedir o acesso a determinados dispositivos (como tipos específicos de smartphones). Os valores de exemplo dessa declaração incluem (mas não se limitam a) os valores abaixo.

Veja abaixo exemplos do que o valor x-ms-user-agent pode conter para um cliente cujo x-ms-client-application é "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

    Também é possível que esse valor esteja vazio.

X-MS-Proxy

Tipo de declaração: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy

Essa declaração do AD FS indica que a solicitação passou pelo proxy de aplicativo Web. Essa declaração é preenchida pelo proxy de aplicativo Web, que preenche o cabeçalho ao passar a solicitação de autenticação para o Serviço de Federação de back-end. O AD FS converte-o em uma declaração.

O valor da declaração é o nome DNS do proxy de Aplicativo Web que passou na solicitação.

InsideCorporateNetwork

Tipo de declaração: https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork

Semelhante ao tipo de declaração x-ms-proxy acima, esse tipo de declaração indica se a solicitação passou pelo proxy de aplicativo Web. Ao contrário de x-ms-proxy, insidecorporatenetwork é um valor booliano com True indicando uma solicitação diretamente para o serviço de federação de dentro da rede corporativa.

X-MS-Endpoint-Absolute-Path (Ativo versus Passivo)

Tipo de declaração: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path

Esse tipo de declaração pode ser usado para determinar solicitações originadas de clientes "ativos" (avançados) versus clientes "passivos" (baseados no navegador da Web). Isso permite que solicitações externas de aplicativos baseados em navegador, como o Acesso via Web do Outlook, o SharePoint Online ou o portal do Office 365 sejam permitidas enquanto as solicitações provenientes de clientes avançados, como o Microsoft Outlook, são bloqueadas.

O valor da declaração é o nome do serviço do AD FS que recebeu a solicitação.

Consulte Também

Operações do AD FS