Configurar a proteção de bloqueio da extranet do AD FS
No AD FS no Windows Server 2012 R2, introduzimos um recurso de segurança chamado Bloqueio extranet. Com esse recurso, o AD FS "interromperá" a autenticação da conta de usuário "mal-intencionada" por um período de tempo. Isso impede que suas contas de usuário sejam bloqueadas no Active Directory. Além de proteger os usuários de um bloqueio de conta do AD, o bloqueio de extranet do AD FS também protege contra ataques de adivinhação de senha de força bruta.
Observação
Esse recurso só funciona no cenário de extranet em que as solicitações de autenticação vêm por meio do Proxy de aplicativo Web e se aplica apenas ao nome de usuário e à autenticação de senha.
Vantagens do bloqueio extranet
O bloqueio extranet fornece as seguintes vantagens principais:
- Ele protege as contas de usuário contra ataques de força bruta em que um invasor tenta adivinhar a senha de um usuário enviando solicitações de autenticação de maneira contínua. Nesse caso, o AD FS bloqueará a conta de usuário mal-intencionada para acesso à extranet
- Ele protege as contas de usuário contra bloqueio de conta mal-intencionado em que um invasor deseja bloquear uma conta de usuário enviando solicitações de autenticação com senhas erradas. Nesse caso, embora a conta de usuário seja bloqueada pelo AD FS para acesso extranet, a conta de usuário real no AD não é bloqueada e o usuário ainda pode acessar recursos corporativos na organização. Isso é conhecido como um bloqueio suave.
Como ele funciona
Há três configurações no AD FS que devem ser definidas para habilitar esse recurso:
- EnableExtranetLockout <Booliano> defina esse valor booliano como True se você quiser habilitar o Bloqueio extranet.
- ExtranetLockoutThreshold <Inteiro> esse valor determina o número máximo de tentativas de senha incorretas. Depois que o limite for atingido, o AD FS rejeitará imediatamente as solicitações da extranet sem tentar contatar o controlador de domínio para autenticação, independentemente da senha estar correta ou incorreta, até que a janela de observação da extranet seja passada. Isso significa que o valor do atributo badPwdCount de uma conta do AD não aumentará enquanto a conta estiver bloqueada de maneira reversível.
- ExtranetObservationWindow <TimeSpan> determina por quanto tempo a conta de usuário ficará bloqueada. O AD FS começará a executar a autenticação de nome de usuário e senha novamente quando a janela for passada. O AD FS usa o atributo badPasswordTime do AD como referência para determinar se a janela de observação da extranet passou ou não. A janela passou se a hora atual > badPasswordTime + ExtranetObservationWindow.
Observação
O bloqueio de extranet do AD FS funciona independentemente das políticas de bloqueio do AD. No entanto, é altamente recomendável que você defina o valor do parâmetro ExtranetLockoutThreshold como um valor menor que o limite de bloqueio da conta do AD. Não fazer isso faria com que o AD FS não pudesse proteger as contas de serem bloqueadas no Active Directory.
Um exemplo de como habilitar o recurso de Bloqueio extranet com no máximo 15 números de tentativas de senha incorretas e 30 minutos de duração de bloqueio reversível é o seguinte:
Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold 15 -ExtranetObservationWindow (new-timespan -Minutes 30)
Essas configurações se aplicarão a todos os domínios que o serviço do AD FS pode autenticar. A maneira como ele funciona é: quando o AD FS recebe uma solicitação de autenticação, ele acessa o PDC (Controlador de Domínio Primário) por meio de uma chamada LDAP e executa uma pesquisa para o atributo badPwdCount para o usuário no PDC. Se o AD FS encontrar o valor da configuração badPwdCount>= ExtranetLockoutThreshold e o tempo definido na Janela de Observação da Extranet ainda não tiver passado, o AD FS rejeitará a solicitação imediatamente, o que significa que, independentemente de o usuário inserir uma senha correta ou incorreta da extranet, o logon falhará porque o AD FS não envia as credenciais para o AD. O AD FS não mantém nenhum estado em relação a badPwdCount ou contas de usuário bloqueadas. O AD FS usa o AD para todo acompanhamento de estado.
Aviso
Quando o bloqueio extranet do AD FS no Server 2012 R2 é habilitado, todas as solicitações de autenticação por meio do WAP são validadas pelo AD FS no PDC. Quando o PDC não estiver disponível, os usuários não poderão se autenticar na extranet.
O Server 2016 oferece um parâmetro adicional que permite que o AD FS faça fallback para outro controlador de domínio quando o PDC não estiver disponível:
- ExtranetLockoutRequirePDC <Boolean> - Quando habilitado: o bloqueio de extranet requer um PDC (controlador de domínio primário). Quando desabilitado: o bloqueio de extranet fará fallback para outro controlador de domínio caso o PDC não esteja disponível.
Você pode usar o seguinte comando Windows do PowerShell para configurar o bloqueio de extranet do AD FS no Server 2016:
Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold 15 -ExtranetObservationWindow (new-timespan -Minutes 30) -ExtranetLockoutRequirePDC $false
Trabalhar com a política de bloqueio do Active Directory
O recurso Bloqueio extranet no AD FS funciona independentemente da política de bloqueio do AD. No entanto, você precisa verificar se as configurações do Bloqueio extranet estão configuradas corretamente para que ele possa atender à sua finalidade de segurança com a política de bloqueio do AD.
Vamos dar uma olhada na política de bloqueio do AD primeiro. Há três configurações relacionadas à política de bloqueio no AD:
- Limite de Bloqueio da Conta: essa configuração é semelhante à configuração ExtranetLockoutThreshold no AD FS. Ela determina o número de tentativas de logon com falha que farão com que uma conta de usuário seja bloqueada. Para proteger suas contas de usuário de um ataque de bloqueio de conta mal-intencionado, você deseja definir o valor de ExtranetLockoutThreshold no AD FS < o valor limite de bloqueio de conta no AD
- Duração do Bloqueio da Conta: essa configuração determina por quanto tempo uma conta de usuário está bloqueada. Essa configuração não importa muito nesta conversa, pois o bloqueio extranet sempre deve acontecer antes que o bloqueio do AD aconteça se ele estiver configurado corretamente
- Redefinir contador de bloqueio de conta após: essa configuração determina quanto tempo deve passar da última falha de logon do usuário antes que badPwdCount seja redefinido como 0. Para que o recurso de Bloqueio extranet no AD FS funcione bem com a política de bloqueio do AD, você deve garantir o valor de ExtranetObservationWindow no AD FS > o valor Redefinir contador de bloqueio de conta após no AD. Os exemplos abaixo explicarão o motivo.
Vamos dar uma olhada em dois exemplos e ver como badPwdCount muda ao longo do tempo com base em diferentes configurações e estados. Vamos supor em ambos os exemplos Limite de Bloqueio de Conta = 4 e ExtranetLockoutThreshold = 2. A seta vermelha representa uma tentativa de senha incorreta e a seta verde representa uma tentativa de senha correta. No exemplo nº 1, ExtranetObservationWindow>Redefinir contador de bloqueio de conta após. No exemplo nº 2, ExtranetObservationWindow<Redefinir contador de bloqueio de conta após.
Exemplo 1
Exemplo 2
Como você pode ver acima, há duas condições em que badPwdCount será redefinido como 0. Uma delas é quando há um logon bem-sucedido. A outra é: quando é hora de redefinir esse contador, conforme definido na configuração Redefinir contador de bloqueio de conta após. Quando Redefinir contador de bloqueio de conta após<ExtranetObservationWindow, uma conta não tem nenhum risco de ser bloqueada pelo AD. No entanto, se Redefinir contador de bloqueio de conta após>ExtranetObservationWindow, há a possibilidade de uma conta ser bloqueada pelo AD, mas de maneira atrasada. Pode levar algum tempo para que uma conta seja bloqueada pelo AD, dependendo da configuração, pois o AD FS só permitirá uma tentativa de senha incorreta durante a janela de observação até que badPwdCount atinja o Limite de Bloqueio da Conta.
Para obter mais informações, consulte Configuração do bloqueio da conta.
Problemas conhecidos
Há um problema conhecido em que a conta de usuário do AD não pode se autenticar com o AD FS porque o atributo badPwdCount não é replicado no controlador de domínio que o ADFS está consultando. Confira 2971171 para obter mais detalhes. Você pode encontrar todos os QFEs do AD FS que foram lançados até agora aqui.
Pontos principais a serem lembrados
- O recurso Bloqueio de Extranet só funciona no cenário de extranet em que as solicitações de autenticação vêm por meio do Proxy de aplicativo Web
- O recurso Bloqueio de Extranet só se aplica a autenticação de nome de usuário e senha
- O AD FS não mantém nenhum controle de badPwdCount ou usuários bloqueados de maneira reversível. O AD FS usa o AD para todo o controle de estado
- O AD FS executa uma pesquisa para o atributo badPwdCount por meio da chamada LDAP para o usuário no PDC para cada tentativa de autenticação
- O AD FS anterior à versão 2016 falhará se não puder acessar o PDC. O AD FS 2016 introduziu aprimoramentos que permitirão que o AD FS faça fallback para outros controladores de domínio caso o PDC não esteja disponível.
- O AD FS permitirá solicitações de autenticação da extranet se badPwdCount < ExtranetLockoutThreshold
- Se badPwdCount>= ExtranetLockoutThreshold E badPasswordTime + ExtranetObservationWindow< Hora atual, o AD FS rejeitará as solicitações de autenticação da extranet
- Para evitar o bloqueio de conta mal-intencionado, verifique se ExtranetLockoutThreshold<Limite de Bloqueio de Conta E ExtranetObservationWindow>Redefinir contador de bloqueio de conta após