Recurso de bloqueio inteligente de extranet - Extranet Smart Lockout (ESL)
Em 22 de março de 1818, uma nova atualização foi lançada para o servidor Windows 2016 (KB4088889). Esta atualização nos trouxe o novo recurso de bloqueio inteligente da extranet do ADFS, ou ESL.
O recurso de bloqueio de extranet interromperá os ataques de força bruta bloqueando a conta no ADFS e impedindo que as contas sejam bloqueadas no Active Directory.
Como o nome sugere, esse recurso só será aplicado se a solicitação de autenticação for proveniente da extranet e para autenticações de nome de usuário/senha.
O novo recurso de ESL consiste na implementação de um novo parâmetro chamado <ExtranetLockoutMode >
Este parâmetro contém 3 valores diferentes:
ADPasswordCounter - este é o valor padrão. O "bloqueio de extranet suave". Não difere com base na localização.
ADFSSmartLockoutLogOnly - Esse é o modo somente de logs de bloqueio inteligente da extranet. Não rejeitará os pedidos. Em vez disso, auditará os eventos para análises.
ADFSSmartLockoutEnforce - Este é o bloqueio inteligente da extranet eficaz. Ele bloqueará as tentativas de senha incorreta quando o limite for atingido.
Antes de começar, precisamos conceder permissões de leitura/gravação ao nosso Administrador sobre o banco de dados de artefatos do ADFS, executando:
Update-AdfsArtifactDatabasePermission
(Autenticar com um administrador do ADFS)
Quando as permissões estiverem definidas, podemos iniciar a configuração de bloqueio inteligente da extranet.
Para ativar o bloqueio de extranet, precisamos executar o cmdlet:
Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold <valor> -ExtranetObservationWindow <valor>
Vamos examinar os parâmetros individualmente:
EnableExtranetLockout - Este parâmetro representa a chave liga/desliga. É sempre um valor codificado, $true ou $false
ExtranetLockoutThreshold - Esse parâmetro representa o número de tentativas de senha com falha antes que a conta seja bloqueada.
Nota: O limite de bloqueio deve ser sempre menor que o do Active Directory, de modo que as contas sejam bloqueadas no ADFS apenas enquanto os usuários ainda puderem acessar seu Active Directory pela intranet ou usando uma VPN.
ExtranetObservationWindow - Este parâmetro representa a janela de tempo de observação entre os blocos. Quando o limite de bloqueio é atingido, o intervalo de tempo da janela de observação é iniciado. Quando o período de tempo da janela de observação expirar e a tentativa de autenticação for bem-sucedida, a conta será desbloqueada automaticamente e a contagem será redefinida para 0. Se uma tentativa de autenticação incorreta for feita, a janela de observação será reiniciada.
Gerenciando o ESL:
Depois de definir o ExtranetLockoutMode como <ADFSSmartLockoutEnforce>, a diversão começa
PS: Certifique-se de reiniciar o serviço do ADFS em todos os nods do ADFS no farm:
Restart-Service adfssrv
Por padrão, todos os registros de contas ficarão assim:
Depois que o usuário autentica com sucesso (com base em senha), o endereço IP é automaticamente adicionado à lista de itens conhecidos.
Se o limite de bloqueio for atingido, a conta será bloqueada automaticamente e a janela de observação será iniciada:
Mesmo que a conta esteja bloqueada, ela só é bloqueada em locais desconhecidos. O usuário ainda poderá acessar sua conta a partir de um local familiar.
Esta é uma melhoria maciça no recurso de bloqueio de extranet.
Em um cenário de força bruta, em que a conta está sendo constantemente bloqueada de locais desconhecidos, o que acontece quando o proprietário da conta tenta acessar sua conta também de um local desconhecido?
Ele não poderá acessar sua conta. No entanto, ele pode entrar em contato com o administrador para ter seu endereço IP atual adicionado nos locais conhecidos:
Set-AdfsAccountActivity -Identity <UPN> -AdditionalFamiliarIps "IP"
NOTA: A qualquer momento, a atividade da conta de bloqueio inteligente da extranet pode ser definida como padrão:
Set-AdfsAccountActivity -Identity <UPN> -Clear
O log de tentativa de acesso à conta será exibido no respectivo nod do ADFS em "Windows Logs/Segurança do Windows"
Aqui está um exemplo do log:
The Federation Service failed to issue a valid token. See XML for failure details. Activity ID: 6d265a76-f305-4ede-a7c1-316c35514791 Additional Data XML: <?xml version="1.0" encoding="utf-16"?> <AuditBase xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AppTokenAudit"> <AuditType>AppToken</AuditType> <AuditResult>Failure</AuditResult> <FailureType>GenericError</FailureType> <ErrorCode>N/A</ErrorCode> <ContextComponents> <Component xsi:type="ResourceAuditComponent"> <RelyingParty>http://adfs.contoso.com/adfs/services/trust</RelyingParty> <ClaimsProvider>N/A</ClaimsProvider> <UserId>user@contoso.com</UserId> </Component> <Component xsi:type="AuthNAuditComponent"> <PrimaryAuth>N/A</PrimaryAuth> <DeviceAuth>false</DeviceAuth> <DeviceId>N/A</DeviceId> <MfaPerformed>false</MfaPerformed> <MfaMethod>N/A</MfaMethod> <TokenBindingProvidedId>false</TokenBindingProvidedId> <TokenBindingReferredId>false</TokenBindingReferredId> <SsoBindingValidationLevel>NotSet</SsoBindingValidationLevel> </Component> <Component xsi:type="ProtocolAuditComponent"> <OAuthClientId>N/A</OAuthClientId> <OAuthGrant>N/A</OAuthGrant> </Component> <Component xsi:type="RequestAuditComponent"> <Server>http://adfs.contoso.com/adfs/services/trust</Server> <AuthProtocol>WSFederation</AuthProtocol> <NetworkLocation>Extranet</NetworkLocation> <IpAddress>1.2.3.4</IpAddress> <ForwardedIpAddress>1.2.3.4</ForwardedIpAddress> <ProxyIpAddress>N/A</ProxyIpAddress> <NetworkIpAddress>N/A</NetworkIpAddress> <ProxyServer>WAP</ProxyServer> <UserAgentString>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36</UserAgentString> <Endpoint>/adfs/ls/</Endpoint> </Component> </ContextComponents> </AuditBase>
Espero que isto ajude.
from TechNet Blogs https://ift.tt/2I54x2b
No comments:
Post a Comment