{"id":1466,"date":"2020-11-05T15:13:16","date_gmt":"2020-11-05T18:13:16","guid":{"rendered":"https:\/\/aiqon.com.br\/blog\/?p=1466"},"modified":"2022-05-12T09:41:27","modified_gmt":"2022-05-12T12:41:27","slug":"rate-limit-uma-parte-vital-da-seguranca-web-moderna","status":"publish","type":"post","link":"https:\/\/aiqon.com.br\/blog\/rate-limit-uma-parte-vital-da-seguranca-web-moderna\/","title":{"rendered":"Rate Limit: Uma Parte Vital da Seguran\u00e7a Web Moderna"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p>O que \u00e9 Rate Limit? Por que \u00e9 uma parte t\u00e3o vital da seguran\u00e7a efetiva da web e o que \u00e9 importante saber sobre sua configura\u00e7\u00e3o com uma solu\u00e7\u00e3o de seguran\u00e7a? Essas quest\u00f5es e muito mais ser\u00e3o discutidas nesse artigo.<\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Nesse Artigo<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabela de conte\u00fado\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/aiqon.com.br\/blog\/rate-limit-uma-parte-vital-da-seguranca-web-moderna\/#O_que_e_a_Rate_Limiting\" >O que \u00e9 a Rate Limiting?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/aiqon.com.br\/blog\/rate-limit-uma-parte-vital-da-seguranca-web-moderna\/#Por_que_a_Rate_Limiting_e_tao_importante\" >Por que a Rate Limiting \u00e9 t\u00e3o importante?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/aiqon.com.br\/blog\/rate-limit-uma-parte-vital-da-seguranca-web-moderna\/#Configurando_o_Rate_Limit_efetivamente\" >Configurando o Rate Limit efetivamente<\/a><\/li><\/ul><\/nav><\/div>\n\n<h2><span class=\"ez-toc-section\" id=\"O_que_e_a_Rate_Limiting\"><\/span>O que \u00e9 a Rate Limiting?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Sobretudo o Rate Limiting \u00e9 a identifica\u00e7\u00e3o da origem de tr\u00e1fego hostil pelo ritmo na qual elas est\u00e3o tentando acessar um recurso da rede. A solu\u00e7\u00e3o de seguran\u00e7a web monitora a frequ\u00eancia e o timing das requisi\u00e7\u00f5es de cada requisi\u00e7\u00e3o. Quando uma requisi\u00e7\u00e3o excede uma taxa limite especifica ela \u00e9 bloqueada de acesso futuro por um per\u00edodo de tempo.<\/p>\n<p>Por exemplo, \u00e9 comum configurar limites em uma p\u00e1gina de login. Praticamente todos os usu\u00e1rio leg\u00edtimos ser\u00e3o h\u00e1beis de completar o processo de login em uma, duas ou possivelmente tr\u00eas tentativas. Entretanto, quando um \u201cusu\u00e1rio\u201d especifico tenta logar dezenas de vezes em alguns minutos e falha todas as vezes, esse usu\u00e1rio provavelmente n\u00e3o \u00e9 legitimo. Provavelmente se trata de um autor il\u00edcito tentando descobrir credenciais e tentando ter acesso n\u00e3o autorizado a uma conta de usu\u00e1rio. Realizar o Rate Limiting em uma p\u00e1gina de login \u00e9 uma forma simples e direta de bloquear essa atividade maliciosa.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Por_que_a_Rate_Limiting_e_tao_importante\"><\/span>Por que a Rate Limiting \u00e9 t\u00e3o importante?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>O Rate Limiting \u00e9 crucialmente importante no ambiente de amea\u00e7as moderno. H\u00e1 diversas formas de ataque que s\u00e3o detect\u00e1veis monitorando as taxas de requisi\u00e7\u00f5es. Aqui est\u00e3o cinco delas:<\/p>\n<h3><strong>Ataques de DDoS<\/strong><\/h3>\n<p>O <a href=\"https:\/\/aiqon.com.br\/blog\/ataque-ddos-ioio-como-contorna-los\/\">DDoS<\/a> \u00e9 um ataque que tenta fazer com que o sistema alvo fique indispon\u00edvel para os usu\u00e1rios. Nesse sentido o atacante tenta sobrecarregar a rede da v\u00edtima com uma quantidade enorme de trafego para derrubar os servidores.<\/p>\n<p>O DDoS \u00e9 a situa\u00e7\u00e3o mais \u00f3bvia que a Rate Limiting pode mitigar. Quando uma origem de trafego especifica faz muitas requisi\u00e7\u00f5es em um per\u00edodo de tempo, ent\u00e3o a solu\u00e7\u00e3o de seguran\u00e7a web deve banir essa origem de acesso futuro na rede.<\/p>\n<p>Entretanto, os atacantes de DDoS podem ser desafiadores de uma forma que os outros ataques n\u00e3o conseguem replicar. O primeiro \u201cD\u201d de DDoS significa distribu\u00eddo; as requisi\u00e7\u00f5es v\u00eam de um grande n\u00famero (potencialmente milh\u00f5es) de endere\u00e7os de IP diferentes, ent\u00e3o qualquer requisi\u00e7\u00e3o n\u00e3o violar\u00e1 a Rate Limiting. Nessa situa\u00e7\u00e3o, a solu\u00e7\u00e3o de seguran\u00e7a deve reconhecer que apesar da variedade de geolocalidades originadas, essas requisi\u00e7\u00f5es ainda fazem parte de um mesmo ataque. Elas devem ser tratadas como uma \u00fanica requisi\u00e7\u00e3o de um lugar s\u00f3, e todas as requisi\u00e7\u00f5es seguintes devem ser bloqueadas.<\/p>\n<h3><strong>Credential Stuffing<\/strong><\/h3>\n<p>Quando uma amea\u00e7a faz vazar informa\u00e7\u00f5es de um grande site, eles normalmente coletam uma grande quantidade de credenciais. Logo depois, enviar\u00e3o essas credenciais para que bots utilizem em outros sites na tentativa de roubar credenciais de login de outro lugar. Contudo esse tipo de ataque tem um alto \u00edndice de sucesso por que infelizmente muitos usu\u00e1rios reutilizam suas combina\u00e7\u00f5es de login e senha em diferentes sites.<\/p>\n<p>Por sua natureza, esses bots acessar\u00e3o p\u00e1ginas de login v\u00e1rias e v\u00e1rias vezes, j\u00e1 que eles tentam diversas combina\u00e7\u00f5es de credenciais. O Rate Limit \u00e9 uma forma efetiva de detect\u00e1-los e bloque\u00e1-los, prevenindo essa forma de tomada de conta.<\/p>\n<h3><strong>Ataques de for\u00e7a bruta<\/strong><\/h3>\n<p>Essas s\u00e3o formas mais rudes de ataques a credenciais. Aqui o atacante tenta adivinhar as credenciais de login sistematicamente tentando diversas varia\u00e7\u00f5es at\u00e9 que uma funcione. Uma rede segura ter\u00e1 requisitos de credencial (como tamanho de senha e composi\u00e7\u00e3o da mesma) que fazem o ataque de for\u00e7a bruta dif\u00edcil de ser realizada. De qualquer forma, um grande ataque pode consumir uma grande quantidade de recursos da rede, ent\u00e3o \u00e9 importante bloque\u00e1-los. Rate Limit funciona bem para isso.<\/p>\n<h3><strong>Site Scraping e roubo de dados<\/strong><\/h3>\n<p>Em alguns vetores, o scraping e o roubo de dados s\u00e3o alarmantes e bloquear essas atividades \u00e9 de extrema import\u00e2ncia. Por exemplo, no <a href=\"https:\/\/lps.aiqon.com.br\/ecommerceprotection\">ecommerce<\/a>, os competidores tentam roubar dados de precifica\u00e7\u00e3o uns dos outros. Agregadores de conte\u00fado que vendem acesso aos dados devem prevenir o acesso n\u00e3o autorizado visto que essa \u00e9 a base do seu modelo de neg\u00f3cio.<\/p>\n<p>Bots scraper tentam acessa e copiar o m\u00e1ximo poss\u00edvel de dados das aplica\u00e7\u00e3o alvejadas. O Rate Limit pode detectar essa a\u00e7\u00e3o e contrariar o scraping.<\/p>\n<h3><strong>Nega\u00e7\u00e3o de invent\u00e1rio<\/strong><\/h3>\n<p>Por fim, a nega\u00e7\u00e3o de invent\u00e1rio, onde autores de amea\u00e7a podem usar bots de nega\u00e7\u00e3o de invent\u00e1rio para come\u00e7ar transa\u00e7\u00f5es (como reservar produtos em sites de <a href=\"https:\/\/aiqon.com.br\/blog\/e-commerce-como-manter-seguro\/\">ecommerce<\/a> ou sites de viagens) sem nunca completa-las. Isso remove os itens dispon\u00edveis do invent\u00e1rio e previne que clientes leg\u00edtimos comprem. Nesse sentido o Rate Limit pode detectar essas atividades e bloquear os bots.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Configurando_o_Rate_Limit_efetivamente\"><\/span>Configurando o Rate Limit efetivamente<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Assim como qualquer processo que pode filtrar tr\u00e1fego de origem, o Rate Limit deve ser usado corretamente.<\/p>\n<p>Se esses limites est\u00e3o configurados de forma n\u00e3o apropriada, pode gerar falsos positivos e alguns usu\u00e1rios leg\u00edtimos podem ser exclu\u00eddos da aplica\u00e7\u00e3o protegida.<\/p>\n<p>Se os limites estiverem muito altos, as consequ\u00eancias podem ser ainda piores, ele ir\u00e1 criar alertas de falso positivo. Ao inv\u00e9s de excluir alguns atacantes da rede, eles acabar\u00e3o tendo acesso. O resultado disso depender\u00e1 do tipo de ataque; tudo desde consumo extra de recursos at\u00e9 a perda de dados privados para comprometer as contas de usu\u00e1rio.<\/p>\n<p>Configurar os limites corretos requer an\u00e1lise cuidadosa dos dados hist\u00f3ricos, a sele\u00e7\u00e3o de um algoritmo apropriado para analise, tornando os resultados dispon\u00edveis para o usu\u00e1rio monitorar e ajustar manualmente caso necess\u00e1rio.<\/p>\n<p>Portanto, o <a href=\"https:\/\/aiqon.com.br\/reblaze\/\">Reblaze<\/a> inclui mecanismos para fazer tudo isso automaticamente, al\u00e9m de outras funcionalidades importantes (como condi\u00e7\u00f5es de eventos granulares, Rate Limit combinada para uma \u00fanica URL, auto banimento de tr\u00e1fego de origem maliciosa que viola os limites de taxa ap\u00f3s a reinicializa\u00e7\u00e3o e muito mais!)<\/p>\n<p>Enfim, h\u00e1 muito mais que poderia ser dito sobre selecionar e otimizar o Rate Limit para solu\u00e7\u00f5es diferentes. Trataremos disso num artigo futuro.<\/p>\n<p>Enquanto isso, ficaremos felizes em te oferecer uma demonstra\u00e7\u00e3o do Reblaze incluindo n\u00e3o apenas o Rate Limit inteligente (junto a <a href=\"https:\/\/aiqon.com.br\/ddos\/\">prote\u00e7\u00e3o de DDoS dedicada<\/a>) mas tamb\u00e9m um <a href=\"https:\/\/aiqon.com.br\/waf\/\">WAF de \u00faltima gera\u00e7\u00e3o<\/a>, <a href=\"https:\/\/aiqon.com.br\/bot\/\">gerenciamento avan\u00e7ado de bot<\/a>s, seguran\u00e7a de API e muito mais. <a href=\"https:\/\/aiqon.com.br\/reblaze\/\">Fale conosco<\/a> para uma demonstra\u00e7\u00e3o.<\/p>\n<p><a href=\"https:\/\/aiqon.com.br\/reblaze\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1468 size-full\" src=\"https:\/\/aiqon.com.br\/blog\/wp-content\/uploads\/2020\/11\/reblaze.jpg\" alt=\"rate limit\" width=\"700\" height=\"280\" srcset=\"https:\/\/aiqon.com.br\/blog\/wp-content\/uploads\/2020\/11\/reblaze.jpg 700w, https:\/\/aiqon.com.br\/blog\/wp-content\/uploads\/2020\/11\/reblaze-300x120.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p><strong>Texto Original:<\/strong> <a href=\"https:\/\/www.reblaze.com\/blog\/rate-limiting-a-vital-part-of-modern-web-security\/\">Reblaze<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que \u00e9 Rate Limit? Por que \u00e9 uma parte t\u00e3o vital da seguran\u00e7a efetiva da web e o que \u00e9 importante saber sobre sua configura\u00e7\u00e3o com uma solu\u00e7\u00e3o de seguran\u00e7a? Essas quest\u00f5es e muito mais ser\u00e3o discutidas nesse artigo. O que \u00e9 a Rate Limiting? Sobretudo o Rate Limiting \u00e9 a identifica\u00e7\u00e3o da origem [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1467,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[101],"tags":[99,140,100],"class_list":["post-1466","post","type-post","status-publish","format-standard","has-post-thumbnail","category-web-security","tag-ddos","tag-rate-limit","tag-waf","czr-hentry"],"jetpack_featured_media_url":"https:\/\/aiqon.com.br\/blog\/wp-content\/uploads\/2020\/11\/RATELIMIT.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/posts\/1466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1466"}],"version-history":[{"count":4,"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/posts\/1466\/revisions"}],"predecessor-version":[{"id":1749,"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/posts\/1466\/revisions\/1749"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/media\/1467"}],"wp:attachment":[{"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aiqon.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}