Hoe verseker u u API??
Dit is die ouderdom van die ontploffing van die digitale ekonomie, en massiewe datavrag word deur API's gestuur. Besigheid, spel, onderwys, wetenskap, kuns. . . noem maar op, alles werk op API's. Vir 'n wêreld wat so fundamenteel van API's afhanklik is, is daar verbasend min fokus op veiligheid.
Vir ontwikkelaars is die standaard van hul kaders voldoende; of nog erger, as daar geen kaders gebruik word nie, dink hulle dat hulle veilige praktyke volg. Vir stelseladministrateurs is die standaard sekuriteit wat deur hul infrastruktuur of diensverskaffer aangebied word, waarop hulle vertrou.
Glad nie 'n mooi gesig as u my vra nie.
Nodeloos om te sê dat daar baie op die spel is, wat ons eers besef as iets gebeur regtig verskriklik gebeur.
Maar eers dinge eerste. ��
1 Waarom API-eindpunte beveilig??
2 Beste praktyke vir die beveiliging van API-eindpunte
3 Gereedskap om API-beskerming te verhoog
Waarom API-eindpunte beveilig??
Dit moet 'n no-brainer wees, nie waar nie? Ons moet eindpunte beveilig, want dit hang van die onderneming af.
Alhoewel dit op sigself 'n sterk genoeg argument is, wil ek die siening 'n bietjie verbreed en ander verwante, maar ewe dodelike gevolge beklemtoon.
Dit is die vanselfsprekende een. As iemand daarin slaag om met u API-eindpunte te mors, sal dit alles tot stilstand kom. Sekuriteitsoortredings kan ook baie tyd neem om te herstel, wat in besigheidsterme selfmoord tot gevolg het. Alhoewel dit waar is dat die meeste besighede waarskynlik nie deur 'n uur of twee van stilstand beïnvloed word nie, is dit vir sommige nie toegelaat nie.
Stel jou voor dat 'n wisselkoers vir 'n paar minute af is!
As u u API's nie behoorlik beveilig nie, kan u in ernstige moeilikheid beland, afhangende van watter geografiese of nywerhede u te doen het. As u byvoorbeeld die bankbedryf bedien (veral in die EU), sal die koste om aan onveilige API's te dien, lei tot groot regs- en nakomingsprobleme. Soveel dat dit selfs die einde van u besigheid kan beteken.
Dit is op sigself pynlik genoeg om gehack te word, maar as nuus in die publiek uitkom, sal u handelsmerkbeeld onherroeplik verloor. So is Sony nou al 'n paar keer baie erg gekap, en in die veiligheidskringe is die maatskappy 'n lag voorraad allerhande.
Selfs al is daar geen werklike verlies aan data of geld nie, probeer u klante oortuig. ��
As u API op 'n infrastruktuur werk, verbruik dit hulpbronne (meestal bandbreedte, SVE en geheue). Byvoorbeeld, waar die API nie behoorlik beveilig is nie en kwaadwillige buitestaanders daarmee kan omgaan, is dit moontlik vir hulle om die API te dwing om aan te hou om baie nuttelose werk te doen (byvoorbeeld om swaar databasisnavrae te doen), wat kan opskiet u rekeninge om redes.
Op platforms waar outomatiese afskaling van hulpbronne moontlik is (soos AWS), kan die uitkomste skokkend wees (van die onderwerp af, maar as u ooit in 'n sop soos hierdie op AWS vasgevang word, verstaan ​​hulle die situasie goed en doen dit dadelik afstand van die opgeblase rekening – ten minste van die begin af!).
Dink jy miskien, sal die span wat hierdie kompromieë laat gebeur moreel daaroor verloor? Wel, nie heeltemal nie. Dit is moontlik dat die kompromieë te wyte was aan swak infrastruktuurbeveiliging, wat die ontwikkelaars moedeloos maak of omgekeerd.
As dit voldoende tyd sou plaasvind, sal u 'n kultuur hê wat u spyt sal hê om te ontwikkel.
Die wins van mededinger
Laat ons dus sê dat daar 'n oortreding was, maar daar was geen werklike verlies nie. U mededingers sal die voorval egter gebruik om hul eie API op te neem en te beweer hoe veiliger dit is (al is dit nie!). Weereens, baie geluk deur die mark te probeer oortuig. ��
Altesaam is daar gevolge vir sekuriteitsoortredings wat verder gaan as om geld te verloor.
Beste praktyke vir die beveiliging van API-eindpunte
Gelukkig is daar sekere maklik-implementerende en goed verstaanbare praktyke wat u op u API-eindpunte kan toepas om dit te beveilig. Dit is wat die meeste veiligheidskenners aanbeveel.
As u API-eindpunte die API-verbruikers toelaat om oor http of ander nie-veilige protokolle te praat, stel u dit in gevaar. Wagwoorde, geheime sleutels en kredietkaartinligting kan maklik gesteel word man-in-die-middel-aanval of 'n pakketsnyer-instrument kan dit as gewone teks lees.
Maak dus altyd https die enigste opsie wat beskikbaar is. Dit maak nie saak hoe triviaal 'n eindpunt mag wees nie, dit kan nie eens 'n opsie wees om via http te koppel nie. TLS-sertifikaat kos nie veel nie; u kan vir so laag as $ 20 koop SSL-winkel.
Wagwoorde moet nooit as gewone teks gestoor word nie, want in geval van 'n sekuriteitsbreuk, sal al die gebruikersrekeninge in die gedrang kom. Terselfdertyd moet simmetriese enkripsie streng vermy word, aangesien enige aanvaller vernuftig en aanhoudend genoeg dit sal kan breek.
Die enigste voorgestelde opsie is asimmetriese (of "eenrigting") koderingsalgoritmes vir die stoor van wagwoorde. Op hierdie manier sal nie 'n aanvaller, nóg 'n ontwikkelaar of sysadmin binne die onderneming klante-wagwoorde kan lees nie.
Nou, byna elke API het 'n vorm van verifikasie, maar na my mening werk die OAuth2-stelsel die beste. In teenstelling met ander verifikasiemetodes, verdeel dit u rekening in bronne en gee u slegs beperkte toegang tot die outentieke toonder.
Terselfdertyd is nog 'n baie goeie praktyk om tekens op te stel om elke 24 uur te verval, sodat dit verfris moet word. Op hierdie manier, selfs as u teken uitgelek word, is die kans dat die 24-uur-sperdatum die impak van die oortreding sal verminder.
Pas die tariefbeperking toe
Tensy u 'n API het wat elke minuut deur miljoene mense gebruik word, is dit 'n goeie idee om 'n limiet af te dwing van hoeveel oproepe 'n kliënt in die gegewe tydskerm na die API kan maak..
Dit is meestal om bots te ontmoedig, wat honderde gelyktydige versoeke per sekonde kan aanhou stuur en dat u API sonder enige goeie rede opskiet. Alle webontwikkelingsraamwerke bevat 'n snelheidsbeperkende middelware (en indien nie, is dit redelik maklik om dit via 'n biblioteek by te voeg) wat net 'n minuut duur om op te stel.
Dit klink soos 'n no-brainer, maar u sal verbaas wees hoeveel API's hiervoor val. Validering van invoer beteken nie net om te kontroleer of die inkomende data in die regte formaat is nie, maar ook dat geen verrassings moontlik is nie. 'N Eenvoudige voorbeeld is SQL-inspuiting, wat u databasisse kan uitwis as u die snare van die navrae laat verbygaan met min of geen kontrole nie.
'N Ander voorbeeld is om die POST-versoekgrootte te bevestig en 'n behoorlike foutkode en boodskap aan die kliënt terug te besorg. As u groot insette belaglik probeer aanvaar en ontleed, sal dit slegs die API opblaas.
Handhaaf die IP-adresfiltrering, indien van toepassing
As u van B2B-dienste gebruik maak en u API's word gebruik deur ondernemings vanaf bepaalde plekke, oorweeg dit om 'n ekstra laag sekuriteit by te voeg wat die IP-adres beperk wat toegang tot u API kan kry. Vir elke nuwe ligging en nuwe kliënte, moet die IP-adres gekontroleer word teen die inkomende versoek.
Ja, dit dra by tot boord, maar die eindresultaat is baie strenger sekuriteit as wat anders bereik kan word.
Gereedskap om API-beskerming te verhoog
Is daar instrumente wat ons kan help om kwesbaarheid te scan, of selfs beter, wat die eerste verdedigingslinie bied met betrekking tot die beveiliging van API's?
Gelukkig, ja. Daar is verskillende instrumente wat u kan gebruik, maar wees gewaarsku dat aan die einde van die dag geen veiligheidstrategie perfek is nie. As dit gesê word, kan hierdie instrumente u API-sekuriteit baie verhoog, en daarom word dit aanbeveel.
Metasploit is 'n uiters gewilde open source raamwerk vir penetrasietoetsing van webprogramme en API's. Dit kan u API op verskeie verskillende parameters skandeer en 'n uitgebreide veiligheidsoudit doen vir verskillende vlakke van kwesbaarhede wat tans teenwoordig is.
Byvoorbeeld, die sekuriteitskandering wat deur Metasploit uitgevoer word, kan u vertel of u API-handtekeninge die onderliggende tegnologieë en die bedryfstelsel weggee of nie; dit is dikwels die helfte van die stryd wat in API-sekuriteit gewen is.
Hoewel die open source-kernraamwerk oor die algemeen voldoende is, is daar uitstekende betaalde produkte wat bo-op Metasploit gebou is, wat die moeite werd is om na te kyk. Die pro-plan is wonderlik as u premium-ondersteuning wil hê en die raamwerk in diepte wil gebruik, maar is oor die algemeen nie nodig as u span genoeg ervare het nie.
Nie net CDN nie, maar Cloudflare bied baie sekuriteitsfunksies soos WAF, tariefbeperking, DDoS-beskerming wat noodsaaklik is om u API teen aanlynbedreigings te beveilig.
Netsparker kom met 'n USP van "bewysgebaseerde skandering". In eenvoudiger terme is dit dikwels moontlik dat onreëlmatige netwerkomstandighede of 'n paar minder bekende API-gedrag as sekuriteitsgatvormings beskou word, wat later verkeerd bevind word.
Dit vermors hulpbronne, aangesien al die kwesbaarhede wat aangemeld is, weer met die hand geskandeer moet word om te bevestig dat dit nie vals positiewe is nie. Netsparker sê die instrument is in staat om u 'n sterk genoeg bewys van die konsep vir die verslae te gee, en twyfel verwyder oor die swak skakels wat gevind is.
Met maatskappye soos Sony, Religare, Coca-Cola, Huawei, ens., Op hul kliëntelys, kan u seker wees dat hierdie mense iets reg doen. �� Terloops, hulle het ook ongelooflik web sekuriteit blog wat u moet volg.
Gebou deur SmartBear, SoapUI Pro is 'n intuïtiewe en maklike manier om API-toetse te skep en om akkurate, data-gedrewe verslae daaroor te kry. Dit sluit ook netjies in met u CI / CD-pyplyn, en sorg dat geen nuwe kodetoevoegings die veiligheid van u API in die gedrang bring nie..
SoapUI kan met Swagger, OAS en ander gewilde API-standaarde werk, waardeur die tyd om aan die gang te kom aansienlik verminder. Met kliënte soos Microsoft, Cisco, MasterCard, Oracle, ens. En planne vanaf $ 659 per jaar, is dit 'n waardige instrument vir veiliger API's.
Trustwave is 'n reeks oplossings wat gerig is op sekuriteitsskandering en verharding. Een van die unieke dinge van hierdie diens is dat dit nie net akkurate bedreigingsopsporing op u API uitvoer nie, maar ook help om te verstaan ​​hoe om dit op te los.
Trustwave voer die inhoud uit wat dit konteksbewuste skandering noem, wat beteken dat sodra 'n onderliggende bedryfstelsel of infrastruktuur opgespoor is, die diens 'n reeks verwante tjeks uitvoer om seker te maak dat nare sekuriteitsgate wat met die platform verband hou nie aanwesig is nie..
Hulle spog ook met 'n sterk span veiligheidsnavorsers wat die diensvermoëns voortdurend opdateer. As u op groot skaal is met voldoening, is Trustwave 'n goeie oplossing.
As u volgens die nommers leef en funksies wil geniet soos die antwoord op dreigement, die herkies van toetse na regstellings, ensovoorts, en so aan, hoef u nie verder te soek nie!
daar is geen tekort nie van API-sekuriteitsinstrumente wat in die mark beskikbaar is, of dit open source, gratis of kommersieel is, of enige kombinasie hiervan. Voel vry om meer te verken, en as u iets nog beter vind, skryf dit so in die kommentaar, en ek sal dit graag insluit! ��