Eu tenho um servidor openldap (com senhas de usuário) aberto em todo o mundo que estou tentando proteger.
O passo 1 foi limitar o acesso aos dados para usuários autenticados por meio de ACLs.
O passo 2, para prevenir ataques de força bruta, foi implementar a política. Parece estar funcionando bem, legal.
O passo 3 vai ser "lidar com o usuário que foi bloqueado e jura que não é culpa dele", detectando dn lockouts o mais cedo possível com suas possíveis causas.
Eu comecei a escrever scripts que verificam a presença do atributo pwdAccountLockedTime, avisam via e-mail, campainhas etc. Tudo bem, mas estou achando difícil vincular isso aos dados nos logs dizendo quando os logins incriminados ocorreram, onde eles foram feitos Todos os dados estão lá, mas trazê-los todos juntos é uma dor real. Tenho certeza de que não sou o único confrontado com esse problema (ou estou tentando resolver o problema errado?) E que existem soluções, simplesmente não consegui encontrá-las. Estou errado?
Esqueci de dizer que o fail2ban não é realmente adequado. Existem muitos clientes, dos quais não conheço necessariamente os endereços, que provavelmente farão solicitações massivas legítimas no diretório e não passarão no fail2ban. Parece estranho, eu sei, mas nossa configuração aqui é complicada e nós temos que lidar com isso. É por isso que estou olhando para a política.
Para resumir, gostaria de ter uma maneira de monitorar a ocorrência de pwdAccountLockedTime e, quando isso acontece, ter imediatamente as informações de qual usuário está envolvido, os valores de pwdFailureTime, quais solicitações foram feitas naquele momento e do qual endereço (s) IP em um único arquivo de log, fácil de ler. Isso seria ótimo, certamente existe?