Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico fornece informações de prática recomendada para ajudá-lo a planejar e avaliar a segurança ao projetar sua implantação dos Serviços de Federação do Active Directory (AD FS). Este tópico é um ponto de partida para revisar e avaliar considerações que afetam a segurança geral do uso do AD FS. As informações neste tópico destinam-se a complementar e estender o planejamento de segurança existente e outras práticas recomendadas de design.
Práticas recomendadas de segurança principais para o AD FS
As seguintes práticas recomendadas principais são comuns a todas as instalações do AD FS em que você deseja melhorar ou estender a segurança de seu design ou implantação:
Proteger o AD FS como um sistema de "Nível 0"
Como o AD FS é fundamentalmente um sistema de autenticação, ele deve ser tratado como um sistema de "Camada 0", como outros sistemas de identidade em sua rede. Para obter mais informações, consulte o modelo de camada administrativa do Active Directory.
Use o Assistente de Configuração de Segurança para aplicar as práticas recomendadas de segurança específicas do AD FS a servidores de federação e computadores proxy do servidor de federação
O SCW (Assistente de Configuração de Segurança) é uma ferramenta que vem pré-instalada em todos os computadores Windows Server 2008, Windows Server 2008 R2 e Windows Server 2012. Você pode usá-lo para aplicar as práticas recomendadas de segurança que podem ajudar a reduzir a superfície de ataque de um servidor, com base nas funções de servidor que você está instalando.
Quando você instala o AD FS, o programa de instalação cria arquivos de extensão de função que você pode usar com o SCW para criar uma política de segurança que se aplicará à função de servidor do AD FS específica (servidor de federação ou proxy de servidor de federação) escolhida durante a instalação.
Cada arquivo de extensão de função instalado representa o tipo de função e subrole para o qual cada computador está configurado. Os seguintes arquivos de extensão de função são instalados no diretório C:WindowsADFSScw:
Farm.xml
SQLFarm.xml
StandAlone.xml
Proxy.xml (este arquivo só estará presente se você tiver configurado o computador na função de proxy do servidor de federação).)
Para aplicar as extensões de função do AD FS no SCW, conclua as seguintes etapas na ordem:
Instale o AD FS e escolha a função de servidor apropriada para esse computador. Para obter mais informações, consulte Instalar o serviço de função do Proxy do Serviço de Federação no Guia de Implantação do AD FS.
Registre o arquivo de extensão de função apropriado usando a ferramenta de linha de comando Scwcmd. Consulte a tabela a seguir para obter detalhes sobre como usar essa ferramenta na função para a qual o computador está configurado.
Verifique se o comando foi concluído com êxito examinando o arquivo SCWRegister_log.xml, que está localizado no diretório WindowssecurityMsscwLogs.
Você deve executar todas essas etapas em cada servidor de federação ou computador proxy do servidor de federação ao qual deseja aplicar políticas de segurança SCW baseadas no AD FS.
A tabela a seguir explica como registrar a extensão de função SCW apropriada, com base na função de servidor do AD FS que você escolheu no computador em que instalou o AD FS.
Função de servidor do AD FS Banco de dados de configuração do AD FS usado Digite o comando a seguir em um prompt de comando: Servidor de federação autônomo Banco de Dados Interno do Windows scwcmd register /kbname:ADFS2Standalone /kbfile:"WindowsADFSscwStandAlone.xml"Servidor de federação ingressado em farm Banco de Dados Interno do Windows scwcmd register /kbname:ADFS2Standalone /kbfile:"WindowsADFSscwFarm.xml"Servidor de federação ingressado em farm SQL Server scwcmd register /kbname:ADFS2Standalone /kbfile:"WindowsADFSscwSQLFarm.xml"Proxy do servidor de federação Não aplicável scwcmd register /kbname:ADFS2Standalone /kbfile:"WindowsADFSscwProxy.xml"Para obter mais informações sobre os bancos de dados que você pode usar com o AD FS, consulte a função do banco de dados de configuração do AD FS.
Use a detecção de repetição de token em situações em que a segurança é uma preocupação muito importante, por exemplo, quando são usados quiosques. A detecção de reprodução de token é um recurso do AD FS que garante que qualquer tentativa de reproduzir uma solicitação de token feita ao Serviço de Federação seja detectada e a solicitação seja descartada. A detecção de repetição de token está habilitada por padrão. Ele funciona tanto para o perfil passivo WS-Federation quanto para o perfil WebSSO da Linguagem de Marcação de Declaração de Segurança (SAML), garantindo que o mesmo token nunca seja usado mais de uma vez.
Quando o Serviço de Federação é iniciado, ele começa a criar um cache de todas as solicitações de token que ele atende. Ao longo do tempo, à medida que as solicitações de token subsequentes são adicionadas ao cache, aumenta a capacidade do Serviço de Federação de detectar qualquer tentativa de reproduzir uma solicitação de token várias vezes. Se você desabilitar a detecção de reprodução de token e depois optar por habilitá-la novamente, lembre-se de que o Serviço de Federação ainda aceitará tokens por um período de tempo que possa ter sido usado anteriormente, até que o cache de reprodução tenha tido tempo suficiente para recompilar seu conteúdo. Para saber mais, confira A função do banco de dados de configuração de AD FS.
Use criptografia de token, especialmente você se usar a resolução de artefato de SAML de suporte.
A criptografia de tokens é fortemente recomendada para aumentar a segurança e a proteção contra possíveis ataques de homem-no-meio (man-in-the-middle, MITM) que podem ser tentados contra sua implantação do AD FS. O uso da criptografia de uso pode ter um pequeno impacto em todo o processo, mas, em geral, ele geralmente não deve ser notado e, em muitas implantações, os benefícios para maior segurança excedem qualquer custo em termos de desempenho do servidor.
Para habilitar a criptografia de token, primeiramente adicione um certificado de criptografia à sua terceira parte confiável. Você pode configurar um certificado de criptografia ao criar um objeto de confiança de terceira parte confiável ou posteriormente. Para adicionar um certificado de criptografia posteriormente a uma confiança de terceira parte confiável existente, você pode definir um certificado para uso na guia Criptografia nas propriedades de confiança ao usar o snap-in do AD FS. Para especificar um certificado para uma relação de confiança existente usando os cmdlets do AD FS, use o parâmetro EncryptionCertificate dos cmdlets Set-ClaimsProviderTrust ou Set-RelyingPartyTrust. Para definir um certificado para ser usado pelo Serviço de federação ao descriptografar tokens, use o cmdlet Set-ADFSCertificate e especifique "
Token-Encryption" para o parâmetro CertificateType. É possível habilitar e desativar a criptografia para um objeto de confiança de terceira parte confiável usando o parâmetro EncryptClaims do cmdlet Set-RelyingPartyTrust.Utilizar a proteção estendida para autenticação
Para ajudar a proteger suas implantações, você pode definir e usar a proteção estendida para o recurso de autenticação com o AD FS. Essa configuração especifica o nível de proteção estendida para autenticação com suporte por um servidor de federação.
A proteção estendida para autenticação ajuda a proteger contra ataques MITM (man-in-the-middle), nos quais um invasor intercepta as credenciais do cliente e as encaminha para um servidor. A proteção contra esses ataques é possível por meio de um CBT (Token de Associação de Canal) que pode ser necessário, permitido ou não exigido pelo servidor quando ele estabelece comunicações com clientes.
Para habilitar a função de proteção estendida, use o parâmetro ExtendedProtectionTokenCheck no cmdlet Set-ADFSProperties. Os valores possíveis para essa configuração e o nível de segurança que os valores fornecem são descritos na tabela a seguir.
Valor do parâmetro Nível de segurança Configuração de proteção Requer O servidor está totalmente protegido. A proteção estendida é imposta e sempre necessária. Permitir O servidor está parcialmente protegido. A proteção estendida é imposta quando os sistemas envolvidos foram corrigidos para dar suporte a ela. Nenhum O servidor é vulnerável. A proteção estendida não é imposta. Se você estiver usando o registro em log e o rastreamento, verifique a privacidade de qualquer informação confidencial.
O AD FS não expõe, por padrão, ou rastreia informações de identificação pessoal (PII) diretamente como parte do Serviço de Federação ou operações normais. Quando o log de eventos e o log de rastreamento de depuração estão habilitados no AD FS, contudo, dependendo da política de declaração configurada, alguns tipos de declarações e seus valores associados podem conter PII, que por sua vez pode ser registrado no evento ou nos logs de rastreamento do AD FS.
Portanto, é altamente recomendável impor o controle de acesso à configuração do AD FS e seus arquivos de log. Se você não quiser que esse tipo de informação fique visível, desabilite o logon ou filtre qualquer PII ou dados confidenciais em seus logs antes de compartilhá-los com outras pessoas.
As dicas a seguir podem ajudá-lo a impedir que o conteúdo de um arquivo de log seja exposto sem querer:
Verifique se o log de eventos do AD FS e os arquivos de log de rastreamento estão protegidos por ACL (listas de controle de acesso) que limitam o acesso somente aos administradores confiáveis que exigem acesso a eles.
Não copie ou arquive arquivos de log usando extensões de arquivo ou caminhos que podem ser facilmente atendidos usando uma solicitação da Web. Por exemplo, a extensão .xml nome do arquivo não é uma opção segura. Você pode verificar o guia de administração dos Serviços de Informações da Internet (IIS) para ver uma lista de extensões que podem ser atendidas.
Se você alterar o caminho para o arquivo de log, certifique-se de especificar um caminho absoluto para a localização do arquivo de log, que deve estar fora do diretório público da raiz virtual do host Web (vroot), assim impedindo o acesso por terceiros utilizando um navegador.
Bloqueio flexível de extranet do AD FS e proteção de bloqueio inteligente de extranet do AD FS
No caso de um ataque na forma de solicitações de autenticação com senhas inválidas (incorretas) que vêm através do Proxy de Aplicações Web, o bloqueio da extranet do AD FS permite proteger os usuários de um bloqueio de conta do AD FS. Além de proteger os usuários de um bloqueio de conta do AD FS, o bloqueio de extranet do AD FS também protege contra ataques de adivinhação de senha de força bruta.
Para o bloqueio parcial de extranet para AD FS no Windows Server 2012 R2, consulte Proteção de bloqueio parcial de extranet do AD FS.
Para o Bloqueio Inteligente da Extranet para AD FS no Windows Server 2016, consulte Proteção de Bloqueio Inteligente da Extranet do AD FS.
Práticas recomendadas de segurança específicas do SQL Server para o AD FS
As práticas recomendadas de segurança a seguir são específicas para o uso do Microsoft SQL Server® ou do Banco de Dados Interno do Windows (WID) quando essas tecnologias de banco de dados são usadas para gerenciar dados no design e na implantação do AD FS.
Observação
Essas recomendações destinam-se a estender, mas não substituir, as diretrizes de segurança do produto do SQL Server. Para obter mais informações sobre como planejar uma instalação segura do SQL Server, consulte Considerações de segurança para uma instalação segura do SQL (https://go.microsoft.com/fwlink/?LinkID=139831).
Sempre implante o SQL Server atrás de um firewall em um ambiente de rede fisicamente seguro.
Uma instalação do SQL Server nunca deve ser exposta diretamente à Internet. Somente os computadores que estão dentro do datacenter devem ser capazes de acessar a instalação do SQL Server que dá suporte ao AD FS. Para obter mais informações, consulte Lista de verificação de práticas recomendadas de segurança (https://go.microsoft.com/fwlink/?LinkID=189229).
Execute o SQL Server em uma conta de serviço em vez de usar as contas de serviço do sistema padrão internas.
Por padrão, o SQL Server geralmente é instalado e configurado para usar uma das contas de sistema internas com suporte, como as contas LocalSystem ou NetworkService. Para aprimorar a segurança da instalação do SQL Server para o AD FS, sempre que possível, use uma conta de serviço separada para acessar o serviço do SQL Server e habilite a autenticação Kerberos registrando o SPN (nome da entidade de segurança) dessa conta em sua implantação do Active Directory. Isso permite a autenticação mútua entre o cliente e o servidor. Sem o registro SPN de uma conta de serviço separada, o SQL Server usará o NTLM para autenticação baseada no Windows, em que somente o cliente é autenticado.
Minimize a área de superfície do SQL Server.
Habilite somente os terminais do SQL Server necessários. Por padrão, o SQL Server fornece um único ponto de extremidade TCP interno que não pode ser removido. Para o AD FS, você deve habilitar o ponto de extremidade TCP para autenticação Kerberos. Para analisar os terminais de TCP atuais para ver se portas TCP definidas pelo usuário adicionais foram adicionados a uma instalação do SQL, use a instrução de consulta "SELECT * FROM sys.tcp_endpoints" em uma sessão Transact-SQL (T-SQL). Para obter mais informações sobre a configuração do ponto de extremidade do SQL Server, consulte Como: Configurar o Mecanismo de Banco de Dados para Ouvir em Múltiplas Portas TCP (https://go.microsoft.com/fwlink/?LinkID=189231).
Evite usar a autenticação baseada em SQL.
Para evitar a necessidade de transferir senhas como texto claro em sua rede ou armazenar senhas nas configurações, use a autenticação do Windows somente com a instalação do SQL Server. A autenticação do SQL Server é um modo de autenticação herdado. Não é recomendável armazenar credenciais de logon da SQL (Linguagem de Consulta Estruturada) (nomes de usuário e senhas do SQL) quando você estiver usando a autenticação do SQL Server. Para obter mais informações, consulte Modos de Autenticação (https://go.microsoft.com/fwlink/?LinkID=189232).
Avalie cuidadosamente a necessidade de segurança de canal adicional na instalação do SQL.
Mesmo com a autenticação Kerberos em vigor, a SSPI (Interface do Provedor de Suporte de Segurança) do SQL Server não fornece segurança no nível do canal. No entanto, para instalações nas quais os servidores estão localizados com segurança em uma rede protegida por firewall, a criptografia de comunicações SQL pode não ser necessária.
Embora a criptografia seja uma ferramenta valiosa para ajudar a garantir a segurança, ela não deve ser considerada para todos os dados ou conexões. Ao decidir se deseja implementar a criptografia, considere como os usuários acessarão os dados. Se os usuários acessarem dados em uma rede pública, a criptografia de dados poderá ser necessária para aumentar a segurança. No entanto, se todo o acesso de dados SQL pelo AD FS envolver uma configuração de intranet segura, a criptografia poderá não ser necessária. Qualquer uso de criptografia também deve incluir uma estratégia de manutenção para senhas, chaves e certificados.
Se houver uma preocupação de que qualquer dado SQL possa ser visto ou adulterado em sua rede, use a IPsec (Segurança do Protocolo internet) ou a SSL (Secure Sockets Layer) para ajudar a proteger suas conexões SQL. No entanto, isso pode ter um efeito negativo no desempenho do SQL Server, o que pode afetar ou limitar o desempenho do AD FS em algumas situações. Por exemplo, o desempenho do AD FS na emissão de tokens pode diminuir quando pesquisas de atributo de um repositório de atributos baseado em SQL são essenciais para a emissão de token. Você pode eliminar melhor uma ameaça de adulteração de SQL por ter uma configuração de segurança de perímetro forte. Por exemplo, uma solução melhor para proteger sua instalação do SQL Server é garantir que ela permaneça inacessível para usuários e computadores da Internet e que ela permaneça acessível apenas por usuários ou computadores em seu ambiente de datacenter.
Para obter mais informações, consulte Encrypting Connections to SQL Server or SQL Server Encryption.
Configure o acesso designado com segurança usando procedimentos armazenados para realizar todas as pesquisas de SQL efetuadas pelo AD FS de dados armazenados no SQL.
Para fornecer um melhor isolamento de dados e serviço, você pode criar procedimentos armazenados para todos os comandos de pesquisa do repositório de atributos. Você pode criar uma função de banco de dados à qual você concede permissão para executar os procedimentos armazenados. Atribua a identidade de serviço do serviço Windows do AD FS a essa função de banco de dados. O serviço Windows do AD FS não deve ser capaz de executar nenhuma outra instrução SQL, exceto os procedimentos armazenados apropriados que são usados para pesquisa de atributo. Bloquear o acesso ao banco de dados do SQL Server dessa forma reduz o risco de um ataque de elevação de privilégio.