Obsah
Bezpečnost API (API Security)
Bezpečnost API je klíčovou disciplínou v moderním vývoji software, která se zabývá ochranou rozhraní pro aplikované programování (API) před neoprávněným přístupem, únikem dat a škodlivými útoky. Vzhledem k tomu, že API tvoří páteř moderních webových aplikací, mobilních klientů a architektury mikroslužeb, představují pro útočníky velmi atraktivní cíl.
Největší rizika a OWASP API Security Top 10
Podobně jako u tradičních webových aplikací existuje standardizovaný přehled nejzávažnějších zranitelností pro API. Projekt OWASP API Security Top 10 definuje hlavní hrozby:
* BOLA (Broken Object Level Authorization): Nejčastější zranitelnost, kdy útočník manipulací s identifikátory v URL (např. ID záznamu) získá přístup k datům jiných uživatelů. * BFLA (Broken Function Level Authorization): Nedostatečná kontrola oprávnění na úrovni funkcí (např. běžný uživatel může volat administrativní koncové body). * Nadměrné vystavení dat (Excessive Data Exposure): API vrací kompletní datové objekty a spoléhá na to, že klientská aplikace si z nich vybere jen to podstatné, čímž vystavuje citlivá data odposlechu. * Nedostatečná správa zdrojů a rate limiting: Absence limitů na počet požadavků vede k vyčerpání zdrojů (DoS) nebo usnadňuje útoky typu brute-force. * Chybějící autentizace na úrovni objektů (BOLA) a nesprávná konfigurace zabezpečení.
Klíčové pilíře zabezpečení API
- Autentizace a autorizace: Využití robustních standardů jako je OAuth 2.0 a OpenID Connect (OIDC). Základem je také správné ověřování tokenů (např. podepsané JWT) na každém koncovém bodě.
- Šifrování dat: Veškerá komunikace musí probíhat výhradně přes šifrovaný kanál (HTTPS/TLS). Citlivá data uvnitř payloadu je navíc vhodné šifrovat aplikačně.
- Validace a sanitace vstupů: Striktní dodržování schémat (např. pomocí OpenAPI/Swagger specifikací), aby API odmítlo jakýkoliv požadavek neodpovídající očekávané struktuře dat.
- Rate Limiting a Throttling: Omezení počtu požadavků v čase pro konkrétní IP adresy, uživatele nebo API klíče jako obrana proti DoS a botům.
- Správa verzí a Shadow API: Monitorování a dokumentace všech koncových bodů. Nebezpečí představují tzv. *shadow API* nebo zapomenuté starší verze (v1, v2), které postihují bezpečnostní záplaty.
Doporučené postupy pro vývojáře
1. Security by Design: Myslete na bezpečnost už při návrhu API architektury, nikoliv až po spuštění do produkce. 2. Princip nejnižších oprávnění (PoLP): Udělujte tokenům a klientským aplikacím pouze taková práva, která nezbytně potřebují k provozu. 3. Komplexní logování a monitoring: Zaznamenávejte přístupy, chybové stavy a podezřelé vzorce chování (např. vysoký výskyt chyb 401 a 403) pro včasnou detekci incidentů.
Související pojmy
* WAAP: Web Application and API Protection (Web Application and API Protection) * OAuth (Open Authorization) a JWT (JSON Web Token) * OWASP Top 10 * Rate Limiting
security api web development owasp
