Vodič za sigurnost API-ja

Vodič za sigurnost API-ja

Uvod

API-ji su neophodni za povećanje inovacija u našoj digitalnoj ekonomiji.
 
Garner, Inc predviđa da će do 2020. godine više od 25 milijarde stvari će se povezati na internet.
 
To predstavlja mogućnost povećanja prihoda 300 milijardi $ napaja API. 
 
Ipak API-ji otkrivaju širu površinu napada za cybercriminals.
 
To je zato što API-ji izlažu logiku aplikacije i osjetljive podatke.
 
Ovaj članak istražuje kako osigurati API-je.
 
Razgovarat ćemo o REST API-jima naspram SOAP API-ja.
 
Pregledat ćemo OWASP API Top 10.
 
Osim toga, razgovarat ćemo o najboljim praksama za osiguranje vaših API-ja.

Šta je API ekonomija?

API ekonomija se pojavljuje kada API-ji postanu dio organizacijskog modela.
 
API-ji su bili strateški pokretači za nekoliko online poslovnih modela. 
 
Amazon je, na primjer, više od internet prodavača, on je također i popularan pristupnik trgovaca.
 
Amazonova platforma se zasniva na API-jima koji omogućavaju lako uključivanje novih trgovaca. 
 
Banke su decenijama zasnivale platnu infrastrukturu i klirinške kuće na dobro definisanim API-jima.
 
API-ji bi trebali biti sastavni dio vaše poslovne strategije.

Sigurnost web API-ja

Web API-ji povezuju klijentsku stranu aplikacije sa stranim servera.
 
Sigurnost web API-ja uključuje, ali nije ograničena na kontrolu pristupa i privatnost. 
 
Napad na aplikaciju može zaobići aplikaciju na strani klijenta i fokusirati se na API-je.
 
Mikroservise često koriste API-je jer su dostupni preko javnih mreža.
 
API-ji mogu biti osjetljivi na incidente DDOS tipa uskraćivanja usluge. 
 
REST API sigurnost u odnosu na SOAP API sigurnost 
 
Postoje dvije glavne vrste implementacija API-ja:
 
  1. REST (Prenos reprezentativnog stanja). 
 
      2. SOAP (Simple Object Access Protocol).

REST API sigurnost

Transport Layer Security (TLS) enkripcija podržava preko REST API-ja, koji komuniciraju preko HTTP-a.
 
TLS šifrira i provjerava kako bi osigurao da nijedna treća strana ne može pročitati poslane podatke.
 
Hakeri koji pokušavaju ukrasti vašu kreditnu karticu informacija neće imati pristup vašim podacima. 
 
REST API-ji koriste JavaScript objektnu notaciju (JSON). Brže je koristiti REST API-je nego SOAP API-je. Ne moraju da čuvaju podatke, što ih čini efikasnijim.

SOAP API, sigurnost

SOAP API-ji pružaju ugrađeni sigurnosni mehanizam koji se zove Sigurnost Web usluga (WS Security). Provjeravaju autentifikaciju i autorizaciju. Koriste XML enkripciju, XML potpise i SAML tokene.

SOAP je pravi pristup za standardizaciju i šifrovanje Web usluga. SOAP je bolja alternativa od REST-a. 

SOAP ograničava na XML, ali REST može upravljati bilo kojim formatom podataka. JSON je lakše razumjeti nego XML. Korišćenje REST-a za transport podataka štedi novac na troškovima računarske infrastrukture.

API upravljanje

Upravljanje API-jem pomaže preduzećima da naprave svoje digitalne resurse. 

Ispod su neki načini za upravljanje sigurnošću API-ja:

1. Autentifikacija

HTTP Basic Authentication je metod za klijenta za autentifikaciju pomoću API Gateway-a.

2. OAuth2.0 Autentifikacija

Standardni mehanizam za autorizaciju je OAuth 2.0.
 
Okvir za autorizaciju OAuth 2.0 omogućava trećoj strani da dobije ograničen pristup HTTP usluzi.
 
Ovo funkcionira tako što omogućava aplikaciji treće strane da dobije pristup u svoje ime. 
 
 U kontekstu tokova OAuth provjere autentičnosti, postoji nekoliko različitih opcija.
 
Podržani OAuth tokovi uključuju:
 
  • Tok lozinke korisničkog imena: gdje program ima direktan pristup korisničkim vjerodajnicama.
 
  • Protok web servera: gdje server može zaštititi tajnu potrošača.
 
  • Tok korisničkog agenta: koriste ga aplikacije koje ne mogu pohraniti tajnu potrošača.
 
U OAuth2.0 autentifikaciji, korisnik će poslati vjerodajnice u tijelu zahtjeva. Poput osnovne autentifikacije, ali i uvođenje tokena. Skladištenje tokena na strani servera. Isti token poziva uslugu bilo koji broj puta dok ne istekne. Korisnici se mogu osvježiti kako bi dobili novi.
 
Problem je što ova metoda proizvodi više tokena. Istekli tokeni na serveru će povećati opterećenje servera.

3. JSON provjera autentičnosti web tokena

JWT token je JSON objekat i base64 kodiran i potpisan zajedničkim ključem. JWT osigurava da samo definirani korisnik može generirati jedinstveni token. JWT-ovi nisu šifrirani. Svako ko ima pristup tokenu će dobiti podatke.

Prednosti JWT-a

  • Token sadrži sve informacije potrebne za autentifikaciju korisnika.
  • Lako je izbjeći oslanjanje na centralizirane servere i baze podataka za autentifikaciju.
  • Verifikacija podrazumeva proveru potpisa i nekoliko drugih faktora.
  •  JWT je token srednjeg vijeka trajanja s datumom isteka koji je naveden između nekoliko sedmica do dužeg
  • Skalabilnost na savremenom hardveru web servera je laka…

4. HTTP potpisi

U JWT-u, zaglavlje autorizacije ima base64 kodirano i potpisano. Ako neko dobije JWT token i zahtjev, može ažurirati tijelo HTTP zahtjeva. HTTP potpisi omogućavaju klijentu da potpiše HTTP poruku. Dakle, oni drugi mogu dodirnuti zahtjev na mreži.

Amazon, Facebook i Google koriste HTTP potpise. U 2016. godini u praksu je ušlo potpisivanje HTTP poruka. To je nova specifikacija rada u toku. Prema ovoj specifikaciji, prednost potpisivanja HTTP poruke, u svrhu integriteta poruke od kraja do kraja. Klijent se može autentifikovati istim mehanizmom bez potrebe za mnogo petlji.

Razumijevanje sigurnosnih ranjivosti API-ja

OWASP je oduvijek bio glavni autoritet za najčešće i podmukle sigurnosne probleme koji se nalaze u softveru koji svakodnevno koristimo, a sve je podržano bogatim podacima.

Ako postoji bilo kakva osnova kojoj bi organizacije trebale težiti, to je osvajanje ovoga OWASP API Security Top 10 navedenih u nastavku.

OWASP API SECURITY TOP 1O

API1: Autorizacija na nivou slomljenog objekta

API2: Pokvarena autentifikacija

API3: Prekomjerna izloženost podacima

API4: Nedostatak resursa i ograničenja brzine

API5: Pokvarena funkcija Nivo Auth

API6: Mass Assignment

API7: Pogrešna konfiguracija sigurnosti

API8: ubrizgavanje

API9: Nepravilno upravljanje imovinom

API10: Nedovoljno evidentiranje i praćenje

NAJBOLJE PRAKSE API SIGURNOSTI

Evo nekih od najčešćih načina za poboljšanje sigurnosti API-ja:

 

  1. Utvrdite svoje ranjivosti. 

 

Postoji potreba za ažuriranjem operativnih sistema, mreže i API komponenti. Potražite nedostatke koji mogu omogućiti napadačima pristup vašim API-jima. Njuškači otkrivaju sigurnosne probleme i prate curenje podataka.

 

  1. Postavite kvotu i prigušivanje.

 

Postavite kvotu koliko često vaši API-ji pozivaju i provjerite korištenje u historiji. Zloupotreba API-ja se obično pokazuje porastom broja poziva. 

 

  1. Koristite API gateway da se povežete na svoj API. 

 

API gatewayi su primarna tačka provedbe za API promet. To će vam omogućiti da kontrolirate i analizirate kako se vaši API-ji autentifikuju.

 

  1. Koristite tokene.

 

Kreirajte pouzdane identitete. Koristite tokene s tim identitetima za kontrolu pristupa uslugama i resursima.

 

  1. Koristite šifriranje i digitalne potpise.

 

Šifrirajte svoje podatke koristeći TLS. Koristite digitalne potpise da potvrdite da samo ovlašteni pojedinci imaju pristup podacima i uređuju ih.

 

  1. Fokusirajte se na sigurnost.

 

API-ji se nikada ne bi trebali smatrati slučajnim. Organizacije mogu mnogo izgubiti ako ne osiguraju API-je. Kao rezultat toga, postavite sigurnost kao prioritet i uključite je u svoje API-je.

 

  1. Potvrdite unos.

 

Nikada nemojte prenositi podatke krajnjoj tački putem API-ja bez da ih prethodno potvrdite.

 

  1. Iskoristite ograničenje stope. 

 

Ograničavanje zahtjeva može pomoći u sprječavanju napada uskraćivanja usluge.

 

  1. Koristite robustan sistem autentifikacije i autorizacije. 

 

Kada API-ji ne provode autentifikaciju, dolazi do prekida autentifikacije.

Koristite tehnologije za prijavu i autorizaciju koje su dobro uspostavljene, kao što su OAuth2.0 i OpenID Connect.

zaključak

Pregledali smo OWASP API Security Top 10 ranjivosti kako bismo bolje zaštitili API.
 
Upravljanje rizikom možemo upravljati korištenjem dobro uspostavljenih tehnika autentifikacije i autorizacije.
 
Na primjer, HTTP potpisi, koje koriste Amazon, Facebook i Google.
 
Pregledali smo druge najbolje prakse za API uključujući upotrebu tokena i enkripciju.
 
Dotakli smo se i digitalnih potpisa, kao i važnosti validacije unosa.
 
Pročitajte naš članak o najboljim praksama za sigurnost API-ja u 2022 za više informacija o OWASP API Security Top 10.
Budite informirani; ostanite sigurni!

Pretplatite se na naš sedmični bilten

Primajte najnovije vijesti o sajber sigurnosti direktno u inbox.