Limitação de taxa Nginx em IPs exclusivos

Limitação de taxa Nginx em IPs exclusivos

temos lidado com ataques constantes ao nosso URL de autenticação, estamos falando de milhões de solicitações por dia, meu palpite é que eles estão tentando usar senhas de força bruta.

Sempre que bloqueávamos o IP com o firewall do servidor, poucos segundos depois os ataques recomeçavam a partir de um IP diferente.

acabamos implementando uma combinação de otimização por meio de ataque de rack e código personalizado para bloquear dinamicamente os IPs no firewall. Mas à medida que melhoramos a segurança do nosso software, o mesmo aconteceu com os invasores, e agora vemos que cada solicitação que eles fazem é feita a partir de um IP diferente, uma chamada por IP, ainda várias por segundo, não tantas, mas ainda assim um problema.

Agora estou tentando descobrir o que mais posso fazer para evitar isso, tentamos o recaptcha, mas rapidamente esgotamos a cota mensal e ninguém consegue fazer login.

Estou pesquisando o limitador de taxa Nginx, mas pelo que posso ver ele também usa o IP, considerando que agora eles alternam IPs para cada solicitação, existe uma maneira de isso funcionar?

Alguma outra sugestão sobre como lidar com isso, talvez um de vocês tenha passado pela mesma coisa?

Pilha: Nginx e Rails 4, Ubuntu 16.

Responder1

Com a limitação de taxa, você filtrou alguns dos pulverizadores de senha de alto volume, o que ajuda. No entanto, a limitação de taxa baseada em IP por si só não funciona quando o invasor tem muitos endereços IP, alterna rapidamente entre eles e limita as solicitações a uma taxa humana.

tentamos o recaptcha, mas rapidamente esgotamos a cota mensal e ninguém consegue fazer login.

Pague pelo seu serviço CAPTCHA e observe como funciona em escala durante o mês. Se você não gosta do preço, dê uma olhadaalternativas.hCaptcha, por exemplo, tem um nível gratuito básico.

Mais fundamentalmente, substitua as senhas por algo melhor, talvez chaves de segurança de hardware ou biometria. Ou pelo menos complemente as senhas com fatores de autenticação adicionais. Existem padrões para fazer isso, nomeadamente FIDO2. E para credenciais não interativas do usuário, chaves ssh, certificados x509 ou chaves de API geradas também são melhores do que senhas selecionadas pelo usuário.

informação relacionada