Varnost
Kaj je rate limiting in zakaj ga vsak sistem potrebuje
Rate limiting omejuje število zahtev v časovni enoti in ščiti sistem pred zlorabo in preobremenitvijo. Razložimo preprosto.
Rate limiting je tehnika, ki omejuje, kolikokrat lahko nekdo — bodisi pravi človek bodisi avtomatiziran skript ali bot — pošlje zahtevo sistemu v kratkem časovnem obdobju. Praktičen primer: kolikokrat lahko nekdo poskusi prijaviti se v račun ali kolikokrat lahko pošlje kontaktni obrazec, preden sistem začasno blokira nadaljnje poskuse.
Pred čim rate limiting konkretno ščiti
Ugibanje gesel (znano kot brute-force napad) — brez omejitve bi napadalec lahko avtomatizirano preizkusil tisoče gesel na minuto, dokler ne ugane pravega; z rate limitingom se po nekaj napačnih poskusih nadaljnji poskusi začasno blokirajo, zaradi česar tak napad postane nepraktičen.
Spam prek obrazcev in API klicev — omejuje, kolikokrat se isti obrazec ali isti API endpoint lahko uporabita z istega naslova v kratkem času.
Preobremenitev strežnika (nenamerna ali namerna) zaradi izjemno velikega števila zahtev v kratkem časovnem obdobju, ki bi sicer lahko upočasnila ali sesula cel sistem za vse uporabnike.
Kako se rate limiting praktično uporablja
Postavi se na ravni API-jev in obrazcev z razumnimi, konkretnimi pragovi — na primer, največ pet poskusov prijave na minuto na en IP naslov je običajno pravilo. Legitimni uporabniki tega v praksi nikoli ne opazijo, ker se redko zmotijo petkrat zapored v minuti, medtem ko se avtomatizirane zlorabe učinkovito upočasnijo ali povsem blokirajo.
Nikola Cerić
Ustanovitelj in direktor, Manage IT
Več kot 10 let izkušenj z razvojem programske opreme — v lastnem podjetju in v velikih IT podjetjih Balkana.