Обратно към блога Сигурност

Сигурност на API в enterprise среди — OAuth2, rate limiting, WAF

Zespół ESKOM.AI 2026-05-07 Време за четене: 7 min

Защо API са особено уязвими?

Програмните интерфейси свързват вътрешни и външни системи, обработват чувствителни данни и функционират автоматизирано — без човешка валидация при всяко извикване. Традиционните защити на мрежовия периметър са недостатъчни, когато всеки оторизиран клиент може да извика хиляди заявки на минута. OWASP API Security Top 10 документира повтарящи се класове уязвимости, много от които произтичат не от грешки в кода, а от недостатъчен дизайн на сигурността на архитектурно ниво.

Автентикация и оторизация — основата

OAuth2 с потока Authorization Code и PKCE е златният стандарт за API, достъпни чрез клиентски приложения. За сървър-към-сървър комуникация подходящ е потокът Client Credentials с краткотрайни токени за достъп. Ключови грешки, които трябва да се елиминират на етапа на проектиране, са: съхраняване на токени в localStorage вместо в летлива памет, липса на валидация на обхвата на правата при всяко извикване, пропускане на проверката на полето audience в JWT токен и използване на статични API ключове без механизъм за ротация.

  • Токени за достъп: време на живот максимум 15-60 минути
  • Refresh токени: съхранявани в сигурни httpOnly бисквитки или безопасно сървърно хранилище
  • Ротация на API ключове: задължителна, автоматизирана, без престой
  • Инспекция на всяко извикване по отношение на обхвата на правата — не само при влизане

Rate limiting като защита срещу злоупотреби

Ограничаването на броя извиквания за единица време защитава API от няколко класа заплахи едновременно: brute force атаки срещу идентификационни данни, scraping на данни, DDoS атаки, насочени към бизнес логиката, и случайно претоварване от дефектни клиенти. Ефективното внедряване на rate limiting изисква гранулация — различни лимити за неоторизирани заявки, за автентикирани потребители и за партньори с повишено доверие. Лимитите трябва да се прилагат едновременно на ниво IP адрес, идентификатор на потребител и API ключ.

Важно е да се обърне внимание на правилното кодиране на грешките — код 429 Too Many Requests трябва да съдържа заглавка Retry-After, което позволява правилно поведение на клиентите и намалява броя на повторните опити. Прекалено рестриктивните лимити генерират разочарование у потребителите и затрудняват диагностиката на проблемите.

WAF и инспекция на API трафика

Web Application Firewall от ново поколение разбира структурата на API — верифицира коректността на JSON, открива опити за инжектиране в стойностите на полетата, блокира известни модели на експлойти и мониторира аномалии в размерите на payload и честотата на извикванията. Конфигурацията на WAF за API изисква различен подход от този за традиционните уеб приложения — правилата трябва да отчитат спецификата на всеки endpoint, допустимите типове и размери данни и очакваните модели на използване.

Мониторинг и откриване на аномалии

Дори и най-добре конфигурираното API се нуждае от непрекъснат мониторинг. Системите за откриване на аномалии се обучават на нормалните модели на използване — часове от деня, типични последователности от извиквания, разпределение на IP адреси — и алармират при отклонения. Особено ценен е мониторингът на извиквания, завършили с грешки 401 и 403 (опити за неоторизиран достъп), необичайни размери на отговори (потенциално изтичане на данни) и последователности, предполагащи изброяване на ресурси.

ESKOM.AI проектира сигурността на API като вграден елемент на архитектурата, а не като слой, добавен след факта. Всяко API, използвано от системата за автоматизация, преминава оценка на уязвимостите съгласно OWASP API Top 10 преди влизане в продукция.

#API security #OAuth2 #WAF #rate limiting #OWASP API Top 10