Compartilhar 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 em nossas perguntas frequentes.

Com a autenticação multifator do Microsoft Entra, os usuários podem optar por receber uma chamada de voz automatizada em um número de telefone que se registram para verificação. Usuários mal-intencionados podem aproveitar esse método criando várias contas e fazendo chamadas telefônicas sem concluir o processo de registro de MFA. Esses numerosos cadastros com falha podem esgotar as tentativas de inscrição permitidas, impedindo que outros usuários se cadastrem para novas contas em seu tenant do Azure AD B2C. Para ajudar a proteger contra esses ataques, você pode usar o Azure Monitor para monitorar falhas de autenticação telefônica e reduzir as inscrição fraudulentas.

Importante

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

Pré-requisitos

Antes de começar, crie um workspace do Log Analytics.

Criar uma pasta de trabalho de eventos de MFA baseada em telefone

O repositório 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 dashboards com base nos logs do Azure AD B2C. A planilha de rascunho exibida abaixo destaca falhas relacionadas a telefones.

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 a má reputação
  • Endereço IP com autenticações telefônicas com falha (a contagem total de autenticações telefônicas com falha para cada endereço IP especificado)
  • Números de telefone com endereço IP – Autenticações telefônicas com falha
  • Navegador (falhas de autenticação de telefone por navegador do cliente)
  • Sistema operacional (falhas de autenticação de telefone por sistema operacional cliente)

Guia Visão geral

Aba de Detalhes

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

  • Política do Azure AD B2C – Autenticações telefônicas com falha
  • Falhas de autenticação de telefone por número de telefone – gráfico de tempo (linha do tempo ajustável)
  • Falhas na autenticação por telefone da Política do Azure AD B2C – Gráfico temporal (com linha do tempo ajustável)
  • Falhas de autenticação de telefone por endereço IP – Gráfico de Tempo (linha do tempo ajustável)
  • Selecione Número de Telefone para Exibir Detalhes da Falha (selecione um número de telefone para obter uma lista detalhada de falhas)

Detalhes guia 1 de 3

Detalhes guia 2 de 3

Detalhes guia 3 de 3

Usar a planilha para identificar inscrições fraudulentas

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

  1. Entenda o que é normal para seu locatário respondendo a estas perguntas:

    • Onde estão as regiões das quais você espera MFA baseado em telefone?
    • Examine os motivos apresentados para tentativas fracassadas de MFA com base em telefone; eles são considerados normais ou esperados?
  2. Reconhecer as características da inscrição fraudulenta:

    • Baseado em localização: examine falhas de autenticação telefônica 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.

    • Baseado em velocidade: veja Horas Extras de Autenticações de Telefone com Falha (Por dia), que indica números de telefone que estão fazendo um número anormal de tentativas de autenticação de telefone com falha por dia, ordenados do maior (à esquerda) para o menor (à direita).
  3. Reduza as inscrições fraudulentas seguindo as etapas na próxima seção.

Mitigar as inscrições fraudulentas no fluxo de usuário

Execute as ações a seguir para ajudar a atenuar as inscrição fraudulentas.

  • Use as versões recomendadas dos fluxos de usuário para fazer o seguinte:

  • Remova códigos de país/região que não são relevantes para sua organização no menu suspenso em que o usuário verifica seu número de telefone (essa alteração se aplicará a inscrições futuras):

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

    2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para seu locatário do Azure AD B2C no menu Diretórios + assinaturas.

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

    4. Selecione o fluxo do usuário e selecione Idiomas. Selecione o idioma da localização geográfica primária 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 multifatore selecione Padrões de download (EN).

      Carregue novas substituições para baixar padrões

    5. Abra o arquivo JSON que foi baixado na etapa anterior. No arquivo, pesquise 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 de Substituições esteja ativada (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 o countryList no arquivo JSON atua como uma lista de permissões, inclua todos os países/regiões que devem ter permissão para enviar SMS nesta lista para a configuração de idioma primário quando as Substituições forem verdadeiras.

Observação

Você pode personalizar a lista de códigos de país/região permitidos no countryList elemento (consulte o exemplo da página de autenticação de fator de 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 os Estados Unidos são o único código de país disponível na lista suspensa:

    Lista suspensa de códigos de país

Mitigar inscrições fraudulentas para política personalizada

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

  1. Localize o arquivo de política que define o RelyingParty. Por exemplo, no Pacote Inicial, geralmente esse é o arquivo SignUpOrSignin.xml. Veja o snippet 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. Inclua apenas os códigos de país/região relevantes para 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>
    

    O countryList atua 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 a 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.