Eu tenho um serviço usando nginx como servidor front-end. Alguns bots forçam constantemente a página de login / força bruta e isso diminui suficientemente a produtividade do meu servidor.
O que eu quero fazer é contar a quantidade de falhas de login (em PHP) e, em seguida, atualizar uma lista negra de IP e, em seguida, usar essa lista para banir clientes por IP para acessar apenas a página /login. (Isto é para evitar banimentos ocasionais de "bons" crawlers, que poderão ler outras páginas do site mesmo sendo "banidos" na página de login).
Como implementar o nginx ban da lista dinâmica de IP?
O que você quer fazer é basicamente Fail2ban.
https://www.fail2ban.org/
Em seu script PHP, você pode registrar as tentativas de login e, em seguida, analisar e agir com Fail2ban.