Hvorfor og hvordan sikres API-endepunkt?

Hvordan sikrer du din API?

Det er en tidsalder for den digitale økonomis eksplosion, og massive databelastninger sendes gennem API’er. Forretning, spil, uddannelse, vejr, videnskab, kunst. . . du navngiver det; alt virker på API’er. For en verden, der er så grundlæggende afhængig af API’er, er der overraskende lidt fokus på sikkerhed.

For udviklere er standardindstillingerne for deres rammer nok; eller endnu værre, når ingen rammer bliver brugt, tror de, at de følger sikkerhedspraksis. For systemadministratorer er standardsikkerheden, der tilbydes af deres infrastruktur eller tjenesteudbyder, det, de er afhængige af.

Ikke et kønt syn overhovedet, hvis du spørger mig.

Kilde: developer.ibm.com

Det er overflødigt at sige, at der er meget på spil, som vi først indser, når noget virkelig forfærdeligt sker.

Men først ting først. 🙂

Hvorfor sikre API-endepunkter?

Det må være en let sag, ikke?

Vi er nødt til at sikre endepunkter, fordi det er, hvad virksomheden afhænger af.

Selvom det er et stærkt nok argument i sig selv, vil jeg udvide synspunktet lidt og fremhæve andre relaterede, men lige så dødelige konsekvenser.

Forretningstab 📉

Dette er den åbenlyse. Hvis det lykkes nogen at rode med dine API-endepunkter, vil det bringe alt til at stoppe. Sikkerhedsbrud kan også tage lang tid at komme sig over, hvilket betyder selvmord i forretningsmæssig henseende. Selvom det er rigtigt, at de fleste virksomheder sandsynligvis ikke vil blive påvirket af en time eller to med nedetid, er det for nogle ikke tilladt.

Forestil dig, at en valutaveksling er nede i et par minutter!

Overholdelsesproblemer

Hvis du ikke sikrer dine API’er ordentligt, kan det bringe dig i alvorlige problemer, afhængigt af hvilke geografier eller industrier du har med at gøre. For eksempel, hvis du betjener bankindustrien (især i EU), vil omkostningerne ved at blive opdaget, når du betjener med usikre API’er, resultere i massive juridiske og overholdelsesproblemer. Så meget, at det måske endda betyder enden på din virksomhed.

Omdømmetab

At blive hacket er smertefuldt nok i sig selv, men hvis nyheder kommer ud offentligt, vil der være et uerholdeligt tab for dit brandimage. For eksempel er Sony blevet hacket et par gange meget slemt efterhånden, og i sikkerhedskredse er virksomheden en til grin af slagsen.

Selv hvis der ikke er noget reelt tab af data eller penge, held og lykke med at prøve at overbevise dine forvirrende kunder. 🙂

Oppustede infrastrukturregninger 💰

Når din API kører på infrastruktur, bruger den ressourcer (for det meste båndbredde, CPU og hukommelse). For eksempel, hvor API’et ikke er korrekt sikret, og ondsindede udenforstående er i stand til at interagere med det, er det muligt for dem at tvinge API’et til at blive ved med at udføre en masse meningsløst arbejde (f.eks. køre tunge databaseforespørgsler), som kan skyde øge dine regninger af årsager.

  Automatiser Muzei Live Wallpaper med Tasker

På platforme, hvor automatisk skalering af ressourcer er aktiveret (som AWS), kan resultaterne være chokerende (uden for emnet, men hvis du nogensinde bliver fanget i en suppe som denne på AWS, forstår de situationen godt og giver straks afkald på den oppustede regning – i det mindste i skrivende stund!).

Holdets moral

Så du tænker måske, at det hold, der lader disse kompromiser ske, vil miste moralen over dem. Nå, ikke helt. Det er muligt, at kompromiserne skyldtes svag infrastruktursikkerhed, hvilket vil nedslå udviklerne eller omvendt.

Skulle dette ske nok tid, vil du have en kultur på dine hænder, som du vil fortryde at lade udvikle.

Konkurrentens gevinster

Så lad os sige, at der var et brud, men der var ikke noget reelt tab. Dine konkurrenter vil dog bruge hændelsen til at lave deres egen API og hævde, hvor meget mere sikker deres er (selvom det ikke er det!). Endnu en gang held og lykke med at prøve at overbevise markedet. 🙂

Alt i alt er der konsekvenser ved sikkerhedsbrud, der rækker ud over at tabe penge.

Bedste praksis til sikring af API-endepunkter

Heldigvis er der visse lette at implementere og velforståede praksisser, som du kan anvende på dine API-endepunkter for at sikre dem. Her er, hvad de fleste sikkerhedseksperter anbefaler.

HTTPS altid 🔒

Hvis dine API-endepunkter tillader API-brugere at tale over http eller andre ikke-sikre protokoller, udsætter du dem for en stor risiko. Adgangskoder, hemmelige nøgler og kreditkortoplysninger kan nemt blive stjålet som nogen mand-i-midten angrebeller packet sniffer tool kan læse dem som almindelig tekst.

Så gør altid https til den eneste tilgængelige mulighed. Uanset hvor trivielt et slutpunkt kan virke, bør det ikke engang være en mulighed at oprette forbindelse via http. TLS-certifikat koster ikke meget; du kan købe for så lavt som $20 fra SSL butik.

Envejs hashing af adgangskode

Adgangskoder bør aldrig gemmes som almindelig tekst, da i tilfælde af, at der opstår et sikkerhedsbrud, vil alle brugerkonti blive kompromitteret. Samtidig bør symmetrisk kryptering strengt undgås, da enhver angriber, der er genial og vedholdende nok, vil være i stand til at bryde dem.

Den eneste foreslåede mulighed er asymmetriske (eller “envejs”) krypteringsalgoritmer til lagring af adgangskoder. På den måde vil hverken en angriber eller nogen udvikler eller sysadmin i virksomheden komme til at læse kundeadgangskoder.

Stærk autentificering 💪

Nu har næsten alle API en form for godkendelse, men efter min mening fungerer OAuth2-systemet bedst. I modsætning til andre godkendelsesmetoder opdeler den din konto i ressourcer og tillader kun begrænset adgang til godkendelsestoken-bæreren.

Samtidig er en anden meget god praksis at indstille tokens til at udløbe hver f.eks. 24 timer, så de skal opdateres. På denne måde, selvom dit token bliver lækket, er der en chance for, at 24-timers deadline vil reducere virkningen af ​​bruddet.

Anvend takstbegrænsning

Medmindre du har en API, der bruges af millioner af mennesker hvert minut, er det en meget god idé at håndhæve en grænse for, hvor mange opkald en klient kan foretage til API’en i et givet tidsvindue.

  Sådan måler du højde på din iPhone

Dette er mest for at modvirke bots, som kan blive ved med at sende hundredvis af samtidige anmodninger hvert sekund og få din API til at spise systemressourcer uden god grund. Alle webudviklingsrammer kommer med en hastighedsbegrænsende middleware (og hvis ikke, er det ret nemt at tilføje det via et bibliotek), som tager kun et minut eller deromkring at konfigurere.

Valider input

Det lyder som en let sag, men du vil blive overrasket over, hvor mange API’er der falder for dette. Validering af input betyder ikke kun at kontrollere, at de indgående data er i et korrekt format, men også at der ikke er mulighed for overraskelser. Et simpelt eksempel er SQL-injektion, som kan udslette dine databaser, hvis du lader forespørgselsstrengene gå forbi med lidt eller ingen kontrol.

Et andet eksempel er at validere POST-anmodningsstørrelsen og returnere en korrekt fejlkode og besked til klienten. At forsøge at acceptere og analysere latterligt store input vil kun tjene til at sprænge API’en i luften.

Gennemtving IP-adressefiltrering, hvis det er relevant

Hvis du er til B2B-tjenester, og dine API’er bruges af virksomheder fra fastlagte lokationer, kan du overveje at tilføje et ekstra lag af sikkerhed, der begrænser IP-adresser, der kan få adgang til din API. For hver ny placering og ny klient skal IP-adressen kontrolleres i forhold til den indkommende anmodning.

Ja, det tilføjer gener til onboarding, men slutresultatet er meget strammere sikkerhed, end man ellers kan opnå.

Værktøjer til at øge API-beskyttelse

Er der værktøjer, der kan hjælpe os med at scanne sårbarhed, eller endnu bedre, tilbyde den første forsvarslinje, når det kommer til at sikre API’er?

Heldigvis, ja. Der er flere værktøjer, du kan bruge, men vær opmærksom på, at i sidste ende er ingen sikkerhedsstrategi perfekt. Når det er sagt, kan disse værktøjer øge din API-sikkerhed mange gange, så de anbefales.

Metasploit er en ekstremt populær open source-ramme til penetrationstest af webapps og API’er. Den kan scanne din API på flere forskellige parametre og udføre en udtømmende sikkerhedsrevision for forskellige niveauer af tilstedeværende sårbarheder.

For eksempel kan sikkerhedsscanningen udført af Metasploit fortælle dig, om dine API-signaturer afslører de underliggende teknologier og operativsystem eller ej; at skjule dette er ofte halvdelen af ​​kampen vundet i API-sikkerhed.

Mens open source-kernerammen generelt er nok, er der fremragende betalte produkter bygget oven på Metasploit, som er et kig værd. Pro-planen er fantastisk, hvis du ønsker premium-support og vil bruge rammen i dybden, men er generelt ikke nødvendig, hvis dit team er erfaret nok.

AppTrana

AppTranas dedikerede API-beskyttelse funktioner tilbyder en omfattende risikobaseret løsning til beskyttelse mod en lang række API-trusler, herunder OWASP API top 10, API-baserede DDoS og botangreb, indlejrede trusler, datalækage osv. Med ubegrænset automatiseret API-scanning understøttet af manuel pen- test, overvåger den løbende din risikoscore for at styrke sikkerhedsstillingen.

  Sådan vælger du det bedste

AppTranas API-beskyttelse sikrer den mest omfattende løsning med kombinationen af ​​risikodetektion, API-trusselsdetektion, API Positive sikkerhedspolitikker, API-specifikke DDoS-politikker, API-specifikke bot-moduler og API-opdagelsesfunktioner.

Dens API-opdagelse sikrer fuldstændig synlighed i API-kald, inklusive udokumenterede og skygge-API’er, for at forstå din API-angrebsoverflade. Denne dedikerede API-beskyttelse indsamler oplysninger om brugerdetaljer, API-brugsadfærd, trusselsaktivitet, API-opkaldskort og mere for at vise beskyttelsesstatussen med realtidsanalyse.

Ved at bruge Indusface AppTrana kan du generere skræddersyede API-specifikke politikker for at blokere API-fokuseret misbrug i realtid.

Cloudflare

Ikke kun CDN men Cloudflare tilbyder masser af sikkerhedsfunktioner som WAF, hastighedsbegrænsning, DDoS-beskyttelse, som vil være afgørende for at sikre din API mod onlinetrusler.

Invicti

Invicti leveres med en USP for “proof-based scanning”. I enklere vendinger er det ofte muligt, at uregelmæssige netværksforhold eller nogle mindre kendte API-adfærd opfattes som sikkerhedshuller, som senere viser sig at være forkerte.

Dette spilder ressourcer, da alle de rapporterede sårbarheder skal scannes igen manuelt for at bekræfte, at de ikke er falske positiver. Invicti siger, at værktøjet er i stand til at give dig et stærkt nok proof of concept til rapporterne, hvilket fjerner tvivl om de svage led, der er fundet.

Med virksomheder som Sony, Religare, Coca-Cola, Huawei osv. på deres kundeliste, kan du være sikker på, at disse folk gør noget rigtigt. 🙂

SoapUI Pro

Bygget af SmartBear, SoapUI Pro er en intuitiv og nem måde at skabe API-test og få nøjagtige, datadrevne rapporter om dem. Den integreres også pænt med din CI/CD-pipeline, hvilket sikrer, at ingen nye kodetilføjelser kompromitterer sikkerheden af ​​din API.

SoapUI er i stand til at arbejde med Swagger, OAS og andre populære API-standarder, hvilket reducerer tiden til at komme i gang markant. Med kunder som Microsoft, Cisco, MasterCard, Oracle osv., og planer starter ved $659 om året, er dette et værdigt værktøj til mere sikre API’er.

Okta

Prøve Okta for at sætte dine udviklere i stand til at koncentrere sig om at forbedre brugeroplevelsen samt sikre dine virksomhedsdata effektivt. Den tilbyder OAuth 2.0-autorisation og er designet til både mobil- og webapplikationer. Den er også kompatibel med tredjeparts API-administrationstjenester.

Brug Okta til at oprette, revidere og vedligeholde alle politikker for API-adgang gennem brugervenlige og specialbyggede konsoller uden brug af brugerdefinerede koder. Det giver dig ekstra fleksibilitet, så du ikke behøver at sikre dine API’er ved hjælp af ekstra gateway-instanser.

Okta omfatter identitetsdrevet politik til at kontrollere forskellige typer brugere og tjenester under ét tag. Definer adgang afhængigt af brugerprofiler, netværk, grupper, samtykke og klienter. Udvid tokens ved hjælp af dynamiske data fra dine interne systemer for at nyde hurtigere integration og problemfri migrering.

Det letter en centraliseret administration af API’er og lader dig beskytte API-ressourcer. Okta fokuserer på sikkerhed ved at give dig mulighed for at sikre adgang mellem forskellige mikrotjenester.

Konklusion

Der er ingen mangel af API-sikkerhedsværktøjer, der er tilgængelige på markedet, uanset om det er open source, gratis eller kommercielt, eller en kombination af disse.

Prøv et par af dem fra listen og se, hvad der passer bedst til dit behov.