Configurar a Proteção de Bloqueio de Extranet do AD FS

No AD FS no Windows Server 2012 R2, apresentamos 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" de fora por um período de tempo. Isso impede que suas contas de usuário sejam bloqueadas no Active Directory. Além de proteger seus 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 funciona apenas para o 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 de Extranet

O bloqueio de extranet fornece as seguintes vantagens principais:

  • Ele protege suas contas de usuário contra ataques de força bruta em que um invasor tenta adivinhar a senha de um usuário enviando continuamente solicitações de autenticação. Nesse caso, o AD FS bloqueará a conta de usuário mal-intencionada para acesso à extranet
  • Ele protege suas 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 está bloqueada e o usuário ainda pode acessar recursos corporativos dentro da organização. Isso é conhecido como um bloqueio reversível.

Como funciona

Há três configurações no AD FS que você precisa configurar para habilitar esse recurso:

  • EnableExtranetLockout < Boolean> defina esse valor booliano como True se você quiser habilitar o Bloqueio de Extranet.
  • ExtranetLockoutThreshold <>Inteiro, isso define 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 de a senha ser boa ou ruim, 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.
  • ExtranetObservationWindow < TimeSpan> isso determina por quanto tempo a conta de usuário ficará bloqueada sem problemas. 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 AD badPasswordTime como referência para determinar se a janela de observação da extranet passou ou não. A janela passou se o tempo > atual badPasswordTime + ExtranetObservationWindow.

Observação

Funções de bloqueio de extranet do AD FS independentemente das políticas de bloqueio do AD. No entanto, recomendamos fortemente 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 Bloqueio de 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 é que, 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 não importa se o usuário insere uma senha boa ou ruim 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 o controle de estado.

Aviso

Quando o bloqueio da 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 ao AD FS fazer 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 retornará para outro controlador de domínio caso o PDC não esteja disponível.

Você pode usar o seguinte comando Windows 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

Trabalhando com a Política de Bloqueio do Active Directory

O recurso Bloqueio de Extranet no AD FS funciona independentemente da política de bloqueio do AD. No entanto, você precisa verificar se as configurações do Bloqueio da Extranet estão configuradas corretamente para que ela 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. Ele 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 da 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 da Extranet sempre deve acontecer antes que o bloqueio do AD aconteça se 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 para 0. Para que o recurso Bloqueio de Extranet no AD FS funcione bem com a política de bloqueio do AD, você deseja verificar se o valor de ExtranetObservationWindow no AD FS > o contador de bloqueio de conta de redefinição após o valor no AD. Os exemplos abaixo explicarão por quê.

Vamos dar uma olhada em dois exemplos e ver como o badPwdCount muda ao longo do tempo com base em diferentes configurações e estados. Vamos supor em ambos os exemplos limite de bloqueio da conta = 4 e ExtranetLockoutThreshold = 2. A seta vermelha representa uma tentativa de senha incorreta, a seta verde representa uma boa tentativa de senha. No exemplo nº 1, contador de bloqueio da conta ExtranetObservationWindowReset>após. No exemplo nº 2, contador de bloqueio da conta ExtranetObservationWindowReset<após.

Exemplo 1

Diagram that shows how badPwdCount changes over time based on different settings and states.

Exemplo 2

Example1

Como você pode ver acima, há duas condições em que badPwdCount será redefinido para 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 da Conta Após . Ao redefinir o contador de bloqueio de contaAfterExtranetObservationWindow<, uma conta não tem nenhum risco de ser bloqueada pelo AD. No entanto, se redefinir o contador de bloqueio de contaAfterExtranetObservationWindow>, há uma chance de que uma conta possa ser bloqueada pelo AD, mas de forma "atrasada". Pode levar algum tempo para que uma conta seja bloqueada pelo AD, dependendo da configuração, pois o AD FS permitirá apenas 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 Configurando o bloqueio da conta.

Problemas conhecidos

Há um problema conhecido em que a conta de usuário do AD não pode autenticar com o AD FS porque o atributo badPwdCount não é replicado para o controlador de domínio que o ADFS está consultando. Consulte 2971171 para obter mais detalhes. Você pode encontrar todos os QFEs do AD FS que foram lançados até agora aqui.

Pontos-chave a serem lembrados

  • O recurso Bloqueio de Extranet só funciona para o cenário de extranet em que as solicitações de autenticação vêm por meio da Web Proxy de Aplicativo
  • O recurso Bloqueio de Extranet só se aplica à autenticação de senha de nome & de usuário
  • O AD FS não mantém qualquer controle de badPwdCount ou usuários que estão bloqueados sem problemas. 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 a 2016 falhará se não puder acessar o PDC. O AD FS 2016 introduziu melhorias que permitirão que o AD FS volte 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 AND badPasswordTimeExtranetObservationWindow + < Current time, AD FS rejeitará solicitações de autenticação da extranet
  • Para evitar o bloqueio de conta mal-intencionado, verifique se o limite de bloqueio extranetLockoutThresholdAccount< e o contador de bloqueio da conta ExtranetObservationWindowReset>

Referências adicionais

Operações do AD FS