Bezpečnost serverless

Bezpečnost serverless

Specifika bezpečnosti a logování v serverless

Serverless computing (FaaS a spravované backendové služby) mění bezpečnostní model: infrastrukturu vlastní poskytovatel, izolace runtime je jemnozrnná a životní cyklus funkcí je efemérní. Ochrana proto směřuje na identitu a přístup (IAM), integritu artefaktů, řízení datových toků a observabilitu bez pevného hostitele. Logování musí být strukturované, korelované napříč událostmi a citlivé k nákladům, protože objem logů roste s počtem vyvolání.

Threat model serverless aplikací

  • Napadení dodavatelského řetězce: škodlivé knihovny, build kroky a kontejnerové báze pro runtime.
  • Chybná konfigurace IAM: nadměrná oprávnění funkcí, otevřené topic/queue/subscription.
  • Injekce přes události: payloady z API Gateway, webhooků, front a datových proudů.
  • Úniky tajemství: environment proměnné, špatná práce s Secrets Manager, debug logy.
  • Laterální pohyb: mezi funkcemi a spravovanými službami přes role a tokeny metadat.
  • Více-tenantní rizika: izolace na úrovni poskytovatele (hypervisor, microVM), noisy neighbor.

Identity a přístup: princip nejmenších oprávnění

  • Role-per-function: každá funkce má vlastní IAM roli se scoped oprávněními na konkrétní zdroje a akce.
  • Bezpečné volání mezi službami: preferujte identity-based autorizaci (signované požadavky, workload identity) před sdílenými tokeny.
  • Krátkodobé přihlašovací údaje: federace a výdej dočasných tokenů; zákaz statických klíčů v kódu.
  • Oddělení účtů/projektů: prod a non-prod v samostatných účtech s centrální správou zásad.

Správa tajemství a kryptografie

  • Secrets Manager/KMS: tajemství nikdy nenechávejte v env proměnných v čitelné podobě; načítejte on-demand s krátkou cache.
  • Rotace: automatická rotace klíčů a hesel; verze tajemství s kontrolovaným rolloutem.
  • Šifrování in transit (TLS/mTLS) a at rest (spravované klíče, případně zákaznické KMS s key policy).
  • Citlivá data v logách: implementujte redaction/masking na úrovni loggeru a gatewaye.

Bezpečné hranice: API brána, fronty a eventy

  • API Gateway: WAF, rate limiting, mTLS pro privátní API, validace schémat (OpenAPI/JSON Schema) pro payload.
  • Event-driven: autorizace na topic/queue úrovni; dead-letter queue (DLQ) a retry policy bez nekonečných smyček.
  • Datové proudy: partition-level ACL, sledování lagů, idempotentní consumer.

Síť a egress kontrola

  • Privátní konektivita: privátní endpointy do databází a tajemství, žádný veřejný internet, pokud to není nutné.
  • Egress proxy: výstupní kontrola (DLP, URL allowlist), egress-only pravidla, centralizovaný audit.
  • VPC integrace: pozor na latenci cold-startů a limity socketů; definujte bezpečné SG/NSG pravidla.

Integrita buildů a artefaktů

  • Reprodukovatelné buildy a SBOM (seznam závislostí), signing deploy balíčků/kontejnerů a enforcement na straně platformy.
  • Policy as Code: OPA/Rego či nativní politiky pro validaci infrastructure-as-code a konfigurací funkcí (timeout, paměť, egress, role).

Runtime bezpečnost a hardening

  • Timeouty a paměť: nastavte konzervativní limity; zabraňují DoS z nekonečných smyček a nadměrných alokací.
  • Neuložená data: vyhněte se perzistenci mimo /tmp; vše citlivé ukládejte do spravovaných úložišť s šifrováním.
  • Bezpečné parsování: velikostní limity requestů, streaming místo buffer-all, knihovny odolné vůči zip-bomb/xxe.

Idempotence, obnovitelnost a odolnost

  • Idempotentní handlery: klíče deduplikace, conditional writes, kontrola pořadí událostí.
  • DLQ a parkování: separace chyb obchodní logiky vs. dočasných poruch; metriky DLQ jako spouštěč incidentu.
  • Backoff a jitter: exponenciální zpožďování, aby se neprohlubovalo přetížení.

Observabilita: logy, metriky a trasování

  • Strukturované logy: JSON s poli trace_id, span_id, correlation_id, tenant, pii_redacted, severity.
  • Distribuované trasování: propagace kontextu přes API Gateway/queue hlavičky (W3C Trace Context), serverless spans pro cold/warm starty.
  • Metriky: p50/p95/p99 latence, chybovost, počty vyvolání, throttling, využití paměti/CPU přepočtené poskytovatelem.
  • Log sampling: adaptivní vzorkování při špičkách; error-first a tail-based přístup pro anomálie.

Strukturované logování: doporučené schéma

Pole Popis Poznámka
timestamp UTC ISO8601 s milisekundami Synchronizace s trasováním
severity DEBUG/INFO/WARN/ERROR Na úrovni handleru
function Název funkce/verze Zdroj události
request_id ID vyvolání (provider + vlastní) Korelace s metrikami
trace_id/span_id W3C Trace Context End-to-end sledování
tenant Identifikace zákazníka Multi-tenant filtrace
pii_redacted true/false Pro audit maskování
error.code/message Strojově čitelné chybové kódy Bez PII

Řízení nákladů na logy a telemetrii

  • Víceúrovňové cíle: krátká retence v „hot“ úložišti, dlouhodobá v levném objektovém.
  • Filtrace u zdroje: potlačení DEBUG v produkci s možností on-demand zvýšení přes feature flag.
  • Log routing: kritické události do SIEM, zbytek do data lake; metrics from logs pro agregované přehledy.

Detekce hrozeb a reakce v serverless

  • Behaviorální pravidla: anomálie v IAM voláních, neobvyklé egress destinace, nárůst 4xx/5xx.
  • Signály z platformy: throttling, časté cold-starty (indikace šumu/útoků), zvednuté limity.
  • Automatizovaná reakce: quarantine verze funkce (feature flag), deny egress, rotace tajemství, povinný step-up pro správcovské akce.

Soukromí a compliance

  • PII governance: minimalizace, pseudonymizace, field-level šifrování, záznam účelů zpracování.
  • Data residency: volba regionů a zákaznických klíčů (BYOK); kontrola záloh a exportů logů.
  • WORM/immutability: neměnitelné úložiště pro audity a forenzní logy.

Testování bezpečnosti v event-driven toku

  • Contract testy vstupních payloadů a schémat; generativní testy na hraniční hodnoty.
  • Chaos a fault injection: výpadky závislostí (tajemství, DB, egress), timeouts, duplikace událostí.
  • Security scanning: SAST/DAST, SCA, politiky IaC, kontrola veřejných zdrojů.

Bezpečný design schránek a databází

  • Row/column-level security pro multi-tenant model; prepared statements a parameterized queries.
  • Limitace připojení: serverless connection pooling (proxy/sidecar služby) s TLS a identitou.
  • TTL a retence: automatické mazání dočasných dat (tokens, cache záznamy).

Praktická matice rizik a kontrol

Riziko Příklad Kontrola
Nadměrná oprávnění Funkce může číst všechna tajemství Role-per-function, ABAC, access analyzer
Únik PII v logách Logování celého request body Redakce/whitelisting polí, validace velikosti
Replay událostí Duplicitní zpracování webhooku Idempotence, deduplikace klíči, nonce s expirací
Laterální pohyb Kompro role a přístup k DB Segmentace účtů, egress allowlist, just-in-time přístup
Supply-chain Malware v závislosti SBOM, podpis artefaktů, povolené repozitáře

Provozní SLO a metriky bezpečnosti

  • Bezpečnost: doba rotace tajemství, počet zamítnutých neautorizovaných volání, pokrytí politikami.
  • Observabilita: procento korelovaných požadavků (trace coverage), latence ingestu logů, p99 doba vyšetření.
  • Spolehlivost: chybovost handlerů, DLQ rate, cold-start p95 a jeho dopad na SLO.

Check-list bezpečnosti a logování v serverless

  • Má každá funkce vlastní IAM roli s minimem oprávnění?
  • Jsou tajemství načítána z trezoru a automaticky rotována?
  • Validují se payload schémata na hraně (API/queue) a jsou omezeny velikosti?
  • Je zapnuta mTLS/privátní konektivita ke kritickým službám?
  • Jsou logy strukturované, s trace/correlation ID a redakcí PII?
  • Existuje DLQ, retry policy s backoffem a idempotence?
  • Běží Policy as Code gate v CI/CD a podpis artefaktů?
  • Máte definovaná SLO a alerty (chybovost, latence, throttling, DLQ nárůst)?
  • Je zajištěno WORM u auditních logů a řízení retence?

Závěr: Bezpečnost jako vlastnost architektury, logy jako produkt

V serverless světě nelze spoléhat na tradiční perimetr ani per-host agenty. Ochrana je výsledkem identitně řízeného návrhu, bezpečných hranic událostí, důsledné správy tajemství a prvotřídní observability. Logy nejsou odpad, ale produkt – musí být strukturované, korelované, nákladově řízené a připravené na forenzní analýzu. Tím vzniká architektura, která je pružná, auditovatelná a odolná proti moderním hrozbám.

Pridaj komentár

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