Що таке rate limiting?
Rate limiting - це механізм захисту, який обмежує кількість запитів, які користувач, IP-адреса чи застосунок можуть надіслати за певний проміжок часу.
Простіше кажучи: rate limiting не дає одному джерелу «занадто часто» звертатися до сервісу.
Навіщо потрібен rate limiting
Без обмежень:
- сервіс легко перевантажити;
- можливі brute force і DDoS-атаки;
- зловмисник може «заспамити» API чи форму входу.
Rate limiting потрібен, щоб:
- захистити сервіс від перевантаження;
- знизити ризик атак;
- забезпечити стабільну роботу для всіх користувачів.
Як працює rate limiting
Система рахує запити від джерела (наприклад, IP) і застосовує правило, наприклад:
- не більше 100 запитів за хвилину;
- не більше 5 спроб входу за 10 хвилин.
Якщо ліміт перевищено:
- запити тимчасово блокуються;
- повертається помилка (наприклад, HTTP 429);
- іноді вводиться затримка.
Ліміти можуть застосовуватися до:
- IP-адреси;
- користувача;
- API-ключа;
- сесії.
Де використовується rate limiting
- вебсайти;
- API;
- форми логіну;
- сервіси авторизації;
- захист від L7 DDoS.
Які атаки допомагає запобігти
Rate limiting ефективно захищає від:
- brute force (підбір паролів);
- credential stuffing;
- HTTP flood;
- зловживань API.
Це один із базових, але дуже важливих заходів захисту L7.
Види rate limiting (спрощено)
- Жорсткий ліміт - після перевищення запити блокуються
- М'який ліміт - запити сповільнюються
- Адаптивний - ліміти змінюються залежно від поведінки
Обмеження rate limiting
Важливо розуміти:
- сам по собі не зупинить великий DDoS;
- вимагає правильного налаштування лімітів;
- може заважати легітимним користувачам при помилках конфігурації.
Зазвичай використовується разом із firewall, WAF та анти-DDoS.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.