Zakaj in kako zavarovati končno točko API?

Kako zavarujete svoj API?


Zgodila se je doba eksplozije digitalne ekonomije in prek API-jev se pretakajo ogromni podatki. Posel, igre, izobraževanje, znanost, umetnost. . . po imenu, vse deluje na API-jih. V svetu, ki je temeljno odvisen od API-jev, se na varnost ne osredotoča presenetljivo malo.

Za razvijalce so privzete nastavitve njihovih okvirov dovolj; ali še huje, kadar ne uporabljajo nobenih okvirov, mislijo, da sledijo varnim praksam. Za sistemske skrbnike se zanašajo na privzeto varnost, ki jo ponuja njihova infrastruktura ali ponudnik storitev.

Sploh ni lep prizor, če mene vprašate.

Vir: developer.ibm.com

Ni treba posebej poudarjati, da je veliko na kocki, ki jih zavedamo le, če kaj res grozno se zgodi.

Toda najprej stvari. ��

Zakaj zaščititi končne točke API?

To mora biti brez možganov, kajne? Končne točke moramo zavarovati, saj je od tega odvisno podjetje.

Čeprav je to dovolj močan argument, želim nekoliko razširiti stališče in izpostaviti druge povezane, vendar enako smrtonosne posledice.

Poslovna izguba

To je očitno. Če se bo komu uspelo zmešati z vašimi končnimi točkami API-ja, bo vse skupaj prestalo. Kršitve varnosti lahko trajajo tudi veliko časa, da si opomoremo, kar v poslovnem smislu pomeni samomor. Čeprav je res, da večina podjetij verjetno ne bo vplivala na uro ali dve izpadov, za nekatere pa to ni dopustno.

Predstavljajte si, da menjalnica za nekaj minut pade!

Vprašanja skladnosti

Če pravilno ne zavarujete svojih API-jev, vas lahko pesti resna težava, odvisno od geografskih območij ali panog, s katerimi imate opravka. Če na primer službujete bančništvu (zlasti v EU), bodo stroški odkritja, ki služijo z negotovimi API-ji, povzročili velike pravne in kršitve težav. Toliko, da bo morda celo črpal konec vašega posla.

Izguba ugleda

Hakiranje je samo po sebi dovolj boleče, če pa novice uidejo v javnost, bo za vašo podobo blagovne znamke prišlo do nepopravljive izgube. Na primer, Sony je bil do zdaj že nekajkrat zelo zlomljen, v varnostnih krogih pa podjetje smeh vrst.

Tudi če ne pride do dejanske izgube podatkov ali denarja, srečno poskušajte prepričati svoje kupce. ��

Napihnjeni računi za infrastrukturo

Ko vaš API deluje na infrastrukturi, porabi sredstva (večinoma pasovno širino, CPU in pomnilnik). Na primer, če API ni zavarovan pravilno in so zlonamerni zunanji sodelavci sposobni medsebojno komunicirati z njim, je mogoče, da silijo API, da nadaljuje s številnimi nesmiselnimi deli (na primer tečejo težke poizvedbe baze podatkov), ki lahko streljajo račune iz razlogov.

Na platformah, kjer je omogočeno samodejno skaliranje virov (na primer AWS), so lahko rezultati šokantni (izven teme, če pa se na AWS kdaj ujamejo v takšno juho, razumejo situacijo in se takoj odpovejo napihnjen račun – vsaj v pisni obliki!).

Moral ekipe

Morda mislite, da bo ekipa, ki je pustila te kompromise, izgubila moralo nad njimi? No, ne čisto. Mogoče je, da so kompromisi nastali zaradi šibke varnosti infrastrukture, kar bi razvajalo razvijalce ali obratno.

Če se to zgodi dovolj časa, boste imeli v rokah kulturo, ki jo boste obžalovali, če se boste razvijali.

Dobički tekmovalcev

Recimo, da je prišlo do kršitve, dejanske izgube pa ni bilo. Kljub temu bodo vaši konkurenti po incidentu uporabili za sestavo lastnega API-ja in zatrdili, kako varnejši so njihovi (tudi če niso!). Še enkrat, veliko sreče skuša prepričati trg. ��

Na splošno so posledice kršitev varnosti, ki presegajo izgubo denarja.

Najboljše prakse za zavarovanje končnih točk API-ja

Na srečo obstajajo nekatere preproste izvedljive in dobro razumljive prakse, ki jih lahko uporabite za njihovo končno točko API za njihovo pritrditev. Tukaj je tisto, kar priporoča večina varnostnih strokovnjakov.

HTTPS vedno

Če vaše končne točke API omogočajo potrošnikom API-ja, da spregovorijo prek http ali drugih nezaščitenih protokolov, jih tvegate. Gesla, tajne ključe in podatke o kreditnih karticah lahko zlahka ukradejo kot kateri koli napad človeka v sredini ali paketno sniffer orodje jih lahko prebere kot navadno besedilo.

Torej vedno omogočite https edino možnost. Ne glede na to, kako končna točka se zdi trivialna, povezava prek http sploh ne bi smela biti možnost. Potrdilo TLS ne stane veliko, kupite ga lahko že za 20 USD Trgovina SSL.

Enosmerno šivanje gesla

Gesla nikoli ne smete shranjevati v obliki navadnega besedila, saj bodo v primeru kršitve varnosti vsi ogroženi uporabniki. Hkrati se je treba strogo izogibati simetričnemu šifriranju, saj jih bo lahko napadal vsak dovolj iznajdljiv in vztrajen napadalec..

Edina predlagana možnost so asimetrični (ali »enosmerni«) šifrirni algoritmi za shranjevanje gesel. Tako niti napadalec niti razvijalec ali sysadmin znotraj podjetja ne bo mogel brati gesel strank.

Močna avtentikacija

Zdaj ima skoraj vsak API obliko preverjanja pristnosti, vendar po mojem mnenju sistem OAuth2 deluje najbolje. V nasprotju z drugimi metodami avtentikacije vaš račun deli na vire in omogoča le omejen dostop do nosilca žetona avtorja.

Hkrati pa še ena zelo dobra praksa, da žetoni potečejo, recimo, 24 ur, tako da jih je treba osvežiti. Tako tudi vaš žeton pušča, obstaja možnost, da 24-urni rok zmanjša učinek kršitve.

Uporabi omejitev hitrosti

Če nimate API-ja, ki ga milijoni ljudi uporabljajo vsako minuto, je dobra ideja, da uveljavite omejitev, koliko klicev lahko klient izvede v API v določenem časovnem oknu.

Večinoma gre za odvračanje botov, ki lahko nenehno pošiljajo na stotine hkratnih zahtevkov in naredijo, da bo vaš API brez dobrega razloga požrl sistemske vire. Vsi okviri spletnega razvoja so opremljeni z vmesno programsko opremo, ki omejuje hitrost (in če ni, jo lahko dodate prek knjižnice), ki traja le nekaj minut ali tako.

Preverjanje vnosa

To sicer zveni kot “brez možganov”, vendar boste presenečeni, koliko API-jev sodi za to. Preverjanje vnosa ne pomeni samo preverjanja, ali so vhodni podatki v pravilni obliki, ampak tudi, da presenečenja niso mogoča. Preprost primer je injekcija SQL, ki lahko izbriše vaše baze podatkov, če pustite niz poizvedb z malo ali brez preverjanja.

Drug primer je potrditev velikosti zahteve POST in vračilo pravilne kode napake in sporočila stranki. Poskus sprejemanja in razčlenjevanja smešno velikih vložkov bo služil samo razstreljevanju API-ja.

Uveljavite filtriranje naslovov IP, če je primerno

Če uporabljate storitve B2B, vaše API-je pa uporabljajo podjetja z določenih lokacij, če želite dodati dodatno plast varnosti, ki omejuje IP naslov, ki lahko dostopa do vašega API-ja. Za vsako novo lokacijo in nove odjemalce bo IP naslov treba preveriti glede na dohodno zahtevo.

Da, dodaja neprijetnost na krovu, končni rezultat pa je veliko strožja varnost, kot je sicer mogoče doseči.

Orodja za povečanje zaščite API-ja

Ali obstajajo orodja, ki nam lahko pomagajo skenirati ranljivost, ali še bolje, ponujajo prvo linijo obrambe, ko gre za zaščito API-jev?

Na srečo da. Uporabljate lahko več orodij, vendar bodite previdni, da na koncu dneva nobena varnostna strategija ni popolna. Po tem lahko ta orodja večkrat povečajo varnost vaše API, zato jih priporočamo.

Metasploit

Metasploit je izjemno priljubljen odprtokodni okvir za penetracijsko testiranje spletnih aplikacij in API-jev. Lahko pregleda vaš API na več različnih parametrov in opravi izčrpen varnostni pregled za različne stopnje ranljivosti.

Na primer, varnostno skeniranje, ki ga izvaja Metasploit, vam lahko pove, ali podpisi API oddajajo osnovne tehnologije in operacijski sistem ali ne; prikrivanje tega je pogosto polovica bitke, pridobljene pri varnosti API-ja.

Čeprav je osnovno ogrodje odprte kode na splošno dovolj, so na Metasploitu izdelani izvrstno plačani izdelki, ki so vredni ogleda. Pro načrt je odličen, če želite vrhunsko podporo in boste okvir uporabljali poglobljeno, vendar na splošno ni potreben, če ima vaša ekipa dovolj izkušenj.

Cloudflare

Ne samo CDN, ampak Cloudflare ponujajo veliko varnostnih funkcij, kot so WAF, omejevanje hitrosti, DDoS zaščita, ki bodo bistvenega pomena pri zaščiti vašega API-ja pred spletnimi grožnjami.

Netsparker

Netsparker prihaja z USP “skeniranja na podlagi dokazov”. Preprosteje povedano, pogosto je mogoče, da se nepravilni omrežni pogoji ali manj znana vedenja API-ja razumejo kot varnostne vrzeli, za katere se kasneje ugotovi, da so napačne.

To zapravlja vire, saj je treba vse prijavljene ranljivosti znova pregledati ročno, da se potrdi, da niso lažni. Netsparker pravi, da vam lahko orodje zagotovi dovolj močan dokaz koncepta za poročila in tako odstrani dvome o ugotovljenih šibkih povezavah.

S podjetji, kot so Sony, Religare, Coca-Cola, Huawei itd., So na seznamu njihovih strank lahko prepričani, da ti ljudje naredijo nekaj prav. �� Mimogrede, imajo tudi neverjetno blog o spletni varnosti ki bi mu morali slediti.

SoapUI Pro

Izdelal SmartBear, SoapUI Pro je intuitiven in enostaven način ustvarjanja preskusov API-ja in pridobivanja natančnih poročil o njih. Prav tako se lepo integrira z vašim CI / CD plinovodom in tako zagotavlja, da nobeni novi dodatki kode ne ogrožajo varnosti API-ja.

SoapUI lahko sodeluje s Swagger, OAS in drugimi priljubljenimi standardi API-ja, kar znatno skrajša čas za začetek. S strankami, kot so Microsoft, Cisco, MasterCard, Oracle itd., In načrtuje od 659 dolarjev na leto, je to vredno orodje za bolj varne API-je.

Trustwave

Trustwave je nabor rešitev, osredotočenih na varnostno skeniranje in utrjevanje. Ena od edinstvenih stvari te storitve je, da ne le natančno zazna nevarnosti v vašem API-ju, ampak tudi pomaga razumeti, kako jih odpraviti.

Trustwave izvaja tisto, kar imenuje skeniranje, ki temelji na kontekstu, kar pomeni, da ko odkrije osnovni operacijski sistem ali infrastrukturo, storitev izvede niz povezanih preverjanj, da se prepriča, da grdi varnostni luknji, povezani s to platformo, ne obstajajo.

Pohvalijo se tudi z močno ekipo raziskovalcev varnosti, ki stalno posodabljajo storitvene zmogljivosti. Če ste dobri pri izpolnjevanju zahtev, je Trustwave dobra rešitev.

Če živite po številkah in želite uživati ​​funkcije, kot so odgovor na grožnjo, ponovni preizkus po popravkih z enim klikom in tako naprej, ne iščite več!

Obstajajo brez pomanjkanja varnostnih orodij API, ki so na voljo na trgu, ne glede na to, ali gre za odprtokodno, brezplačno ali komercialno ali katero koli njihovo kombinacijo. Prosto raziščite več, in če boste našli kaj še boljšega, napišite to v komentarje in z veseljem ga bom vključil! ��

Oznake:

  • API

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map