Configurar AD FS proteção de bloqueio extranet

No AD FS no Windows Server 2012 R2, introduzimos um recurso de segurança chamado Bloqueio de Extranet. Com esse recurso, AD FS "parar" 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 seja bloqueadas no Active Directory. Além de proteger seus usuários contra um bloqueio de conta do AD, o AD FS extranet também protege contra ataques de adivinhação de senha de força bruta

Observação

Esse recurso só funciona para o cenário de extranet em que as solicitações de autenticação vêm por meio do web Proxy de Aplicativo e se aplica somente à autenticação de nome de usuário e senha.

Vantagens do bloqueio de extranet

O bloqueio de extranet oferece 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-intencionado para acesso à extranet
  • Ele protege suas contas de usuário contra bloqueio de conta mal-intencionada em que um invasor deseja bloquear uma conta de usuário enviando solicitações de autenticação com senhas incorretas. 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 suave.

Como funciona

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

  • EnableExtranetLockout < Booliano > definirá esse valor booliano como True se você quiser habilitar o Bloqueio de Extranet.
  • ExtranetLockoutThreshold < Inteiro > define o número máximo de tentativas de senha incorreta. Depois que o limite for atingido, 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 > determina por quanto tempo a conta de usuário será bloqueada de forma suave. AD FS iniciará a autenticação de nome de usuário e senha novamente quando a janela for passada. AD FS usa o atributo do AD badPasswordTime como referência para determinar se a janela de observação da extranet passou ou não. A janela foi passada se a hora atual > badPasswordTime + ExtranetObservationWindow.

Observação

AD FS funções de bloqueio de extranet independentemente das políticas de bloqueio do AD. No entanto, é fortemente recomendável definir o valor do parâmetro ExtranetLockoutThreshold como um valor menor que o limite de bloqueio da conta do AD. Não fazer isso resultaria em AD FS ser capaz de proteger as contas de serem bloqueadas no Active Directory.

Um exemplo de habilitação do recurso bloqueio de extranet com, no máximo, 15 tentativas de senha incorreta e duração de bloqueio suave de 30 minutos é o seguinte:

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

Essas configurações serão aplicadas a todos os domínios que o AD FS serviço pode autenticar. A maneira como funciona é que, quando AD FS recebe uma solicitação de autenticação, ele acessará o PDC (Controlador de Domínio Primário) por meio de uma chamada LDAP e executará uma consulta para o atributo badPwdCount para o usuário no PDC. Se 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 boa ou incorreta da extranet, o logon falhará porque AD FS não enviará as credenciais para o AD. AD FS mantém nenhum estado em relação a contas de usuário badPwdCount ou bloqueadas. AD FS usa o AD para todo o acompanhamento de estado.

Aviso

Quando AD FS bloqueio extranet no Servidor 2012 R2 está habilitado, todas as solicitações de autenticação por meio do WAP são validadas por AD FS no PDC. Quando o PDC não estiver disponível, os usuários não poderão se autenticar da extranet.

O Server 2016 oferece um parâmetro adicional que permite AD FS fallback para outro controlador de domínio quando o PDC não estiver disponível:

  • ExtranetLockoutRequirePDC < Booliano > – 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 estiver disponível.

Você pode usar o seguinte comando Windows PowerShell para configurar o bloqueio AD FS extranet 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 garantir que as configurações do Bloqueio de Extranet estão configuradas corretamente para que ele possa atender à sua finalidade de segurança com a política de bloqueio do AD. Primeiro, vamos dar uma olhada na política de bloqueio do AD. Há três configurações relacionadas à política de bloqueio no AD:

  • Limite de Bloqueio de Conta: essa configuração é semelhante à configuração ExtranetLockoutThreshold no AD FS. Ele determina o número de tentativas de logon com falha que fará com que uma conta de usuário seja bloqueada. Para proteger suas contas de usuário contra um ataque de bloqueio de conta mal-intencionada, você deseja definir o valor de ExtranetLockoutThreshold em AD FS valor limite de bloqueio de conta < no AD
  • Duração do Bloqueio de Conta: essa configuração determina por quanto tempo uma conta de usuário é bloqueada. Essa configuração não importa muito nesta conversa, pois o bloqueio de extranet sempre deve acontecer antes que o bloqueio do AD ocorra 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 como 0. Para que o recurso bloqueio de extranet no AD FS funcione bem com a política de bloqueio do AD, você deseja garantir que o valor de ExtranetObservationWindow no AD FS o valor Redefinir Contador de Bloqueio de Conta Após no > AD. Os exemplos a seguir 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 que em ambos os exemplos Limite de Bloqueio de 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 #1, ExtranetObservationWindow > Reset Account Lockout Counter After. No exemplo #2, ExtranetObservationWindow < Reset Account Lockout Counter After.

Exemplo 1

Diagrama que mostra como badPwdCount muda ao longo do tempo com base em diferentes configurações e estados.

Exemplo 2

Example1

Como você pode ver no 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. Ao redefinir o contador de bloqueio de conta após < ExtranetObservationWindow, uma conta não tem nenhum risco de ser bloqueada pelo AD. No entanto, se Redefinir o Contador de Bloqueio de Conta após > ExtranetObservationWindow, haverá 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 de sua configuração, pois o AD FS permitirá apenas uma tentativa de senha incorreta durante sua janela de observação até que badPwdCount atinja o Limite de Bloqueio de Conta .

Para obter mais informações, consulte Configuring Account Lockout.

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 para o controlador de domínio que o ADFS está consultando. Consulte 2971171 para obter mais detalhes. Você pode encontrar todos os AD FS QFEs que foram lançados até agora aqui.

Principais pontos a lembrar

  • 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 do web Proxy de Aplicativo
  • O recurso bloqueio de extranet só se aplica ao nome de usuário & autenticação de senha
  • AD FS não mantém nenhum controle de badPwdCount ou usuários que estão bloqueados de forma suave. AD FS usa o AD para todo o acompanhamento de estado
  • AD FS executa uma consulta para o atributo badPwdCount por meio de chamada LDAP para o usuário no PDC para cada tentativa de autenticação
  • AD FS mais antigo que 2016 falhará se não puder acessar o PDC. AD FS 2016 introduziu melhorias que permitirão AD FS fall back para outros controladores de domínio no caso do PDC não estar disponível.
  • AD FS permitirá solicitações de autenticação da extranet se badPwdCount < ExtranetLockoutThreshold
  • Se badPwdCount >= ExtranetLockoutThreshold AND badPasswordTime + ExtranetObservationWindow < Atual, AD FS rejeitará solicitações de autenticação da extranet
  • Para evitar o bloqueio de conta mal-intencionada, certifique-se de que ExtranetLockoutThreshold Limite de Bloqueio de Conta e < ExtranetObservationWindow > Reset Account Lockout Counter

Referências adicionais

Operações do AD FS