Onde estão as afirmações de 'DeviceContext' ao usar um navegador alternativo no ADFS 4.0?

1

Eu sei que este provavelmente não é o melhor lugar para fazer essa pergunta. Mas, depois de dias trabalhando nisso, e tendo postado no Fórum Microsoft , estou no meu juízo final.

Estamos utilizando uma instalação híbrida do ADFS 4.0 (Server 2016) / Azure AD / Office 365 com o registro do dispositivo e o SSO funcionando.

Estamos tentando ativar a autenticação de vários fatores com políticas de acesso baseadas em dispositivo. Não queremos que dispositivos "reconhecidos" vejam prompts adicionais de MFA. Estamos avaliando as declarações retornadas pelo ADFS usando o Microsoft Claims Xray .

Nós habilitamos com êxito o MFA e configuramos o ADFS para solicitar somente MFA se um dispositivo não for reconhecido. Isso funciona porque os dispositivos reconhecidos têm propriedades adicionais no diretório ativo (isRegisteredUser; isManaged; isKnown; trustType; etc) e podemos agir nessas propriedades. Testamos com o IE, Firefox, Chrome e Safari em um iPad. No entanto, as afirmações "DeviceContext" só aparecem quando a autenticação é feita a partir do IE ou do Safari no iPad.

Por algum motivo, parece que não ocorre autenticação de dispositivo quando o pedido é feito a partir do Chrome ou do Firefox. A autenticação funciona, nós simplesmente não podemos ver nenhuma das declarações devicecontext que nos permitem tomar uma decisão com base em se o dispositivo está registrado ou não. Então, esses navegadores recebem um prompt adicional de MFA.

Eu simplesmente não consigo encontrar nenhuma postagem on-line correspondendo ao meu problema exato. Existem alguns tópicos semelhantes, mas que se revelam problemas diferentes ou acabam em um beco sem saída. Espero que alguém tenha essa configuração semelhante e saiba por que o Chrome e o Firefox não executariam a autenticação adicional baseada em dispositivo, mas o Safari em um iPad faria isso. Todos os dispositivos possuem certificados válidos para realizar a autenticação.

Eu não recebo nenhum erro em qualquer log de eventos. O navegador simplesmente não faz uma solicitação de autenticação de dispositivo e nenhuma declaração devicecontext é emitida. É possível que isso não seja suportado, mas não consigo encontrar nenhuma informação indicando de uma forma ou de outra.

    
por Appleoddity 24.01.2018 / 23:20

1 resposta

1

As declarações de contexto do dispositivo são necessárias para o ADFS / Azure AD determinar se um dispositivo é reconhecido, gerenciado, compatível, etc. Sem elas, os cenários que dependem do MFA e do SSO são interrompidos, se ignorar o MFA depende do "reconhecimento" de um dispositivo. As declarações de contexto do dispositivo são geradas quando a autenticação do dispositivo é executada junto com a autenticação do usuário no ADFS.

Descobri que, no Windows 7, uma máquina do Workplace Joined é baseada em usuário e recebe um certificado de autenticação de dispositivo armazenado no armazenamento de certificados "Usuário atual". Durante a autenticação, a autenticação do dispositivo é realizada com sucesso usando o certificado, mesmo no Chrome.

No Windows 10, descobri que o registro do dispositivo do Azure AD é por máquina e a máquina recebe um certificado de autenticação de dispositivo armazenado no armazenamento de certificados "Máquina local". Durante a autenticação, o IE e o Edge usam com êxito este certificado para concluir a autenticação do dispositivo. O Chrome não tocará em nenhum certificado no armazenamento de certificados "Máquina local". Se estiver usando o Chrome, o dispositivo não é reconhecido, o MFA falha e o usuário é solicitado a fornecer uma forma secundária de autenticação.

Este parece ser um problema conhecido com navegadores alternativos sem uma resposta adequada. Sem a autenticação do dispositivo, um dispositivo não pode ser reconhecido com a finalidade de ignorar o MFA com políticas de acesso condicional.

A Microsoft forneceu um plug-in para o Google Chrome, que permite executar a autenticação do dispositivo ao usar o MFA. No entanto, há algumas ressalvas a serem observadas:

  • O plug-in só funciona para o Chrome e funciona apenas com as atualizações do Windows 10 Creators (1703) ou mais recentes.
  • O plug-in só funciona para as políticas de acesso condicional do Azure AD.
  • As políticas de acesso condicional baseadas no dispositivo do ADFS não funcionarão.
  • Terceiros confiando no ADFS diferente do Office 365 não poderão utilizar o plug-in devido à limitação anterior.

Para encurtar a história, a autenticação de dispositivos do Windows 7 parece funcionar bem e os dispositivos reconhecidos suportarão políticas de acesso condicional com base em dispositivos se você usar o Google Chrome. Os dispositivos do Windows 10 que usam o Chrome têm capacidade limitada para oferecer suporte a políticas de acesso condicional com base em dispositivos. Os dispositivos móveis recebem um certificado com base no usuário quando cadastrados no MDM, portanto, eles também parecem suportar ignorar o MFA quando o dispositivo é gerenciado.

Eu acredito que o principal problema aqui é que os desenvolvedores do Chrome impediram deliberadamente que ele acessasse o armazenamento de certificados "Computador Local" para fins de autenticação. Isso pode ser verificado com o Process Monitor e a partir dos certificados disponíveis nas configurações de certificado no Chrome.

Lamento dizer isso, mas a Mozilla continuou sua abordagem obstinada, o que faz com que o navegador seja muito difícil de utilizar na empresa, e os desenvolvedores fizeram com que o Firefox não conseguisse acessar nenhum armazenamento de certificados do Windows. Portanto, a menos que você importe deliberadamente um certificado para o Firefox, o acesso condicional baseado em dispositivo não funciona em nenhum SO.

    
por 06.02.2018 / 21:45