Práticas recomendadas para proteger Serviços de Federação do Active Directory (AD FS)Best practices for securing Active Directory Federation Services

Este documento fornece as práticas recomendadas para o planejamento e a implantação seguros do Serviços de Federação do Active Directory (AD FS) (AD FS) e do proxy de aplicativo Web.This document provides best practices for the secure planning and deployment of Active Directory Federation Services (AD FS) and Web Application Proxy. Ele contém informações sobre os comportamentos padrão desses componentes e recomendações para configurações de segurança adicionais para uma organização com casos de uso e requisitos de segurança específicos.It contains information about the default behaviors of these components and recommendations for additional security configurations for an organization with specific use cases and security requirements.

Este documento se aplica a AD FS e WAP no Windows Server 2012 R2 e no Windows Server 2016 (versão prévia).This document applies to AD FS and WAP in Windows Server 2012 R2 and Windows Server 2016 (preview). Essas recomendações podem ser usadas se a infraestrutura for implantada em uma rede local ou em um ambiente hospedado na nuvem, como Microsoft Azure.These recommendations can be used whether the infrastructure is deployed in an on premises network or in a cloud hosted environment such as Microsoft Azure.

Topologia de implantação padrãoStandard deployment topology

Para implantação em ambientes locais, recomendamos uma topologia de implantação padrão que consiste em um ou mais servidores de AD FS na rede corporativa interna, com um ou mais servidores de proxy de aplicativo Web (WAP) em uma rede DMZ ou Extranet.For deployment in on-premises environments, we recommend a standard deployment topology consisting of one or more AD FS servers on the internal corporate network, with one or more Web Application Proxy (WAP) servers in a DMZ or extranet network. Em cada camada, AD FS e WAP, um balanceador de carga de hardware ou software é colocado na frente do farm de servidores e lida com o roteamento de tráfego.At each layer, AD FS and WAP, a hardware or software load balancer is placed in front of the server farm and handles traffic routing. Os firewalls são colocados conforme necessário na frente do endereço IP externo do balanceador de carga na frente de cada farm (FS e proxy).Firewalls are placed as required in front of the external IP address of the load balancer in front of each (FS and proxy) farm.

AD FS topologia padrão

Observação

AD FS requer um controlador de domínio gravável completo para funcionar em oposição a um controlador de domínio somente leitura.AD FS requires a full writable Domain Controller to function as opposed to a Read-Only Domain Controller. Se uma topologia planejada incluir um controlador de domínio somente leitura, o controlador de domínio somente leitura poderá ser usado para autenticação, mas o processamento de declarações LDAP exigirá uma conexão com o controlador de domínio gravável.If a planned topology includes a Read-Only Domain controller, the Read-Only domain controller can be used for authentication but LDAP claims processing will require a connection to the writable domain controller.

Portas necessáriasPorts required

O diagrama abaixo ilustra as portas de firewall que devem ser habilitadas entre e entre os componentes da implantação de AD FS e WAP.The below diagram depicts the firewall ports that must be enabled between and amongst the components of the AD FS and WAP deployment. Se a implantação não incluir o Azure AD/Office 365, os requisitos de sincronização poderão ser desconsiderados.If the deployment does not include Azure AD / Office 365, the sync requirements can be disregarded.

Observe que a porta 49443 só será necessária se a autenticação de certificado do usuário for usada, o que é opcional para o Azure AD e o Office 365.Note that port 49443 is only required if user certificate authentication is used, which is optional for Azure AD and Office 365.

AD FS topologia padrão

Observação

A porta 808 (Windows Server 2012R2) ou a porta 1501 (Windows Server 2016 +) é a porta Net. TCP que o AD FS usa para o ponto de extremidade do WCF local para transferir dados de configuração para o processo de serviço e o PowerShell.Port 808 (Windows Server 2012R2) or port 1501 (Windows Server 2016+) is the Net.TCP port AD FS uses for the local WCF endpoint to transfer configuration data to the service process and Powershell. Essa porta pode ser vista executando Get-Adfsproperties | Selecione NetTcpPort.This port can be seen by running Get-AdfsProperties | select NetTcpPort. Essa é uma porta local que não precisará ser aberta no firewall, mas será exibida em uma verificação de porta.This is a local port that will not need to be opened in the firewall but will be displayed in a port scan.

Azure AD Connect e servidores de Federação/WAPAzure AD Connect and Federation Servers/WAP

Esta tabela descreve as portas e protocolos que são necessários para a comunicação entre o servidor do Azure AD Connect e servidores de Federação/WAP.This table describes the ports and protocols that are required for communication between the Azure AD Connect server and Federation/WAP servers.

ProtocoloProtocol PortasPorts DescriçãoDescription
HTTPHTTP 80 (TCP/UDP)80 (TCP/UDP) Usada para baixar as CRLs (Listas de Certificados Revogados) para verificar os certificados SSL.Used to download CRLs (Certificate Revocation Lists) to verify SSL certificates.
HTTPSHTTPS 443(TCP/UDP)443(TCP/UDP) Usado para sincronizar com o Azure AD.Used to synchronize with Azure AD.
WinRMWinRM 59855985 Ouvinte do WinRMWinRM Listener

Servidores de Federação e WAPWAP and Federation Servers

Esta tabela descreve as portas e protocolos que são necessários para a comunicação entre os servidores de Federação e servidores WAP.This table describes the ports and protocols that are required for communication between the Federation servers and WAP servers.

ProtocoloProtocol PortasPorts DescriçãoDescription
HTTPSHTTPS 443(TCP/UDP)443(TCP/UDP) Usado para autenticação.Used for authentication.

WAP e usuáriosWAP and Users

Esta tabela descreve as portas e protocolos que são necessários para a comunicação entre os usuários e os servidores WAP.This table describes the ports and protocols that are required for communication between users and the WAP servers.

ProtocoloProtocol PortasPorts DescriçãoDescription
HTTPSHTTPS 443(TCP/UDP)443(TCP/UDP) Usado para autenticação de dispositivo.Used for device authentication.
TCPTCP 49443 (TCP)49443 (TCP) Usado para autenticação de certificado.Used for certificate authentication.

Para obter informações adicionais sobre portas e protocolos necessários necessários para implantações híbridas, consulte o documento aqui.For additional information on required ports and protocols required for hybrid deployments see the document here.

Para obter informações detalhadas sobre portas e protocolos necessários para uma implantação do Azure AD e do Office 365, consulte o documento aqui.For detailed information about ports and protocols required for an Azure AD and Office 365 deployment, see the document here.

Pontos de extremidade habilitadosEndpoints enabled

Quando AD FS e WAP são instalados, um conjunto padrão de pontos de extremidade de AD FS é habilitado no serviço de Federação e no proxy.When AD FS and WAP are installed, a default set of AD FS endpoints are enabled on the federation service and on the proxy. Esses padrões foram escolhidos com base nos cenários mais comumente necessários e usados e não é necessário alterá-los.These defaults were chosen based on the most commonly required and used scenarios and it is not necessary to change them.

Adicional Conjunto mínimo de proxy de pontos de extremidade habilitado para o Azure AD/Office 365[Optional] Min set of endpoints proxy enabled for Azure AD / Office 365

As organizações que implantam AD FS e WAP somente para cenários do Azure AD e do Office 365 podem limitar ainda mais o número de pontos de extremidade de AD FS habilitados no proxy para alcançar uma superfície de ataque mais mínima.Organizations deploying AD FS and WAP only for Azure AD and Office 365 scenarios can limit even further the number of AD FS endpoints enabled on the proxy to achieve a more minimal attack surface. Abaixo está a lista de pontos de extremidade que devem ser habilitados no proxy nestes cenários:Below is the list of endpoints that must be enabled on the proxy in these scenarios:

Ponto de extremidadeEndpoint FinalidadePurpose
/adfs/ls/adfs/ls Os fluxos de autenticação baseados em navegador e as versões atuais do Microsoft Office usam esse ponto de extremidade para a autenticação do Azure AD e do Office 365Browser based authentication flows and current versions of Microsoft Office use this endpoint for Azure AD and Office 365 authentication
/adfs/services/trust/2005/usernamemixed/adfs/services/trust/2005/usernamemixed Usado para o Exchange Online com clientes do Office mais antigos do que o Office 2013 pode ser atualizado em 2015.Used for Exchange Online with Office clients older than Office 2013 May 2015 update. Os clientes posteriores usam o ponto de extremidade \adfs\ls passivo.Later clients use the passive \adfs\ls endpoint.
/adfs/services/trust/13/usernamemixed/adfs/services/trust/13/usernamemixed Usado para o Exchange Online com clientes do Office mais antigos do que o Office 2013 pode ser atualizado em 2015.Used for Exchange Online with Office clients older than Office 2013 May 2015 update. Os clientes posteriores usam o ponto de extremidade \adfs\ls passivo.Later clients use the passive \adfs\ls endpoint.
/adfs/oauth2/adfs/oauth2 Este é usado para todos os aplicativos modernos (no local ou na nuvem) que você configurou para autenticar diretamente no AD FS (ou seja, não por meio do AAD)This one is used for any modern apps (on prem or in cloud) you have configured to authenticate directly to AD FS (i.e. not through AAD)
/adfs/services/trust/mex/adfs/services/trust/mex Usado para o Exchange Online com clientes do Office mais antigos do que o Office 2013 pode ser atualizado em 2015.Used for Exchange Online with Office clients older than Office 2013 May 2015 update. Os clientes posteriores usam o ponto de extremidade \adfs\ls passivo.Later clients use the passive \adfs\ls endpoint.
federationmetadata.xml/adfs/ls/FederationMetadata/2007-06//adfs/ls/federationmetadata/2007-06/federationmetadata.xml Requisito para qualquer fluxo passivo; e usado pelo Office 365/Azure AD para verificar AD FS certificados.Requirement for any passive flows; and used by Office 365 / Azure AD to check AD FS certificates.

AD FS pontos de extremidade podem ser desabilitados no proxy usando o seguinte cmdlet do PowerShell:AD FS endpoints can be disabled on the proxy using the following PowerShell cmdlet:

Set-AdfsEndpoint -TargetAddressPath <address path> -Proxy $false

Por exemplo:For example:

Set-AdfsEndpoint -TargetAddressPath /adfs/services/trust/13/certificatemixed -Proxy $false

Proteção Estendida para AutenticaçãoExtended protection for authentication

A proteção estendida para autenticação é um recurso que mitiga contra ataques de interceptação (MITM) e é habilitado por padrão com AD FS.Extended protection for authentication is a feature that mitigates against man in the middle (MITM) attacks and is enabled by default with AD FS.

Para verificar as configurações, você pode fazer o seguinte:To verify the settings, you can do the following:

A configuração pode ser verificada usando o cmdlet do PowerShell abaixo.The setting can be verified using the below PowerShell cmdlet.

Get-ADFSProperties

A propriedade é ExtendedProtectionTokenCheck.The property is ExtendedProtectionTokenCheck. A configuração padrão é permitir, para que os benefícios de segurança possam ser obtidos sem as preocupações com a compatibilidade com navegadores que não dão suporte à funcionalidade.The default setting is Allow, so that the security benefits can be achieved without the compatibility concerns with browsers that do not support the capability.

Controle de congestionamento para proteger o serviço de FederaçãoCongestion control to protect the federation service

O proxy do serviço de Federação (parte do WAP) fornece controle de congestionamento para proteger o serviço de AD FS de uma inundação de solicitações.The federation service proxy (part of the WAP) provides congestion control to protect the AD FS service from a flood of requests. O proxy de aplicativo Web rejeitará solicitações de autenticação de cliente externo se o servidor de Federação estiver sobrecarregado conforme detectado pela latência entre o proxy de aplicativo Web e o servidor de Federação.The Web Application Proxy will reject external client authentication requests if the federation server is overloaded as detected by the latency between the Web Application Proxy and the federation server. Esse recurso é configurado por padrão com um nível de limite de latência recomendado.This feature is configured by default with a recommended latency threshold level.

Para verificar as configurações, você pode fazer o seguinte:To verify the settings, you can do the following:

  1. Em seu computador Proxy do Aplicativo Web, abra uma janela de comando privilegiado.On your Web Application Proxy computer, start an elevated command window.
  2. Navegue até o diretório do ADFS, em%WINDIR%\adfs\config.Navigate to the ADFS directory, at %WINDIR%\adfs\config.
  3. Altere as configurações de controle de congestionamento de seus valores padrão para <congestionControl latencyThresholdInMSec="8000" minCongestionWindowSize="64" enabled="true" /> .Change the congestion control settings from its default values to <congestionControl latencyThresholdInMSec="8000" minCongestionWindowSize="64" enabled="true" />.
  4. Salve e feche o arquivo.Save and close the file.
  5. Reinicie o serviço AD FS executando net stop adfssrv e depois net start adfssrv.Restart the AD FS service by running net stop adfssrv and then net start adfssrv. Para sua referência, a orientação sobre esse recurso pode ser encontrada aqui.For your reference, guidance on this capability can be found here.

Verificações de solicitação HTTP padrão no proxyStandard HTTP request checks at the proxy

O proxy também executa as seguintes verificações padrão em todo o tráfego:The proxy also performs the following standard checks against all traffic:

  • O FS-P em si é autenticado para AD FS por meio de um certificado de vida curta.The FS-P itself authenticates to AD FS via a short lived certificate. Em um cenário de comprometimento suspeito de servidores DMZ, AD FS pode "revogar a confiança de proxy" para que ele não confie mais em nenhuma solicitação de entrada de proxies potencialmente comprometidos.In a scenario of suspected compromise of dmz servers, AD FS can "revoke proxy trust" so that it no longer trusts any incoming requests from potentially compromised proxies. A revogação da confiança de proxy revoga o certificado próprio de cada proxy para que ele não possa ser autenticado com êxito para qualquer finalidade para o servidor de AD FSRevoking the proxy trust revokes each proxy`s own certificate so that it cannot successfully authenticate for any purpose to the AD FS server
  • O FS-P encerra todas as conexões e cria uma nova conexão HTTP com o serviço de AD FS na rede interna.The FS-P terminates all connections and creates a new HTTP connection to the AD FS service on the internal network. Isso fornece um buffer em nível de sessão entre dispositivos externos e o serviço de AD FS.This provides a session-level buffer between external devices and the AD FS service. O dispositivo externo nunca se conecta diretamente ao serviço de AD FS.The external device never connects directly to the AD FS service.
  • O FS-P executa a validação de solicitação HTTP que filtra especificamente os cabeçalhos HTTP que não são exigidos pelo serviço AD FS.The FS-P performs HTTP request validation that specifically filters out HTTP headers that are not required by AD FS service.

Certifique-se de que todos os servidores AD FS e WAP recebam as atualizações mais recentes a recomendação de segurança mais importante para sua infraestrutura de AD FS é garantir que você tenha um meio em vigor para manter seus servidores AD FS e WAP atualizados com todas as atualizações de segurança, bem como as atualizações opcionais especificadas como importantes para AD FS nesta página.Ensure all AD FS and WAP servers receive the most current updates The most important security recommendation for your AD FS infrastructure is to ensure you have a means in place to keep your AD FS and WAP servers current with all security updates, as well as those optional updates specified as important for AD FS on this page.

A maneira recomendada para os clientes do Azure AD monitorarem e manterem sua infraestrutura atual é por meio de Azure AD Connect Health para AD FS, um recurso do Azure AD Premium.The recommended way for Azure AD customers to monitor and keep current their infrastructure is via Azure AD Connect Health for AD FS, a feature of Azure AD Premium. Azure AD Connect Health inclui monitores e alertas que disparam se um AD FS ou computador WAP não tem uma das atualizações importantes especificamente para AD FS e WAP.Azure AD Connect Health includes monitors and alerts that trigger if an AD FS or WAP machine is missing one of the important updates specifically for AD FS and WAP.

Informações sobre como instalar Azure AD Connect Health para AD FS podem ser encontradas aqui.Information on installing Azure AD Connect Health for AD FS can be found here.

Configurações de segurança adicionaisAdditional security configurations

Os recursos adicionais a seguir podem ser configurados opcionalmente para fornecer proteções adicionais àquelas oferecidas na implantação padrão.The following additional capabilities can be configured optionally to provide additional protections to those offered in the default deployment.

Proteção de bloqueio "flexível" da extranet para contasExtranet "soft" lockout protection for accounts

Com o recurso de bloqueio de extranet no Windows Server 2012 R2, um administrador de AD FS pode definir um número máximo permitido de solicitações de autenticação com falha (ExtranetLockoutThreshold) e um observation window período de s (ExtranetObservationWindow).With the extranet lockout feature in Windows Server 2012 R2, an AD FS administrator can set a maximum allowed number of failed authentication requests (ExtranetLockoutThreshold) and an observation windows time period (ExtranetObservationWindow). Quando esse número máximo (ExtranetLockoutThreshold) de solicitações de autenticação for atingido, AD FS para tentar autenticar as credenciais de conta fornecidas em AD FS para o período de tempo definido (ExtranetObservationWindow).When this maximum number (ExtranetLockoutThreshold) of authentication requests is reached, AD FS stops trying to authenticate the supplied account credentials against AD FS for the set time period (ExtranetObservationWindow). Essa ação protege essa conta de um bloqueio de conta do AD, em outras palavras, protege essa conta contra a perda de acesso a recursos corporativos que dependem de AD FS para autenticação do usuário.This action protects this account from an AD account lockout, in other words, it protects this account from losing access to corporate resources that rely on AD FS for authentication of the user. Essas configurações se aplicam a todos os domínios que o serviço de AD FS pode autenticar.These settings apply to all domains that the AD FS service can authenticate.

Você pode usar o seguinte comando do Windows PowerShell para definir o bloqueio de extranet AD FS (exemplo):You can use the following Windows PowerShell command to set the AD FS extranet lockout (example):

Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold 15 -ExtranetObservationWindow ( new-timespan -Minutes 30 )

Para referência, a documentação pública desse recurso está aqui.For reference, the public documentation of this feature is here.

Desabilite pontos de extremidade do Windows do WS-Trust no proxy, ou seja, da extranetDisable WS-Trust Windows endpoints on the proxy i.e. from extranet

Os pontos de extremidade do Windows do WS-Trust (/ADFS/Services/Trust/2005/windowstransport e /ADFS/Services/Trust/13/windowstransport) são destinados apenas a pontos de extremidade voltados para a intranet que usam a associação WIA em https.WS-Trust Windows endpoints (/adfs/services/trust/2005/windowstransport and /adfs/services/trust/13/windowstransport) are meant only to be intranet facing endpoints that use WIA binding on HTTPS. Expô-los à extranet podem permitir solicitações nesses pontos de extremidade para ignorar as proteções de bloqueio.Exposing them to extranet could allow requests against these endpoints to bypass lockout protections. Esses pontos de extremidade devem ser desabilitados no proxy (ou seja, desabilitados da extranet) para proteger o bloqueio de conta do AD usando os comandos do PowerShell a seguir.These endpoints should be disabled on the proxy (i.e. disabled from extranet) to protect AD account lockout by using following PowerShell commands. Não há nenhum impacto conhecido do usuário final ao desabilitar esses pontos de extremidade no proxy.There is no known end user impact by disabling these endpoints on the proxy.

Set-AdfsEndpoint -TargetAddressPath /adfs/services/trust/2005/windowstransport -Proxy $false
Set-AdfsEndpoint -TargetAddressPath /adfs/services/trust/13/windowstransport -Proxy $false

Diferenciar políticas de acesso para acesso à intranet e extranetDifferentiate access policies for intranet and extranet access

AD FS tem a capacidade de diferenciar políticas de acesso para solicitações que se originam na rede corporativa local versus solicitações que chegam da Internet por meio do proxy.AD FS has the ability to differentiate access policies for requests that originate in the local, corporate network vs requests that come in from the internet via the proxy. Isso pode ser feito por aplicativo ou globalmente.This can be done per application or globally. Para aplicativos de alto valor de negócios ou aplicativos com informações confidenciais ou de identificação pessoal, considere a necessidade de autenticação multifator.For high business value applications or applications with sensitive or personally identifiable information, consider requiring multi factor authentication. Isso pode ser feito por meio do snap-in de gerenciamento de AD FS.This can be done via the AD FS management snap-in.

Exigir autenticação multifator (MFA)Require Multi factor authentication (MFA)

Os AD FS podem ser configurados para exigir autenticação forte (como autenticação multifator) especificamente para solicitações recebidas por meio do proxy, para aplicativos individuais e para acesso condicional para o Azure AD/Office 365 e recursos locais.AD FS can be configured to require strong authentication (such as multi factor authentication) specifically for requests coming in via the proxy, for individual applications, and for conditional access to both Azure AD / Office 365 and on premises resources. Os métodos com suporte do MFA incluem Microsoft Azure MFA e provedores de terceiros.Supported methods of MFA include both Microsoft Azure MFA and third party providers. O usuário é solicitado a fornecer as informações adicionais (como um texto SMS que contém um código de uma vez) e AD FS trabalha com o plug-in específico do provedor para permitir o acesso.The user is prompted to provide the additional information (such as an SMS text containing a one time code), and AD FS works with the provider specific plug-in to allow access.

Os provedores de MFA externa com suporte incluem os listados nesta página, bem como HDI global.Supported external MFA providers include those listed in this page, as well as HDI Global.

Módulo de segurança de hardware (HSM)Hardware Security Module (HSM)

Em sua configuração padrão, as chaves que o AD FS usa para assinar tokens nunca deixam os servidores de Federação na intranet.In its default configuration, the keys AD FS uses to sign tokens never leave the federation servers on the intranet. Eles nunca estão presentes na DMZ ou nas máquinas de proxy.They are never present in the DMZ or on the proxy machines. Opcionalmente, para fornecer proteção adicional, essas chaves podem ser protegidas em um módulo de segurança de hardware anexado a AD FS.Optionally to provide additional protection, these keys can be protected in a hardware security module attached to AD FS. A Microsoft não produz um produto HSM, no entanto, há vários no mercado que dão suporte a AD FS.Microsoft does not produce an HSM product, however there are several on the market that support AD FS. Para implementar essa recomendação, siga as diretrizes do fornecedor para criar os certificados X509 para assinatura e criptografia e, em seguida, use o AD FS commandlets de instalação do PowerShell, especificando os certificados personalizados da seguinte maneira:In order to implement this recommendation, follow the vendor guidance to create the X509 certs for signing and encryption, then use the AD FS installation powershell commandlets, specifying your custom certificates as follows:

Install-AdfsFarm -CertificateThumbprint <String> -DecryptionCertificateThumbprint <String> -FederationServiceName <String> -ServiceAccountCredential <PSCredential> -SigningCertificateThumbprint <String>

onde:where:

  • CertificateThumbprinté seu certificado SSLCertificateThumbprint is your SSL certificate
  • SigningCertificateThumbprinté seu certificado de autenticação (com chave protegida por HSM)SigningCertificateThumbprint is your signing certificate (with HSM protected key)
  • DecryptionCertificateThumbprinté seu certificado de criptografia (com chave protegida por HSM)DecryptionCertificateThumbprint is your encryption certificate (with HSM protected key)