Proč řešit bezpečnostní standardy pro API komunikaci
Rozhraní API jsou páteří moderních digitálních ekosystémů. Slouží ke komunikaci mezi mikroslužbami, mobilními aplikacemi, partnery i IoT zařízeními. S rostoucí expozicí do internetu se však API stávají primárním cílem útoků. Standardizovaný přístup k autentizaci, autorizaci, šifrování, logování a řízení rizik je proto klíčový. Tento článek shrnuje osvědčené bezpečnostní standardy a doporučení v oblasti API managementu, včetně vazby na normy, referenční architektury a praktické politiky, které lze implementovat v API gateway i aplikační vrstvě.
Model hrozeb a bezpečnostní cíle
- Důvěrnost: Zabránit úniku dat v přenosu i v klidu (TLS 1.3, šifrování payloadu, tokenů a tajných klíčů).
- Integrita: Detekovat a bránit se manipulaci s požadavky/odpověďmi (digitální podpisy, JWS, kontrola hashů).
- Dostupnost: Udržet službu v chodu i pod zátěží (rate limiting, WAF, DDoS ochrana, circuit breaker).
- Autentizace a autorizace: Jednoznačně ověřit volajícího a vynutit minimální oprávnění (OAuth 2.1, OIDC, zásady ABAC/RBAC).
- Audit a dohled: Prokazatelnost, sledovatelnost a včasná detekce incidentů (bezpečné logování, SIEM, detekce anomálií).
Transportní bezpečnost: TLS 1.3, HSTS a moderní kryptografie
- TLS 1.3 všude: Vynucení moderních šifer, perfect forward secrecy, zkrácený handshake a zákaz zastaralých verzí (TLS 1.0/1.1/1.2 jen výjimečně).
- HSTS: Přidat hlavičku
Strict-Transport-Security(vhodné pro domény obsluhující webové klienty) pro vynucení HTTPS. - Bez slabých šifer: Zákaz RC4, 3DES a statických DH; preferovat ECDHE a AEAD (např. AES-GCM, ChaCha20-Poly1305).
- OCSP stapling a certifikáty: Krátká životnost certifikátů a automatizovaná obnova (ACME), rotace privátních klíčů, key pinning pouze s opatrností.
Vzájemné ověřování konců: mTLS a identita služeb
Pro služba–služba komunikaci (mikroslužby, service mesh) používejte mTLS pro oboustranné ověření. Správu identit služeb standardizujte (SPIFFE ID) a automatizujte vydávání certifikátů (SPIRE, mesh CA). Vynucujte krátkou platnost certifikátů a pravidelnou rotaci.
Autentizace uživatelů a klientů: OAuth 2.1 a OpenID Connect
- OAuth 2.1: Preferujte Authorization Code s PKCE pro veřejné klienty (SPA, mobilní aplikace). Nepoužívejte implicitní tok.
- OpenID Connect: Pro federovanou identitu a jednotné přihlášení využijte OIDC (ID tokeny, discovery dokument, JWKS endpoint).
- DPoP / mTLS-bound tokens: Proof-of-Possession vázání tokenu na klíč klienta zamezí zneužití odcizeného bearer tokenu.
- PAR, JAR a JARM: Pushed Authorization Requests a podepsané/šifrované žádosti a odpovědi snižují riziko manipulace a mix-up útoků.
- FAPI profily: Ve finančním sektoru využijte FAPI (Financial-grade API) pro zvýšené požadavky na bezpečnost a interoperabilitu.
Tokeny a standardy: JWT, JWS, JWE a správa klíčů
- JWT: Minimalistické, krátko žijící (
exp5–15 min), s claimyiss,sub,aud,iat,jti. Omezte velikost a citlivé údaje. - JWS: Digitální podpis tokenů pomocí
ES256(neboPS256), s klíčem označenýmkida veřejnými klíči publikovanými v/.well-known/jwks.json. - JWE: Šifrování obsahu, pokud token nebo payload nese citlivá data. U API preferujte podepisování; šifrujte jen pokud je to nezbytné.
- Rotace klíčů: Pravidelná rotace (automatizovaná), správná verze klíčů, odvolání kompromitovaných klíčů a key escrow politiky.
API klíče vs. OAuth: kdy co zvolit
- API klíče: Vhodné pro server–server integrace s nízkým rizikem a omezeným rozsahem. Vždy kombinujte s omezením IP, časovou platností, kvótami a možností okamžité revokace.
- OAuth/OIDC: Preferovaná volba pro uživatelskou identitu, delegovaný přístup, partnery a třetí strany. Umožňuje scopes, konsent a granulární oprávnění.
Autorizace: princip minimálních oprávnění a politiky ABAC/RBAC
- Scopes a claims: Pracujte s scopes a kontextovými claims pro rozhodování (role, tenant, device trust).
- OPA/OPAL: Centralizujte politiky v Open Policy Agent (Rego), distribuujte je dynamicky a vyhodnocujte v gateway i službách.
- Row/Field-level security: Vynucujte na úrovni zdroje i atributu, anonymizujte a maskujte data dle regulací (GDPR).
Validace a integrita požadavků: schémata, idempotence a podpisy
- Schémata: Validujte JSON pomocí JSON Schema (nebo Protobuf pro gRPC). Odmítejte nadbytečná pole a neznámé typy.
- Idempotence: Pro zápisové operace zavádějte idempotency keys a retry politiky s backoff.
- Podpisy webhooků: Při příjmu webhooků ověřujte HMAC/JWS podpisy, replay window a unikátní
event-id.
Ochrana proti zneužití: rate limiting, kvóty a WAF
- Rate limiting: Politiky token bucket/leaky bucket, sliding window, per-klient/tenant/endpoint.
- Kvóty a throttling: Denní/měsíční kvóty pro partnery; adaptivní limity při anomáliích.
- WAF/WAAP: Filtry proti OWASP API Top 10 (např. BOLA/IDOR), detekce SSRF, SQLi, XSS v polyglotních payloads.
- DDoS: Síťová a aplikační ochrana, connection draining, ochrana L7 s prokázáním práce (proof-of-work) či challenge pro podezřelé klienty.
Bezpečnost hlaviček a protokolů HTTP/gRPC
- HTTP Strict-Transport-Security, X-Content-Type-Options, Content-Security-Policy (pro browser klienty), Cache-Control pro citlivé odpovědi.
- gRPC: Vynucení TLS/mTLS, autorizace metod, limity velikosti zpráv, deadlines a cancellation pro robustnost.
Správa tajemství a konfigurací
- Vaulting: Ukládejte tajemství v dedikovaných trezorech (KMS, HSM, Secret Manager). Nikdy nekomitujte klíče do repozitáře.
- Rotace a expirace: Krátká platnost, automatická obnova, break-glass postupy.
- Princip nejmenšího přístupu: RBAC k tajemstvím, audit přístupů, just-in-time přidělování.
Protokolování, audit a detekce anomálií
- Strukturované logy: Korelované
trace_id/span_id, minimálně PII, žádné tajemství. Formát JSON, standard OpenTelemetry. - Nezpochybnitelnost: Podepisované logy, WORM úložiště, retence dle regulací.
- SIEM a alerting: Pravidla na 4xx/5xx nárůsty, neobvyklé vzory volání, anomální spotřebu kvót.
Bezpečný životní cyklus API: SDLC, testování a CI/CD kontroly
- Shift-left bezpečnost: Threat modeling (STRIDE, LINDDUN), bezpečnostní požadavky a security acceptance criteria.
- SAST/DAST/IAST: Statická, dynamická a interaktivní analýza; pravidelné penetrační testy a API fuzzing.
- Kontroly v CI/CD: Skener závislostí (SCA), kontrola podpisů artefaktů, zásady no-admin on prod, policy as code.
Dodavatelský řetězec a supply-chain standardy
- SBOM: Generujte softwarové kusovníky (CycloneDX, SPDX) pro API brány i služby.
- Podpisy a provenance: Podepisujte kontejnery a artefakty (Sigstore/Cosign), dodržujte úrovně SLSA.
- Dependency hygiene: Povolujte pouze schválené repozitáře, pravidelné aktualizace a blokace zranitelných verzí.
Zero Trust pro API
- Nevěř, vždy ověřuj: Autentizace a autorizace na každé hraně, mTLS mezi všemi komponentami.
- Kontextové zásady: Rozhodování podle rizika (umístění, device posture, čas, chování klienta).
- Segmentace: Mikrosegmentace služeb, deny-by-default firewall pravidla.
Specifika pro mobilní, IoT a edge klienty
- Mobilní klienti: Vázání tokenů (DPoP), atestace zařízení (SafetyNet/DeviceCheck), minimalizace tajemství v aplikaci.
- IoT: Unikátní certifikáty na zařízení, rotace, bezpečné bootování, OTA aktualizace se signováním.
- Edge: Lokální validace politik, synchronizace tajemství, odolnost při přerušení konektivity.
Chybové stavy, návratové kódy a bezpečná komunikace o problémech
- Neprozrazovat interní detaily: V produkci vracejte generické zprávy; detailní kontext pouze do logů.
- Konzistence: Standardizované kódy (HTTP/gRPC), korelační ID v odpovědích.
- Bezpečné retry: Idempotentní operace, exponenciální backoff, jitter.
Kompliance a regulace
- GDPR: Minimalizace dat, data protection by design, práva subjektů údajů, pseudonymizace/maskování.
- Odvětvové standardy: PCI DSS pro platební údaje, HIPAA ve zdravotnictví, FAPI/Open Banking ve financích.
- Rezidence dat: Řízení umístění a přeshraničních přenosů; šifrování v klidu pomocí KMS/HSM.
Role API gateway a service mesh v bezpečnostní architektuře
- API Gateway: Centralizovaná autentizace/autorizace, mTLS termination, rate limiting, validace schémat, transformace a audit.
- Service Mesh: Transparentní mTLS mezi službami, policy enforcement, traffic shaping, circuit breaking.
- Obrana ve vrstvách: Kombinujte gateway (hraniční ochrana) a mesh (vnitřní ochrana) pro end-to-end bezpečnost.
Metriky, observabilita a reakce na incidenty
- Telemetrie: OpenTelemetry pro metriky, logy a trasy; SLO/SLI pro chyby autorizace a latenci.
- Runbooks: Předem připravené postupy pro únik tajemství, expiraci klíčů, revokaci tokenů a obnovu služeb.
- Cvičné testy: Table-top scénáře, chaos engineering a pravidelná verifikace obnovy.
Bezpečnostní referenční architektura
- DNS a edge ochrana → WAF/WAAP → API Gateway (OAuth/OIDC, validace, rate limiting) → Service Mesh (mTLS, OPA) → Mikroservisy.
- KMS/HSM a Secret Manager pro klíče a tajemství; CI/CD s podepisováním artefaktů a SCA.
- SIEM/SOAR napojený na logy z gateway, mesh, IdP a infrastrukturních komponent.
Checklist bezpečného nasazení API
- TLS 1.3 povinné, HSTS zapnuté; zakázané slabé šifry.
- OAuth 2.1 + OIDC, PKCE, krátká expirace tokenů, rotace klíčů a JWKS.
- mTLS pro interní komunikaci, automatizovaná správa certifikátů.
- Validace schémat, limity velikosti požadavků a rychlosti.
- OPA politiky pro autorizaci, princip minimálních oprávnění.
- WAF/WAAP proti OWASP API Top 10, DDoS ochrana.
- Bezpečné logování (bez tajemství), korelační ID, OpenTelemetry.
- CI/CD s SAST/DAST/SCA, podepisování artefaktů, SBOM.
- Runbooky a pravidelná cvičení incident response.
Závěr
Bezpečnost API není jednorázová konfigurace, ale soubor provázaných standardů, politik a provozních návyků. Kombinace transportní ochrany (TLS 1.3, mTLS), moderní identity (OAuth 2.1, OIDC), správné práce s tokeny (JWT/JWS/JWE), granulární autorizace (OPA), řízení zneužití (rate limiting, WAF) a disciplinovaného SDLC (SAST/DAST, SBOM, podepisování) poskytuje robustní, auditovatelný a škálovatelný základ. Implementujte tyto prvky postupně podle rizika a zralosti organizace a průběžně je zlepšujte pomocí měřitelných cílů (SLO) a pravidelných bezpečnostních auditů.