Partilhar via


Protegendo a autenticação multifator baseada em telefone

Importante

A partir de 1º de maio de 2025, o Azure AD B2C não estará mais disponível para compra para novos clientes. Saiba mais nas nossas Perguntas Frequentes.

Com a autenticação multifator Microsoft Entra, os usuários podem optar por receber uma chamada de voz automatizada em um número de telefone que registram para verificação. Usuários mal-intencionados podem tirar proveito desse método criando várias contas e fazendo chamadas telefônicas sem concluir o processo de registro de MFA. Essas inúmeras tentativas de registo falhadas podem esgotar as tentativas de registo permitidas, impedindo que outros utilizadores se registem em novas contas no seu inquilino do Azure AD B2C. Para ajudar a proteger contra esses ataques, você pode usar o Azure Monitor para monitorar falhas de autenticação do telefone e mitigar inscrições fraudulentas.

Importante

O aplicativo autenticador (TOTP) oferece segurança mais forte do que a autenticação multifator SMS/Telefone. Para configurar isso, leia nossas instruções para habilitar a autenticação multifator no Azure Ative Directory B2C.

Pré-requisitos

Antes de começar, crie um espaço de trabalho do Log Analytics.

Criar uma pasta de trabalho de eventos MFA baseada em telefone

O repositório de Relatórios e Alertas do Azure AD B2C no GitHub contém artefatos que você pode usar para criar e publicar relatórios, alertas e painéis com base nos logs do Azure AD B2C. O rascunho da pasta de trabalho exibido abaixo destaca problemas relacionados ao telefone.

Aba Visão Geral

As seguintes informações são mostradas na guia Visão geral :

  • Motivos de falha (o número total de autenticações telefônicas com falha para cada motivo determinado)
  • Bloqueado devido à má reputação
  • Endereço IP com Autenticações de Telefone com Falha (a contagem total de autenticações telefônicas com falha para cada endereço IP fornecido)
  • Números de telefone com endereço IP - Falhas nas autenticações de telefone
  • Navegador (falhas de autenticação do telefone por navegador cliente)
  • Sistema operacional (falhas de autenticação do telefone por sistema operacional cliente)

Guia Visão geral

Aba Detalhes

As seguintes informações são relatadas na guia Detalhes :

  • Política do Azure AD B2C - Autenticações de Telefone com Falha
  • Falhas de autenticação do telefone por número de telefone – Gráfico de tempo (linha do tempo ajustável)
  • Falhas de autenticação de telefone pela política B2C do Azure AD – Gráfico de tempo (linha do tempo ajustável)
  • Falhas de autenticação do telefone por endereço IP – Gráfico de tempo (linha do tempo ajustável)
  • Selecione Número de Telefone para Ver Detalhes de Falha (selecione um número de telefone para obter uma lista detalhada de falhas)

Aba Detalhes 1 de 3

Aba de detalhes 2 de 3

Aba de detalhes 3 de 3

Usar a pasta de trabalho para identificar inscrições fraudulentas

Você pode usar a pasta de trabalho para entender eventos de MFA baseados em telefone e identificar o uso potencialmente mal-intencionado do serviço de telefonia.

  1. Entenda o que é normal para o seu inquilino respondendo a estas perguntas:

    • Onde estão as regiões das quais você espera MFA por telefone?
    • Examine as razões mostradas para tentativas fracassadas de MFA baseadas em telefone; são considerados normais ou esperados?
  2. Reconheça as características da inscrição fraudulenta:

    • Com base na localização: examine as falhas de autenticação do telefone por endereço IP para quaisquer contas associadas a locais dos quais você não espera que os usuários se inscrevam.

    Observação

    O endereço IP fornecido é uma região aproximada.

    • Baseada em velocidade: observe Autenticações de Telefone Falhadas ao Longo do Tempo (Por Dia), que indica números de telefone que estão a fazer um número anormal de tentativas de autenticação de telefone com falha por dia, ordenados do mais alto (esquerda) para o mais baixo (direita).
  3. Reduza as inscrições fraudulentas seguindo as etapas na próxima seção.

Reduza as inscrições fraudulentas para o fluxo de usuários

Execute as seguintes ações para ajudar a mitigar inscrições fraudulentas.

  • Utilize as versões recomendadas dos fluxos de utilizador para fazer o seguinte:

  • Remova os códigos de país/região que não são relevantes para a sua organização da lista pendente onde o utilizador verifica o seu número de telefone (esta alteração será aplicada a futuras adesões):

    1. Entre no portal do Azure como o Administrador de Fluxo de Usuário de ID Externa do seu locatário do Azure AD B2C.

    2. Se tiver acesso a vários inquilinos, selecione o ícone Definições no menu superior para mudar para o inquilino do Azure AD B2C no menu Diretórios + subscrições.

    3. Escolha Todos os serviços no canto superior esquerdo do portal do Azure, procure e selecione Azure AD B2C.

    4. Selecione o fluxo de usuário e, em seguida, selecione Idiomas. Selecione o idioma da localização geográfica principal da sua organização para abrir o painel de detalhes do idioma. (Para este exemplo, selecionaremos inglês en para os Estados Unidos). Selecione a página Autenticação multifator e, em seguida, selecione Descarregar padrões (en).

      Carregar novas overrides para transferir definições padrão

    5. Abra o arquivo JSON que foi baixado na etapa anterior. No ficheiro, procure DEFAULTe substitua a linha por "Value": "{\"DEFAULT\":\"Country/Region\",\"US\":\"United States\"}". Certifique-se de definir Overrides como true.

Para implementar o bloqueio de SMS de forma eficaz, verifique se a configuração Substituições está habilitada (definida como true) apenas para o idioma principal ou padrão da sua organização. Não habilite Substituições para idiomas secundários ou não primários, pois isso pode causar bloqueio inesperado de SMS. Como a 'countryList' no arquivo JSON atua como uma lista de permissões, certifique-se de incluir todos os países/regiões que devem ter permissão para enviar SMS nessa lista para a *configuração de idioma principal* quando a opção Overrides estiver ativada.

Observação

Você pode personalizar a lista de códigos de país/região permitidos no elemento (consulte o countryListexemplo da página Autenticação de fator telefone).

  1. Salve o arquivo JSON. No painel de detalhes do idioma, em Carregar novas substituições, selecione o arquivo JSON modificado para carregá-lo.

  2. Feche o painel e selecione Executar fluxo de usuário. Para este exemplo, confirme se Estados Unidos é o único código de país disponível na lista suspensa:

    Lista suspensa do código do país

Mitigar inscrições fraudulentas para políticas personalizadas

Para ajudar a evitar inscrições fraudulentas, remova todos os códigos de país/região que não se aplicam à sua organização seguindo estas etapas:

  1. Localize o ficheiro de política que define o RelyingParty. Por exemplo, no Starter Pack, este é geralmente o arquivo SignUpOrSignin.xml. Veja o trecho a seguir.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <TrustFrameworkPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06" PolicySchemaVersion="0.3.0.0" TenantId="yourtenant.onmicrosoft.com" PolicyId="B2C_1A_signup_signin" PublicPolicyUri="http://yourtenant.onmicrosoft.com/B2C_1A_signup_signin">
    
     <BasePolicy>
       <TenantId>yourtenant.onmicrosoft.com</TenantId>
       <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
     </BasePolicy>
    
     <BuildingBlocks>
        <!-- Add the XML code outlined in Step 2 if this section. -->
     </BuildingBlocks>
    
     <RelyingParty>
       ...
     </RelyingParty>
    </TrustFrameworkPolicy>
    
  2. BuildingBlocks Na seção deste arquivo de política, adicione o código a seguir. Certifique-se de incluir apenas os códigos de país/região relevantes para a sua organização:

     <BuildingBlocks>
    
       <ContentDefinitions>
         <ContentDefinition Id="api.phonefactor">
           <LoadUri>~/tenant/templates/AzureBlue/multifactor-1.0.0.cshtml</LoadUri>
           <DataUri>urn:com:microsoft:aad:b2c:elements:contract:multifactor:1.2.20</DataUri>
           <Metadata>
             <Item Key="TemplateId">azureBlue</Item>
           </Metadata>
           <LocalizedResourcesReferences MergeBehavior="Prepend">
             <!-- Add only primary business language here -->
             <LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.phonefactor.en" />        
           </LocalizedResourcesReferences>
         </ContentDefinition>
       </ContentDefinitions>
    
       <Localization Enabled="true">
         <SupportedLanguages DefaultLanguage="en" MergeBehavior="ReplaceAll">
           <!-- Add only primary business language here -->
           <SupportedLanguage>en</SupportedLanguage>
         </SupportedLanguages>
    
         <!-- Phone factor for primary business language -->
         <LocalizedResources Id="api.phonefactor.en">
           <LocalizedStrings>
            <LocalizedString ElementType="UxElement" StringId="countryList">{"DEFAULT":"Country/Region","JP":"Japan","BG":"Bulgaria","US":"United States"}</LocalizedString>
           </LocalizedStrings>
         </LocalizedResources>
       </Localization>
    
      </BuildingBlocks>
    

    A countryList funciona como uma lista de permissões. Somente os países/regiões especificados nesta lista (por exemplo, Japão, Bulgária e Estados Unidos) têm permissão para usar MFA. Todos os outros países/regiões estão bloqueados.

Importante

Esse código deve ser adicionado à política de terceira parte confiável para garantir que as restrições de código de país/região sejam aplicadas corretamente no lado do servidor.