O Que é o Active Directory Federation Services
O ADFS é um componente do Windows Server que permite clientes acessarem aplicativos de terceiros (geralmente) com as credenciais do Active Directory, sem a necessidade de o usuário ter vários usuários e senhas.
Active Directory Federation Services
O ADFS teve um grande aumento quando o Office 365 começou a ser comercializado, pois no passado não existia a parte de regras de acesso condicional no Azure AD. Com o ADFS era/é possível criar regras de controle de acesso, bloqueios entre outros.
Como alguns clientes precisavam de segurança adicional e SSO, o ADFS foi utilizado para esta finalidade. A Microsoft melhorou e muito o produto desde que foi lançado, removendo até mesmo a necessidade de ter o IIS instalado na máquina (para versões mais antigas). Com o lançamento da versão 3.0 foi removido a necessidade do IIS, facilitando a instalação e gerenciamento do ADFS.
Arquitetura Active Directory Federation Services
Para se ter o ADFS com alta disponibilidade é necessário se ter ao menos 6 máquinas que são:
02 Máquinas com o ADFS instalado;
02 Máquinas com o proxy reverso instalado;
02 Máquinas com o Active Directory instalado.
Exemplo de arquitetura baseada no Azure
Além da arquitetura mencionada acima, ainda temos os componentes necessários para que o ADFS funcione, que são:
Certificado SSL;
Load Balance;
Ip público;
Regras de firewall.
No geral a arquitetura é bem simples, com o DNS publicado o cliente acessa a url do ADFS, porém antes de acessar o ADFS a URL passa pelo Web Application Proxy (Wap) que funciona como um proxy reverso. Depois de passar pelo Wap o cliente acessa o ADFS, informando o login e senha o ADFS envia uma requisição para o AD. Caso o login esteja errado ou, exista algum tipo de política para bloqueio é retornado para o usuário um erro. Caso esteja tudo correto o usuário pode fazer o login.
O ADFS por ter contato direto com o AD não pode ficar exposto na internet, o mais usual nos clientes é utilizar o WAP, um recurso de proxy rever que pode ser instalado através de role/feature do Windows Server.
Assessment Active Directory Federation Services
Antes de fazermos a migração do ADFS é necessário efetuar o levantamento das aplicações que existem configuradas no ADFS. Para isto eu utilizei em alguns projetos um script do Github:
https://github.com/AzureAD/AzureADAssessment/tree/master
A página acima tem outros scripts que também já utilizei em alguns clientes e trazem informações importantes.
Existe também uma outra forma de fazer a avaliação dos aplicativos configurados no ADFS, que é utilizando o agente do Connect Health para ter os dados das aplicações configuradas no ADFS. O agente deve ser instalado no ADFS, porém é necessário ter Entra ID P1. O que em alguns clientes este custo pode atrapalhar.
Nas imagens acima podemos ver que o Connect Health não é utilizado somente para entendimento das aplicações que estão configuradas no ADFS, mas também para monitorar o ADFS.
É possível utilizar a gui do ADFS para fazer o levantamento, mas é algo que acaba tomando muito tempo, quando é necessário ter dados da aplicação se existe regras de bloqueio atreladas a ela, por isto eu recomendo a utilização do script.
Ref:
https://learn.microsoft.com/pt-br/azure/architecture/reference-architectures/identity/adfs
https://learn.microsoft.com/pt-br/azure/active-directory/hybrid/connect/reference-connect-ports