Powrót do Bloga Bezpieczeństwo

Bezpieczeństwo API w środowiskach enterprise — OAuth2, rate limiting, WAF

Zespół ESKOM.AI 2026-05-07 Czas czytania: 7 min

Dlaczego API są szczególnie narażone?

Interfejsy programistyczne łączą ze sobą systemy wewnętrzne i zewnętrzne, obsługują dane wrażliwe i działają w sposób zautomatyzowany — bez walidacji po stronie ludzkiej przy każdym wywołaniu. Tradycyjne zabezpieczenia perymetru sieciowego nie wystarczają, gdy każdy autoryzowany klient może wywołać tysiące zapytań na minutę. OWASP API Security Top 10 dokumentuje powtarzające się klasy podatności, z których wiele wynika nie z błędów w kodzie, lecz z niedostatecznego projektu bezpieczeństwa na poziomie architektury.

Autentykacja i autoryzacja — fundament

OAuth2 z przepływem Authorization Code i PKCE stanowi złoty standard dla API dostępnych przez aplikacje klienckie. Dla komunikacji serwer-serwer odpowiedni jest przepływ Client Credentials z krótkotrwałymi tokenami dostępu. Kluczowe błędy, które należy eliminować na etapie projektowania, to: przechowywanie tokenów w localStorage zamiast pamięci ulotnej, brak walidacji zakresu uprawnień przy każdym wywołaniu, pomijanie weryfikacji pola audience w tokenie JWT oraz stosowanie statycznych kluczy API bez mechanizmu rotacji.

  • Tokeny dostępu: czas życia maksymalnie 15-60 minut
  • Tokeny odświeżające: przechowywane w bezpiecznych, httpOnly cookies lub bezpiecznym magazynie serwera
  • Rotacja kluczy API: obowiązkowa, zautomatyzowana, bez przestojów
  • Inspekcja każdego wywołania pod kątem zakresu uprawnień — nie tylko przy logowaniu

Rate limiting jako ochrona przed nadużyciami

Ograniczanie liczby wywołań w jednostce czasu chroni API przed kilkoma klasami zagrożeń jednocześnie: atakami brute force na dane uwierzytelniające, scrapingiem danych, atakami DDoS skierowanymi na logikę biznesową oraz przypadkowym przeciążeniem przez błędne klienty. Skuteczne wdrożenie rate limitingu wymaga granulacji — inne limity dla nieautoryzowanych zapytań, inne dla uwierzytelnionych użytkowników, inne dla partnerów o podwyższonym zaufaniu. Limity powinny być stosowane na poziomie adresu IP, identyfikatora użytkownika i klucza API łącznie.

Warto zwrócić uwagę na odpowiednie kodowanie błędów — kod 429 Too Many Requests powinien zawierać nagłówek Retry-After, co umożliwia poprawne zachowanie klientów i redukuje liczbę ponownych prób. Limity nadmiernie restrykcyjne generują frustrację użytkowników i utrudniają diagnostykę problemów.

WAF i inspekcja ruchu API

Web Application Firewall nowej generacji rozumie strukturę API — weryfikuje poprawność JSON, wykrywa próby wstrzyknięć w wartościach pól, blokuje znane wzorce exploitów i monitoruje anomalie w rozmiarach ładunków i częstotliwości wywołań. Konfiguracja WAF dla API wymaga innego podejścia niż dla tradycyjnych aplikacji webowych — reguły muszą uwzględniać specyfikę każdego endpointu, dopuszczalne typy i rozmiary danych oraz oczekiwane wzorce użycia.

Monitoring i wykrywanie anomalii

Nawet najlepiej skonfigurowane API wymaga ciągłego monitorowania. Systemy wykrywania anomalii uczą się normalnych wzorców użycia — pory dnia, typowe sekwencje wywołań, rozkład adresów IP — i alarmują przy odchyleniach. Szczególnie wartościowe jest monitorowanie wywołań zakończonych błędami 401 i 403 (próby nieautoryzowanego dostępu), niezwykłych rozmiarów odpowiedzi (potencjalny wyciek danych) i sekwencji sugerujących enumerację zasobów.

ESKOM.AI projektuje bezpieczeństwo API jako wbudowany element architektury, nie warstwę dodaną po fakcie. Każde API eksplorowane przez system automatyzacji przechodzi ocenę podatności zgodną z OWASP API Top 10 przed wejściem do produkcji.

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