Průvodce zabezpečením API

Úvod
Co je API Economy?
Zabezpečení webového rozhraní API
- REST (Representational State Transfer).
Zabezpečení REST API
SOAP API, zabezpečení
Rozhraní API SOAP poskytují vestavěný mechanismus zabezpečení nazývaný zabezpečení webových služeb (WS Security). Kontrolují autentizaci a autorizaci. Používají šifrování XML, podpisy XML a tokeny SAML.
SOAP je správný přístup pro standardizaci a šifrování webových služeb. SOAP je lepší alternativa než REST.
SOAP omezuje XML, ale REST může spravovat jakýkoli datový formát. JSON je srozumitelnější než XML. Použití REST pro přenos dat šetří peníze za náklady na počítačovou infrastrukturu.
Správa API
Správa API pomáhá podnikům vytvářet jejich digitální zdroje.
Níže uvádíme několik způsobů, jak spravovat zabezpečení API:
1. Autentizace
HTTP Basic Authentication je metoda, kterou se klient ověřuje pomocí brány API.
2. Ověření OAuth2.0
- Tok uživatelského jména a hesla: kde má program přímý přístup k přihlašovacím údajům uživatele.
- Tok webového serveru: kde server může chránit tajemství zákazníka.
- Tok user-agent: používá se aplikacemi, které nemohou uložit zákaznický tajný klíč.
3. JSON Web Token Authentication
Token JWT je objekt JSON a base64 zakódovaný a podepsaný sdíleným klíčem. JWT zajišťuje, že pouze definovaný uživatel může vygenerovat jedinečný token. JWT nejsou šifrované. Každý, kdo má přístup k tokenu, získá data.
Výhody JWT
- Token obsahuje všechny informace potřebné k ověření uživatele.
- Je snadné se vyhnout spoléhání na centralizované ověřovací servery a databáze.
- Ověření zahrnuje zkoumání podpisu a několika dalších faktorů.
- JWT je token se střední životností s datem vypršení platnosti mezi několika týdny až delším
- Škálovatelnost na současném hardwaru webového serveru je snadná…
4. HTTP podpisy
V JWT má autorizační hlavička kódování a podpis base64. Pokud někdo získá token a požadavek JWT, může aktualizovat tělo požadavku HTTP. Podpisy HTTP umožňují klientovi podepsat zprávu HTTP. Ostatní se tedy mohou dotknout požadavku v síti.
Amazon, Facebook a Google používají podpisy HTTP. V roce 2016 vstoupilo do praxe podepisování HTTP zpráv. Jedná se o novou specifikaci rozpracovaného stavu. Podle této specifikace výhoda podepsání zprávy HTTP za účelem zajištění integrity zprávy mezi koncovými body. Klient se může autentizovat stejným mechanismem bez potřeby mnoha smyček.
Pochopení chyb zabezpečení API
OWASP byl vždy autoritou na nejběžnější a nejzáludnější bezpečnostní problémy, které se vyskytují v softwaru, který používáme každý den, a to vše je zálohováno bohatými daty.
Pokud existuje nějaká základní linie, o kterou by se organizace měly snažit, pak je to překonání této OWASP API Security Top 10 uvedených níže.
OWASP API SECURITY TOP 1O
API1: Oprávnění na úrovni poškozeného objektu
API2: Zlomené ověřování
API3: Nadměrné vystavení údajům
API4: Nedostatek zdrojů a omezení sazeb
API5: Poškozená úroveň ověření funkce
API6: Hromadné zadání
API7: Chybná konfigurace zabezpečení
API8: Injekční
API9: Nesprávná správa aktiv
API10: Nedostatečné protokolování a monitorování
NEJLEPŠÍ POSTUPY ZABEZPEČENÍ API
Zde jsou některé z nejběžnějších způsobů, jak zlepšit zabezpečení API:
- Zjistěte svá zranitelná místa.
Je potřeba udržovat operační systém, síť a komponenty API aktualizované. Hledejte chyby, které mohou útočníkům umožnit získat přístup k vašim rozhraním API. Sniffery detekují bezpečnostní problémy a sledují úniky dat.
- Umístěte kvótu a omezení.
Nastavte kvótu na to, jak často vaše rozhraní API volají, a zkontrolujte využití v historii. Zneužití API se obvykle projevuje prudkým nárůstem hovorů.
- Pro připojení k vašemu API použijte bránu API.
Brány API jsou primárním vynucovacím bodem pro provoz API. Umožní vám řídit a analyzovat, jak se vaše rozhraní API ověřují.
- Použijte žetony.
Vytvářejte důvěryhodné identity. Použijte tokeny s těmito identitami k řízení přístupu ke službám a prostředkům.
- Používejte šifrování a digitální podpisy.
Šifrujte svá data pomocí TLS. Využijte digitální podpisy k ověření, že k datům mají přístup a upravují je pouze oprávněné osoby.
- Zaměřte se na bezpečnost.
API by nikdy neměla být považována za náhodná. Organizace mohou hodně ztratit tím, že nezajistí API. V důsledku toho udělejte ze zabezpečení prioritu a zahrňte ho do svých rozhraní API.
- Ověřte zadání.
Nikdy nepřenášejte data do koncového bodu prostřednictvím rozhraní API, aniž byste je nejprve ověřili.
- Využijte omezení sazeb.
Omezení požadavků pak může pomoci předcházet útokům typu denial-of-service.
- Používejte robustní autentizační a autorizační systém.
Když rozhraní API nevynucují ověřování, dojde k přerušené autentizaci.
Využijte technologie přihlašování a autorizace, které jsou dobře zavedené, jako je OAuth2.0 a OpenID Connect.