Bezpečnost API standardy

Bezpečnost API standardy

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í (exp 5–15 min), s claimy iss, sub, aud, iat, jti. Omezte velikost a citlivé údaje.
  • JWS: Digitální podpis tokenů pomocí ES256 (nebo PS256), s klíčem označeným kid a 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

  1. DNS a edge ochrana → WAF/WAAP → API Gateway (OAuth/OIDC, validace, rate limiting) → Service Mesh (mTLS, OPA) → Mikroservisy.
  2. KMS/HSM a Secret Manager pro klíče a tajemství; CI/CD s podepisováním artefaktů a SCA.
  3. 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ů.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *