Ferramentas de Rate Limiting ajudam na proteção das nossas aplicações contra variados tipos de ataques e usos indevidos.
Ataques dos tipos DDos, Brute Force e exploração de vulnerabilidades são os mais comuns.
DDoS vem de Distributed Denial-of-Service. É um tipo de ataque que visa inviabilizar o seu sistema deixando-o sobrecarregado. O volume de acesso é tão grande que seu servidor não conseguirá lidar com o volume, e dessa forma suas páginas hospedadas ficarão indisponíveis.
Já os ataques de Brute Force são sucessivas tentativas de login. Isto é, através de ferramentas combinadas com dicionários de senhas são realizados tentativas de login por força bruta, até que alguma combinação dê resultado positivo.
Descobertas de vulnerabilidades de sistemas acontecem o tempo todo. Elas são corrigidas com as atualizações disponibilizadas, e dessa forma as possíveis brechas não serão mais exploradas.
Quando nos referimos aos usos indevidos, estamos dizendo sobre abusos. Seja no consumo da sua API, ou nos dados e informações que você disponibiliza.
Bots podem ser desenvolvidos para capturar essas informações e sobrecarregar o seu sistema.
Os tipos de Rate Limit
Ferramentas de Rate Limiting são personalizadas por tipos e limites desejados.
O tipo, bem como o limite, deve ser usado de acordo com o seu objetivo e necessidade. Dessa forma, você pode configurá-lo para uma atuação mais branda ou agressiva.
Os tipos mais comuns são aqueles que empregam limites de taxas por usuário, área geográfica e servidor.
Limite de taxa por usuário
Você configura o número máximo de requisições dentre um período de tempo por usuário.
O usuário é detectado através do IP em uso. E com essa identificação é possível limitar, e por conseguinte negar, o volume de requisições que ele está tentado fazer.
Com o limite de taxa por usuário empregado, algumas requisições dele serão bloqueadas e seu servidor não será sobrecarregado.
Limite de taxa por área geográfica
Alguns ataques podem ser provenientes de um país ou continente específico, por exemplo. Com essa informação apurada, é possível configurar o número máximo de requisições para essa região.
Numa alusão extrema, imagine uma guerra cibernética entre países. Uma ferramenta de Rate Limiting ajuda a limitar a taxa de requisição vindo do país atacante.
Ou, uma guerra declarada entre concorrentes comerciais. Por exemplo: Instagram (EUA) e TikTok (China).
Ou pensando em questões estratégicas, é possível determinar que algumas regiões terão os acessos limitados em dias e horários da semana. Isso ajuda reduzir o risco de ataque ou atividades suspeitas.
Limite de taxa por servidor
Quando estruturamos uma infraestrutura horizontal, definimos servidores específicos para cada tipo de aplicação e serviço.
Por exemplo, podemos separar a aplicação, o banco de dados, os arquivos estáticos e a camada de cache.
Com esse tipo de estrutura, e tendo uma desenho e necessidade clara, é possível limitar as taxas de requisições no servidor A dado a sua natureza. E o inverso pode ser feito no servidor B.
Aplicar limites de taxa por servidor é mais uma possibilidade que ferramentas de Rate Limit nos oferece.
Como implementar os limites de requisições
É possível implementar ferramentas que aplicam limites de requisições a nível de linguagens de programação, de servidor web e mecanismos de cache, por exemplo.
Existem também ferramentas específicas como a Rate Limit da GoCache. Fazemos uso dessa solução em nossa hospedagem especializada para WordPress.
Os servidores web mais populares como NGINX e Apache também oferecem módulos que ajudam na missão. São eles.
- No servidor web NGINX, ngx_http_limit_req_module;
- Já no Apache, mod_ratelimit.
Os benefícios de ferramentas de Rate Limiting
Até este ponto do texto, eu acredito que ficou claro que os benefícios trazidos por ferramentas de Rate Limit são de segurança.
Isso é fato. Mas percebemos também as possibilidades estratégicas de uso que elas oferecem.
Mas temos também três outros tipos de ganho positivos para os nossos usuários e negócios. O ganho de performance, de análise de métricas e econômico.
Os ganhos em performance
Eliminando acessos indesejados, nossos servidores ficarão mais livres para servir sua aplicação ao maior número de usuários possível.
Sua hospedagem não ficará ocupada tendo que lidar com ataques e um alto volume falso de tráfego.
Sabemos que infraestrutura é um dos pilares da boa performance em WordPress. E como dito, ferramentas que aplicam Rate Limit podem ser uma aliada.
Sobre a análise de métricas
Considerando que temos um alto volume de tráfego falso, os quais foram realizados por robôs utilizados em ataques.
Como eles acessaram sua página, elas foram carregadas e em decorrência disso os scripts de análises foram executados.
Dessa forma, você teve um inchaço de números de acessos que “nunca aconteceram”. E esse excedente vai prejudicar o cálculo real da sua taxa de conversão no marketing.
E analisar dados errados, vai resultar em estratégias equivocadas e sem um real embasamento data-driven.
Os ganhos enconômicos
Como milhares de acessos sendo barrados, seu custo de infraestrutura de servidores será menor.
Você não vai precisar escalar sua infra para atender uma demanda que “não existe”. Bem como não vai pagar excedente de consumo de banda.
Essas limitações de acessos duvidosos resultam em ganhos econômicos que você pode ter com sua hospedagem.
Conclusão
Conhecer ferramentas de segurança, como percebemos, nos permite pensar e ter ganhos além do seu propósito inicial.
Os ganhos de performance e econômicos, nesse caso de implementação do Rate Limit é extremamente estratégico.
Na Apiki, através da nossa solução de hospedagem, temos um arsenal de ferramentas e tecnologias que consideramos de acordo com as necessidades dos nossos clientes.