A replicação do atributo lockoutTime não é urgente no AD-LDS

5

Eu tenho dois servidores LDS na mesma sub-rede. Eles replicam bem. Se eu mudar um atributo, ele será replicado após 15 segundos.

O LDS está configurado para honrar as políticas de senha. Quando um usuário faz muitas tentativas erradas de senha, sua conta é bloqueada e o atributo lockoutTime do usuário é definido de acordo.

Mas lockoutTime não é replicado como urgente . Na verdade, não é replicado a menos que haja outra alteração em algum lugar no diretório. O atributo lockoutTime será replicado.

Aqui está um traço (editado por Wireshark). Mostra o tráfego de replicação normal

No.   Time     Protocol Length Info
  133 16:23:02 DRSUAPI  562    DsGetNCChanges request
  134 16:23:02 DRSUAPI  3042   DsGetNCChanges response
  152 16:23:17 DRSUAPI  562    DsGetNCChanges request
  157 16:23:17 DRSUAPI  242    DsGetNCChanges response
  230 16:24:57 DRSUAPI  562    DsGetNCChanges request
  231 16:24:57 DRSUAPI  2930   DsGetNCChanges response
  246 16:25:12 DRSUAPI  562    DsGetNCChanges request

Logo em seguida, bloqueio o usuário (com FOR loop e ldifde ). Nada acontece, até que eu desista e mude o atributo description no usuário, então cerca de 15 segundos depois eu vejo a replicação passar.

 1984 16:31:05 DRSUAPI  562    DsGetNCChanges request
 1985 16:31:05 DRSUAPI  2930   DsGetNCChanges response

O lockoutTime e a descrição são replicados. Como declarado aqui , se eu definir lockoutTime=0 , a replicação regular ocorre após 15 segundos!

Eu ativei os diagnósticos de replicação . Nada aparece nos registros da instância porque não há replicação. Quando a replicação é acionada, vejo um grupo de eventos 1239 para os atributos atualizados, dois eventos 1240. Um para os atributos lockoutTime e um para description (que eu usei para disparar a replicação).

Eu ativei alteração de notificação entre sites , reiniciei ambos os serviços, mas ele fez não faz qualquer diferença. Talvez porque os dois servidores estejam na mesma sub-rede.

A Especificação técnica do Active Directory lista claramente lockoutTime como um dos atributos urgentes para replicar .

O que poderia estar impedindo a replicação urgente do atributo lockoutTime ?

    
por ixe013 28.11.2012 / 23:05

1 resposta

2

(respondendo minha própria pergunta com o resultado de uma chamada de suporte para a Microsoft)

É um bug no AD-LDS (ID do bugcheck 354126). Isso afeta o Windows Server 2008, eu não sei sobre o Server 2012.

O problema é que nenhuma notificação é enviada para as réplicas (nem urgente nem normal). Quando o bloqueio de conta é armazenado no banco de dados, o LDS não atualiza a lista de notificação global. Portanto, somente depois que a replicação programada entra em ação, a replicação ocorre.

Em volta, é para criar uma tarefa agendada que chama

repadmin /syncall localhost:389

Esta chamada gerará cerca de 42k de tráfego de rede se não houver nada para replicar.

A outra maneira de contornar o problema é ... não fazer nada. O bug permite que um invasor dobre sua chance de adivinhar uma senha. É difícil explorar porque os usuários geralmente não chamam o LDS diretamente. E mesmo se o fizessem, esse bug só dobraria suas chances.

    
por 27.01.2013 / 08:42