{"id":1743,"date":"2026-05-04T10:00:50","date_gmt":"2026-05-04T10:00:50","guid":{"rendered":"https:\/\/news.jurskitech.pl\/blog\/uncategorized\/kto-odpowiada-za-bezpieczenstwo-api-w-twojej-firmie-3-bledy\/"},"modified":"2026-05-04T10:00:50","modified_gmt":"2026-05-04T10:00:50","slug":"kto-odpowiada-za-bezpieczenstwo-api-w-twojej-firmie-3-bledy","status":"publish","type":"post","link":"https:\/\/news.jurskitech.pl\/blog\/warto-wiedziec\/kto-odpowiada-za-bezpieczenstwo-api-w-twojej-firmie-3-bledy\/","title":{"rendered":"Kto odpowiada za bezpiecze\u0144stwo API w Twojej firmie? 3 b\u0142\u0119dy"},"content":{"rendered":"<h3 id=\"ktoodpowiadazabezpieczestwoapiwtwojejfirmie3bdyktrekosztujcimiliony\">Kto odpowiada za bezpiecze\u0144stwo API w Twojej firmie? 3 b\u0142\u0119dy, kt\u00f3re kosztuj\u0105 Ci\u0119 miliony<\/h3>\n<p>Wielu founder\u00f3w my\u015bli, \u017ce bezpiecze\u0144stwo API to wy\u0142\u0105cznie sprawa backendowc\u00f3w. Nic bardziej mylnego. W ostatnich latach widzieli\u015bmy, jak proste przeoczenia w konfiguracji API prowadzi\u0142y do wyciek\u00f3w danych, przej\u0119cia kont czy nawet ca\u0142kowitego parali\u017cu aplikacji. Problem w tym, \u017ce odpowiedzialno\u015b\u0107 za bezpiecze\u0144stwo API cz\u0119sto rozmywa si\u0119 mi\u0119dzy zespo\u0142ami \u2013 DevOps, frontendem, a nawet marketingiem. W tym artykule poka\u017c\u0119 trzy realne b\u0142\u0119dy, kt\u00f3re regularnie widz\u0119 u klient\u00f3w, i wyja\u015bni\u0119, jak je naprawi\u0107.<\/p>\n<h4 id=\"1bdpierwszybrakwacicielaapiyjewasnymyciem\">1. B\u0142\u0105d pierwszy: Brak w\u0142a\u015bciciela \u2013 API \u017cyje w\u0142asnym \u017cyciem<\/h4>\n<p>Standardowa sytuacja: startup rozwija si\u0119 szybko, zesp\u00f3\u0142 dodaje kolejne endpointy, a ka\u017cdy programista dzia\u0142a po swojemu. Nie ma osoby ani zespo\u0142u, kt\u00f3ry odpowiada za sp\u00f3jno\u015b\u0107 i bezpiecze\u0144stwo API. W efekcie powstaj\u0105 endpointy z r\u00f3\u017cnymi poziomami autoryzacji, zapomniane klucze API wisz\u0105 w repozytoriach, a brak dokumentacji sprawia, \u017ce nikt nie wie, co jest produkcyjne.<\/p>\n<p>Przyk\u0142ad z \u017cycia: Firma e-commerce, kt\u00f3ra mia\u0142a 15 mikroserwis\u00f3w. Ka\u017cdy z nich mia\u0142 w\u0142asny spos\u00f3b walidacji token\u00f3w JWT. Po audycie okaza\u0142o si\u0119, \u017ce jeden serwis w og\u00f3le nie weryfikowa\u0142 token\u00f3w \u2013 wystarczy\u0142o wys\u0142a\u0107 dowolny string w nag\u0142\u00f3wku Authorization. Na szcz\u0119\u015bcie luka zosta\u0142a wykryta przed w\u0142amaniem, ale przez miesi\u0105ce system dzia\u0142a\u0142 bez \u017cadnej kontroli.<\/p>\n<p>Co robi\u0107? Ustan\u00f3w rol\u0119 \u201eApi Security Lead\u201d \u2013 mo\u017ce to by\u0107 jedna osoba w ma\u0142ym zespole, kt\u00f3ra patrzy na API z lotu ptaka. Wprowad\u017a polityk\u0119, \u017ce ka\u017cdy nowy endpoint musi przej\u015b\u0107 review pod k\u0105tem bezpiecze\u0144stwa, a stare endpointy regularnie audytuj.<\/p>\n<h4 id=\"2bddrugiufaniedomylnymustawieniomiframeworkom\">2. B\u0142\u0105d drugi: Ufanie domy\u015blnym ustawieniom i frameworkom<\/h4>\n<p>Wi\u0119kszo\u015b\u0107 framework\u00f3w webowych ma domy\u015blne ustawienia bezpiecze\u0144stwa, ale rzadko s\u0105 one wystarczaj\u0105ce. Klasyczny przyk\u0142ad: domy\u015blna konfiguracja CORS (Cross-Origin Resource Sharing) w Express.js pozwala na dost\u0119p z dowolnego \u017ar\u00f3d\u0142a (*). Wiele firm nie zmienia tego w \u015brodowisku produkcyjnym, co otwiera drzwi do atak\u00f3w CSRF i kradzie\u017cy sesji.<\/p>\n<p>Inny przypadek: u\u017cywanie GraphQL z domy\u015blnie wy\u0142\u0105czonym rate limitingiem. Firma startupowa uruchomi\u0142a publiczne API GraphQL bez ogranicze\u0144. W ci\u0105gu kilku minut z\u0142o\u015bliwy bot wykona\u0142 zapytanie, kt\u00f3re zwr\u00f3ci\u0142o ca\u0142\u0105 baz\u0119 u\u017cytkownik\u00f3w \u2013 bo nie by\u0142o ograniczenia g\u0142\u0119boko\u015bci zagnie\u017cd\u017ce\u0144 ani autha na wszystkich resolverach.<\/p>\n<p>Co robi\u0107? Zawsze dostosowuj ustawienia do konkretnego przypadku. W\u0142\u0105cz CORS tylko dla zaufanych domen. W GraphQL ustaw maksymaln\u0105 g\u0142\u0119boko\u015b\u0107 zapytania, limity kosztu, a do tego w\u0142\u0105cz autoryzacj\u0119 na ka\u017cdym resolverze. U\u017cywaj narz\u0119dzi do skanowania API (np. OWASP ZAP) regularnie.<\/p>\n<h4 id=\"3bdtrzecizapominanieologowaniuimonitorowaniu\">3. B\u0142\u0105d trzeci: Zapominanie o logowaniu i monitorowaniu<\/h4>\n<p>Bezpieczne API to nie tylko zabezpieczenie przed atakami, ale te\u017c umiej\u0119tno\u015b\u0107 wykrycia zagro\u017cenia. Niestety, wiele firm nie loguje, kto i jak u\u017cywa API. Gdy nast\u0119puje incydent, nie ma \u015blad\u00f3w, by dowiedzie\u0107 si\u0119, co si\u0119 sta\u0142o.<\/p>\n<p>Przyk\u0142ad: Firma SaaS zauwa\u017cy\u0142a nag\u0142y wzrost zu\u017cycia API ze starego klucza deweloperskiego, kt\u00f3ry wisia\u0142 w publicznym repo. Dopiero gdy obci\u0105\u017cenie zacz\u0119\u0142o wp\u0142ywa\u0107 na wydajno\u015b\u0107, kto\u015b sprawdzi\u0142 logi i zobaczy\u0142 tysi\u0105ce b\u0142\u0119dnych pr\u00f3b logowania. Gdyby mieli monitoring wykrywaj\u0105cy anomalie (np. nieoczekiwany wzrost request\u00f3w z jednego IP), mogliby zablokowa\u0107 dost\u0119p wcze\u015bniej.<\/p>\n<p>Co robi\u0107? Wprowad\u017a centralne logowanie dla wszystkich \u017c\u0105da\u0144 API (np. przez ELK Stack lub AWS CloudWatch). Konfiguruj alerty dla nietypowych wzorc\u00f3w: gwa\u0142towny wzrost 4xx i 5xx, nietypowa pora aktywno\u015bci, podejrzane parametry. Pami\u0119taj, \u017ce logi same w sobie musz\u0105 by\u0107 zabezpieczone \u2013 nie przechowuj hase\u0142 ani token\u00f3w.<\/p>\n<h4 id=\"podsumowanie\">Podsumowanie<\/h4>\n<p>Bezpiecze\u0144stwo API to nie tylko technologia, ale te\u017c proces i odpowiedzialno\u015b\u0107. Je\u015bli w Twojej firmie nie ma jasno przypisanej osoby do spraw API security, dzia\u0142asz na w\u0142asne ryzyko. Zacznij od audytu obecnych endpoint\u00f3w, popraw konfiguracje i zainwestuj w monitoring. To o wiele ta\u0144sze ni\u017c reakcja na wyciek danych.<\/p>\n<p>Je\u015bli potrzebujesz wsparcia w audycie API lub szukasz partnera, kt\u00f3ry pomo\u017ce Ci wdro\u017cy\u0107 solidne zabezpieczenia \u2013 jeste\u015bmy na miejscu. Sprawdzamy nie tylko kod, ale i procesy, bo bezpiecze\u0144stwo buduje si\u0119 od pocz\u0105tku, a nie na ko\u0144cu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kto odpowiada za bezpiecze\u0144stwo API w Twojej firmie? 3 b\u0142\u0119dy, kt\u00f3re kosztuj\u0105 Ci\u0119 miliony Wielu founder\u00f3w my\u015bli, \u017ce bezpiecze\u0144stwo API to wy\u0142\u0105cznie sprawa backendowc\u00f3w. Nic bardziej mylnego. W ostatnich latach widzieli\u015bmy, jak proste przeoczenia w konfiguracji API prowadzi\u0142y do wyciek\u00f3w danych, przej\u0119cia kont czy nawet ca\u0142kowitego parali\u017cu aplikacji. Problem w tym, \u017ce odpowiedzialno\u015b\u0107 za bezpiecze\u0144stwo<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[528,414,527,529],"class_list":["post-1743","post","type-post","status-publish","format-standard","hentry","category-warto-wiedziec","tag-api-security","tag-bezpieczenstwo-api","tag-bledy-w-api","tag-zarzadzanie-api"],"_links":{"self":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts\/1743","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/comments?post=1743"}],"version-history":[{"count":0,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts\/1743\/revisions"}],"wp:attachment":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/media?parent=1743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/categories?post=1743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/tags?post=1743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}