Apps zijn een groot deel van ons leven, want we gebruiken ze elke dag. Zelfs als we aan het werk zijn maken we gebruik van bedrijfstoepassingen. Maar weet jij welke software er achter deze applicaties zit en wat API security inhoudt? Wat is een API?

Waarvoor staat API?

API staat voor Application Programming Interface. Door middel van API kunnen software applicaties met elkaar communiceren. Een API kan ook een verbinding zijn tussen computers of computerprogramma’s. Applicaties kunnen hierdoor toegang krijgen tot data en communiceren met externe softwarecomponenten, microservices of besturingssystemen. Elke keer dat je Facebook gebruikt of het weer bekijkt op je smartphone, gebruik je de software-interface.

API-koppelingen bieden een service aan andere software-onderdelen. Een API-specificatie is een document of standaard dat beschrijft hoe een verbinding of interface moet worden gemaakt of gebruikt. Wanneer een computersysteem aan deze standaard voldoet, wordt de API geïmplementeerd of blootgesteld.

Het vermeldt de operaties die developers kunnen gebruiken, samen met een beschrijving van wat ze doen. Developers kunnen hun eigen data eraan verstrekken om resultaten te verkrijgen.

De “Applicatie” verwijst naar software met een duidelijke functie. “Interface” verwijst naar een contract of service tussen twee verschillende applicaties. Dit definieert hoe de twee applicaties met elkaar communiceren door middel van verzoeken en antwoorden.

Waarvoor worden API’s gebruikt?

Een API verbindt computers of andere software-onderdelen met elkaar. Het is niet de bedoeling dat het rechtstreeks door een persoon gebruikt wordt. API’s bestaan vaak uit verschillende ‘parents’ die fungeren als services of tools die beschikbaar zijn voor de programmer. Wanneer een developer één van deze onderdelen gebruikt, roept hij dat gedeelte van de API op. Deze oproepen worden ook wel subroutines, aanvragen, methoden of eindpunten genoemd. De oproepen zijn gedefineerd door een API-specificatie. Dit betekent dat het uitlegt hoe je ze gebruikt of implementeert.

API’s verbergen interne details over hoe een systeem werkt. Dit stelt alleen de onderdelen bloot die een developer nuttig vindt. Ze kunnen op maat gemaakt worden voor bepaalde systemen of ze kunnen een gedeelde standaard zijn.

Ze stellen developers in staat te profiteren van de implementatie van een platform. Dit helpt de hoeveelheid code te verminderen die developers moeten creëren. Het maakt ook mogelijk om meer consistentie te creëren tussen apps en het regelt de toegang tot hardware- en softwarebronnen.

De term microservices komt regelmatig naar boven in verband met API’s. Deze microservices zijn een architectuurstijl die functionaliteit binnen een webapplicatie verdeelt. Microservices kunnen de interface gebruiken om met elkaar te communiceren.

API security jimber

Wat is JSON?

Om informatie te verzenden of te ontvangen kunnen developers een specifieke oproep maken of verzoek indienen. Voor de meeste moderne API’s wordt dit meestal gedaan met een programmeertaal genaamd “JSON”. Het kan ook gebruikt worden om data bij te werken of te verwijderen. JSON staat voor JavaScript Object Notation. Het wordt gebruikt om data op een server weer te geven. Het is vrij gemakkelijk te lezen door mensen en makkelijk te begrijpen voor computers.

JSON formaat jimber

Wat is een API verzoek of aanvraag?

Het eindpunt, de header, de methode en de data zijn allemaal componenten van het API-verzoek. Deze componenten zijn nodig om alles goed te laten functioneren.

Eindpunt

Eindpunten hebben twee belangrijke componenten die gebruikt worden bij het maken van een API verzoek, waarvan één de URL is. Het tweede component is het pad. Dit zal variëren afhankelijk van wat je probeert te bereiken. Wanneer je deze twee componenten samen brengt, krijg je een compleet eindpunt.

Header

Een header biedt informatie aan de client en de server. Voorbeelden van headers zijn verificatiereferenties zoals een “Auth Token” of “Client ID”. Deze verificatiereferenties worden automatisch aan je verstrekt wanneer je een API-account maakt.

Een ander veel gebruikte header is de “Content-Type” header. Het informeert de server over het type inhoud dat wordt verzonden. Een voorbeeld van een algemeen gebruikt content type is “Application/JSON”. Dit laat de server weten dat we JSON data verzenden.

Methode

Deze methoden zijn acties die genomen worden bij het verzenden van een verzoek.
Voorbeelden zijn:

  • Get: verzamelt informatie
  • Put: werkt data bij of maakt stukjes data
  • Post: creëert
  • Delete: verwijdert

Data

Data die ook wel “body” genoemd wordt, is informatie die wordt verzonden naar een server of geretourneerd door een server. De “body” van een verzoek vereist soms specifieke informatie voordat deze geleverd kan worden.

Hoe werken API’s?

API-architectuur verwijst meestal naar de communicatie tussen de client en de server. De applicatie die het verzoek verzendt wordt de client genoemd en de applicatie die het antwoord verzendt wordt de server genoemd.

Dit is hoe API’s werken:

  1. De client applicatie initieert een API oproep om informatie op te halen. Dit wordt ook wel een verzoek genoemd. Het verzoek van de applicatie wordt doorgevoerd naar de webserver.
  2. De API maakt een oproep naar het externe programma of de webserver, na ontvangst van een geldig verzoek.
  3. De server stuurt vervolgens een antwoord naar de API met de informatie die de client applicatie heeft aangevraagd.
  4. Ten slotte stuurt de API de data naar de oorspronkelijke client applicatie.

De datatransfer verschilt afhankelijk van de webservice die je gebruikt. Dit proces van verzoeken en antwoorden gebeurt allemaal via een API. API’s zijn ontworpen om gebruikt te worden door computers. Ze vereenvoudigen de ontwikkeling van apps, besparen tijd en geld en geven flexibiliteit. Ze vereenvoudigen ontwerp, beheer, gebruik en innovatie.

API’s maken de integratie van nieuwe applicatiecomponenten in bestaande architectuur eenvoudiger. Ze helpen bedrijven en IT teams samen te werken. Bedrijven moeten snel kunnen reageren om concurrerend te blijven. De ontwikkeling van applicaties in de cloud kan gebruikt worden om de ontwikkelingssnelheid te verhogen. Het steunt op het verbinden van microservices applicatie-architectuur via API’s.

API’s bieden beveiliging omdat ze ontworpen zijn als tussenpersoon tussen twee systemen. Dit betekent dat de verbruikende applicatie gescheiden is van de infrastructuur die de service levert. API-oproepen bevatten doorgaans ook autorisatiegegevens die het risico op aanvallen verkleinen. Tijdens het uitwisselingsproces bieden HTTP-headers, cookies of parameters voor queryreeksen extra beveiligingslagen.

Kortom, met API’s kan je toegang krijgen tot jouw bronnen terwijl je de beveiliging en controle behoudt. Ja kan kiezen hoe je toegang opent en voor wie. Meer informatie over API security volgt verder in dit artikel.

Waarom hebben we API’s nodig?

Je kan een API gebruiken wanneer je bestaande tools beheert of nieuwe ontwerpt, om het proces te vereenvoudigen. API’s kunnen consumenten ook helpen om producten te vinden, e-commerce merken te laten groeien en het verdienpotentieel te vergroten door op online markten te verkopen. Ze hebben ook nog veel andere voordelen.

Betere samenwerking

Het gemiddelde bedrijf gebruikt ongeveer 1000 cloudapplicaties. Op die manier kunnen bedrijven workflows automatiseren en de samenwerking op de werkplek verbeteren.

Gemakkelijkere innovatie

API’s bieden flexibiliteit om connecties te maken met nieuwe zakelijke partners, nieuwe services aan te bieden en nieuwe markten aan te boren om meer winst te maken en digitale transformatie te stimuleren.

Data monetarisering

Veel bedrijven kiezen ervoor om hun API’s in eerste instantie gratis aan te bieden. Zo kunnen ze een publiek van developers opbouwen en relaties smeden met potentiële zakelijke partners. Wanneer de API toegang verleent aan waardevolle digitale middelen, kan je geld verdienen door deze toegang te verkopen.

API security

API’s creëren een extra beveiligingslaag tussen jouw gegevens en een server. Wanneer je API’s gebruikt, verzend je kleine hoeveelheden informatie die de API levert. Vervolgens stuurt de server deze terug. Op deze manier ben je niet rechtstreeks verbonden met een server en wordt het risico op een inbreuk tot een minimum beperkt.

Developers kunnen ook hun API security verder versterken. API’s spelen vaak een grote rol in de beveiliging. Ze worden gebruikt om de toegang tot hardware- en software apparaten, waartoe een applicatie mogelijk geen toegang heeft, te controleren. Een voorbeeld hiervan is de geolocatie API die vraagt om jouw exacte locatie te zien wanneer je een website bezoekt.

Snelheid

Alles is eenvoudig en snel met API’s. In plaats van naar een winkel te moeten gaan of hen te bellen, kan je gemakkelijk zien wat een product is, de prijs en het voorraadniveau. API’s maken het leven van ontwikkelaars ook makkelijker. Elk besturingssysteem heeft standaard API’s die developers kunnen gebruiken voor hun apps. Dit is sneller en voordeliger.

Schaalbaarheid

Je kan jouw online winkel sneller doen groeien omdat je geen rekening hoeft te houden met nieuwe code om je catalogus-, beveiligings- of databehoeften uit te breiden.

Dagdagelijkse voorbeelden van API’s

Het is moeilijk om API’s te begrijpen als je nog geen voorbeelden hebt gezien. Daarom hebben we een paar voorbeelden samengesteld van API’s die je dagelijks gebruikt. API’s kunnen op veel verschillende manieren worden gebruikt.

Universele logins

Universele logins is een populair API voorbeeld dat mensen toelaat om zich aan te melden bij websites via hun Facebook, Twitter, Github of Google aanmeldingsgegevens. Met deze API kan elke website de gebruiker snel verifiëren. Applicaties met deze API melden zich niet effectief aan bij de sociale media-accounts van de gebruikers. Dit bespaart hen de tijd en moeite van het opzetten van een nieuw account voor elke nieuwe website bezoeker.

Verwerking van betalingen door derden

Deze API staat mensen toe om online te betalen zonder gevoelige data bloot te stellen of toegang te verlenen aan onbevoegde personen. Een voorbeeld van deze API is de functie “betalen met PayPal”. Net zoals de universele login API is deze API gebouwd om ervoor te zorgen dat de applicatie alleen kan doen wat het moet doen.

Het werkt op dezelfde manier als het aanmeldingsproces van de log-in API. De applicatie stuurt een verzoek naar de PayPal API voor het specifieke verschuldigde bedrag. Ten slotte wordt de gebruiker geverifieerd door een pop-up, wordt de aankoop bevestigd en de API stuurt een bevestiging van de betaling terug naar de applicatie.

Reisboeking vergelijkingen

Bookingsites maken gebruik van API’s om informatie te verzamelen over de beschikbaarheid van vluchten en hotels van dienstverleners om de goedkoopste optie te laten zien. Ze gebruiken ook API’s om de reis te bevestigen bij de dienstverleners waarbij je geboekt hebt. Dit automatiseert de uitwisseling van data en verzoeken en vermindert de tijd en moeite die nodig is om de beschikbaarheid van vluchten en hotels te controleren.

reisboeking API jimber

Google Maps

De Google Maps service is een van de meest voorkomende voorbeelden van een goede API. Het gebruikt niet alleen een API die statische of interactieve kaarten weergeeft. Het gebruikt ook andere API’s om gebruikers van richtingen of interessante plaatsen te voorzien. Via geolocatie en meerdere lagen van data kan je communiceren met de API tijdens het plannen van reisroutes of het volgen van voertuigen. Je kan de kantooruren, recensies of contactgegevens bekijken.

google-maps-API-jimber

Twitter bots

Er is een enorm aanbod van bots op Twitter. Deze bots zijn accounts die automatisch tweeten, retweeten, volgen en berichten versturen. Er zijn Twitter bots die elk uur herinneringen sturen, bots die grammaticafouten identificeren en bots die tweeten wanneer nieuwe inhoud op Netflix wordt vrijgegeven. Deze bots worden allemaal aangedreven door de Twitter API.

Weer snippets

De meest voorkomende API die we elke dag gebruiken is de weer snippets API. Deze weer snippets zijn te vinden op platformen zoals Google Search, Apple’s weer app of zelfs smart home apparaten. Met deze API kan je de huidige weersomstandigheden en weersverwachtingen bekijken.

E-commerce

E-commerce API’s worden gebruikt voor het uitvoeren van commerciële transacties zoals het kopen en verkopen van producten online. In deze categorie zijn er productinformatie API’s, site search API’s, betaling API’s, shipping API’s en API’s voor het omrekenen van valuta.

Deze API’s worden allemaal gebruikt om gegevens te verzamelen of berekeningen te maken tijdens het aankoopproces. Microservice architectuur is ook zeer belangrijk om functionaliteit in te kapselen in afzonderlijke, onafhankelijke inzetbare services. Deze microservices komen samen in één enkele applicatie via API’s.

 

De geschiedenis van API’s

Als we het over API’s hebben, hebben we het waarschijnlijk over web API’s of API’s die gebouwd zijn met behulp van REST. Web API’s hebben een relatief korte geschiedenis en ze staan achter vrijwel elk aspect van hoe we online zaken doen. Wanneer we het hebben over web API’s, verwijzen we bijna altijd naar de moderne aanpak.

Dit betekent dat je HTTP gebruikt om toegang te bieden tot gegevens die leesbaar zijn door machines in een JSON- of XML-indeling. Deze worden gebruikt om gegevens te delen binnen de programmeertalen van besturingssystemen. Bedrijven zoals eBay, Amazon en Salesforce hebben geholpen om web API’s te definiëren die we vandaag de dag kennen en waarderen.

Een commerciële start

API’s werden uitgevonden om de manier waarop we zaken doen op het web te veranderen. Dit startte een beweging om producten en diensten beschikbaar te stellen voor klanten via één enkele website. Developers begonnen hun handel die het web aandrijft te automatiseren. Deze periode werd overheerst door drie grote spelers: eBay, Amazon en Salesforce. Deze bedrijven blijven de wereld van API’s vormgeven.

Web-API’s kwamen voor het eerst in ‘het wild’ voor met de introductie van Salesforce op 7 februari, toen ze officieel hun API lanceerden op de IDG Demo 2000 conferentie. Ze introduceerden hun op het web gebaseerde Salesforce-automatisering op bedrijfsniveau als een “Internet as a service”, met XML API’s.

Later, op 20 november 2020, lanceerde eBay de eBay API samen met het eBay Developers Programma. Deze werden oorspronkelijk alleen uitgerold naar een selecte groep partners en ontwikkelaars. Nu wordt het gebruikt voor alle goederen die op het web verkocht worden.

Vervolgens lanceerde Amazon op 16 juli 2002 hun webservice voor Amazon.com. Dit stelde developers in staat om Amazon.com content en features voor hun eigen websites te gebruiken. Op deze manier kunnen sites van derden producten van Amazon.com zoeken en weergeven in een XML-indeling.

Deze ontwikkeling had dan nog niet het momentum bereikt dat we vandaag de dag zien. Misschien was het nog niet helemaal klaar. API’s begonnen pas tractie te krijgen wanneer social aan de mix werd toegevoegd.

amazon-API-jimber

Het sociale web

In 2004 begon er een nieuw ras API-providers te verschijnen. Deze nieuwe groep providers veranderde de manier waarop het web gebruikt wordt om informatie te delen met de mensen om ons heen, zowel virtueel als in de echte wereld. Deze API’s waren niet direct gekoppeld aan de commerciële waarde, maar ze gaven hun organisaties waarde. Zij werden gaandeweg winstgevende platforms.

In 2003 kwam Delicious een nieuwe service voor het opslaan, delen en ontdekken van webbladwijzers naar voren. Het stelde mensen in staat om deze bladwijzers via een webinterface te bekijken. Als je de extensie van ‘.html’ in ‘.xml’ wijzigt, ontvang je een machinaal leesbare lijst van jouw bladwijzers. Developers hebben hiervan geprofiteerd. Ze bouwden widgets en andere integreerbare functies voor sociale media.

In 2004 werd Flickr gelanceerd. Ze zijn een populaire site voor het delen van foto’s. Zes maanden na hun officiële start lanceerden ze hun API. Zij werden het beeldplatform bij voorkeur voor vroege blogging en sociale media bewegingen vanwege hun RESTful API. Gebruikers kunnen hun foto’s eenvoudig insluiten in blogs en stromen van sociale netwerken.

In 2006 lanceerde Facebook hun platform en API. Dit stelde ontwikkelaars in staat om toegang te krijgen tot vrienden, evenementen, foto’s, evenementen en profielinformatie. Het hielp Facebook om één van de populairste sociale netwerken te worden.

Een maand later introduceerde Twitter hun eigen API in reactie op developers die hun content en data van het platform scrapen. Twitter integreert API’s in vrijwel elke functie op het platform, van hun mobiele applicatie tot de share-knop.

In 2010 had sociale media de bevolking overgenomen. API’s waren verweven in ons persoonlijke en ons professionele leven. Facebook en Twitter domineerden deze API-periode en ze zetten de toon voor een nieuwe generatie van sociale invloed, aangedreven door API’s. Tegelijkertijd begon Google ook de kracht van web-API’s te verkennen. Ze lanceerden de Google Maps API omdat veel mensen de applicatie hacken.

flickr API jimber

De Cloud

API’s werden al gebruikt voor veel commerciële doeleinden. Maar Amazon heeft API’s echt naar een hoger niveau getild. Het werd het model voor de volgende generatie bedrijven. Amazon zag het potentieel van een RESTful aanpak en zag API’s op een manier die niemand eerder had gezien. Dit leidde tot een verschuiving om zich te richten op API’s in de hele organisatie. Dit betekent dat alle gedeelde bronnen een API moesten hebben. Uiteindelijk leidt dit tot de creatie van twee nieuwe Amazon Web Services.

Deze webservices zijn iets heel anders dan de e-commerce site van Amazon die we kennen. De eerste webservice heet Amazon S3. Het verstrekte een eenvoudige interface om elke hoeveelheid gegevens op te halen, op elk moment en vanaf elke locatie. Het verstrekt developers toegang tot de schaalbare, betrouwbare, snelle en goedkope infrastructuur voor gegevensopslag van Amazon.

Kort daarna lanceerde Amazon hun nieuwe cloud computing-service genaamd Amazon EC2. De oplossing bood schaalbare computercapaciteit in de cloud. Op deze manier kunnen ontwikkelaars virtuele servers van verschillende groottes in Amazon-datacenters lanceren.

Cloud computing bracht web API’s naar een hoger niveau. Dit zou onze wereld beïnvloeden op manieren die we ons nooit hadden kunnen voorstellen.

Mobiel

Terwijl iedereen zich op het sociaal en cloud-gebied richtte, lanceerde Apple de iPhone. Dit nieuwe apparaat zou een game-changer blijken te zijn. Het veranderde de manier waarop we met mobiele telefoons en met de online wereld bezig waren. Google reageerde op Apple door het open-source mobiele platform, Android, te lanceren. Dit opende een hele nieuwe wereld aan mogelijkheden waar API’s de drijvende kracht van zouden zijn.

Bedrijven als Google Maps, Foursquare, Instagram en Twilio stonden aan het front van deze mobiele API revolutie. Nieuwe API’s werden gemaakt voor deze nieuwe mobiele applicaties.

Deze mobiele evolutie maakte web API’s tot wat ze nu zijn. Mobiel stak het web in onze zakken, zodat we foto’s kunnen maken, video’s kunnen opnemen en verhalen kunnen delen.

We kunnen veel leren uit de geschiedenis van moderne web API’s om API’s steeds te blijven innoveren. API’s worden ook gebruikt in apparaten die met de cloud verbonden zijn, zoals Fitbit en Google’s Nest.

Instagram API jimber

Verschillende soorten API’s

API’s kunnen anders werken, afhankelijk van wanneer en waarom ze gemaakt zijn. Daarom zijn er veel verschillende soorten API’s. De meeste zijn web API’s. Daarvan zijn er vier types:

Open API’s

Dit zijn open-source API’s die je kan openen met het HTTP-protocol. Ze staan ook bekend als publieke API’s met API eindpunten en verzoeken- en antwoord formaten.

Partner API’s

Dit zijn API’s die blootgesteld worden aan of door strategische zakenpartners. Developers hebben toegang tot deze API’s in self-service modus via publieke API-ontwikkel portalen. Ze moeten een onboarding proces voltooien en aanmeldingsgegevens verkrijgen om toegang te krijgen tot partner API’s.

Interne API’s of private API’s

Dit zijn Application Programming Interfaces die verborgen zijn voor externe gebruikers. Ze staan ook bekend als private API’s omdat ze niet beschikbaar zijn voor gebruikers buiten de organisatie. Deze API’s zijn bedoeld om de productiviteit en de communicatie tussen verschillende interne ontwikkelingsteams te verbeteren.

Samengestelde API’s

Samengestelde API’s combineren service API’s met meerdere gegevens. Met deze API’s hebben ontwikkelaars toegang tot verschillende eindpunten in één oproep. Samengestelde API’s zijn nuttig in microservices architectuur om informatie uit verschillende bronnen te verzamelen.

Verschillende soorten API protocollen

Bepaalde protocollen zijn ontwikkeld om gebruikers te voorzien van vooraf gedefinieerde regels die de geaccepteerde gegevenstypen en -opdrachten specificeren. Deze verschillende typen API protocollen vergemakkelijken de gestandaardiseerde gegevensuitwisseling:

SOAP API’s

SOAP staat voor Simple Object Access Protocol. Dit betekent dat de client en server berichten uitwisselen met behulp van XML. Deze API is niet erg flexibel en was in het verleden populairder.

RPC API’s

RPC staat voor Remote Procedure Calls. De client voltooit een functie en de server stuurt de uitvoer terug. Dit protocol kan JSON- en XML-indelingen gebruiken om gegevens over te brengen.

REST API’s

REST staat voor Representational State Transfer. Het is een reeks web API architectuur principes en het heeft geen officiële standaarden. Dit zijn de meest flexibele en populaire API’s. De client verzendt verzoeken naar de server als data en de server gebruikt deze invoer om interne functies te starten. Uiteindelijk worden de uitvoergegevens teruggegeven aan de client. RESTful API’s kunnen ook worden gebouwd met SOAP-protocollen, maar de twee standaarden zijn meestal concurrerende specificaties.

Websocket API’s

WebSocket API’s gebruiken JSON-objecten om gegevens door te geven. Ze ondersteunen tweerichtingscommunicatie tussen client apps en de server. Dit is efficiënter dan REST API’s, omdat de server terugbelberichten kan verzenden naar verbonden clients.

Het verschil tussen REST API’s en web API’s

Rest API’s zijn een speciaal soort web API dat een standaard architecturale stijl gebruikt. Moderne web API’s zijn REST API’s. Je kan deze termen door elkaar gebruiken.

API security

API security is het proces van API’s beschermen tegen cyberaanvallen. API’s maken toegang tot gevoelige softwarefuncties en -gegevens mogelijk, waardoor ze een primair doelwit zijn voor hackers. API security is van cruciaal belang wanneer je een openbare API ontwikkelt. SQL-injectie, gebroken verificatie, Denial-of-Service aanval (DOS) en het blootstellen van gevoelige informatie kunnen gevaarlijke bedreigingen zijn voor API’s. Bedreigingen kunnen kwetsbaarheden in jouw API security gebruiken om toegang te krijgen tot jouw gegevens. Je kan deze beveiligingslekken oplossen door best practices te gebruiken.

Waarom zijn API eindpunten belangrijk?

Eindpunten zijn de laatste raakpunten van het API communicatiesysteem. Dit omvat server URL’s, services en andere specifieke digitale locaties die data verzenden en ontvangen tussen systemen. API eindpunten zijn van cruciaal belang voor API security omdat ze het systeem kwetsbaar maken voor aanvallen.

OWASP API security

Het Open Web Application Security Project (OWASP) is een non-profit organisatie die elke drie tot vier jaar een lijst met kwetsbaarheden in web applicaties uitbrengt. Deze OWASP top 10 verhoogt het bewustzijn over de ernstigste API beveiligingsproblemen.

Verbroken autorisatie op objectniveau

Functies die gebruikersinvoer accepteren en gebruiken om toegang te krijgen tot een gegevensbron, kunnen problemen met toegangscontrole op niveau veroorzaken. Dit maakt het aanvalsoppervlak groter. Je moet autorisatiecontroles op objectniveau uitvoeren voor dit soort functies.

Gebroken gebruikersauthenticatie

Hackers maken vaak misbruik van onjuist toegepaste verificatiemechanismen. Ze kunnen een verificatietoken in gevaar brengen of fouten in de implementatie misbruiken om zich als een andere gebruiker voor te doen. Als API’s de gebruiker niet kunnen identificeren, zal dit de algehele beveiliging van de API in gevaar brengen.

Overmatige data blootstelling

Gegevens moeten aan de serverzijde worden gefilterd. Developers maken vaak de fout om te vertrouwen op de kant van de client om de data te filteren voordat het aan de gebruiker wordt weergegeven. Dit kan ernstige veiligheidsproblemen veroorzaken. Het is een goede gewoonte om de relevante data aan de kant van de client te leveren.

Gebrek aan middelen en snelheidsbeperking

Geen beperkingen op het aantal of de omvang van middelen die de client kan aanvragen, kan gevolgen hebben voor de prestaties van de API server. Dit kan leiden tot een DOS aanval (Denial of Service) of het kan kwetsbaarheden in de verificatie blootleggen die brute force aanvallen mogelijk maken.

Gebroken autorisatie op functieniveau

Een te complex toegangsbeleid en geen duidelijke scheiding tussen reguliere en administratieve functies kunnen leiden tot fouten in de autorisatie. Hackers kunnen misbruik maken van deze kwetsbaarheden om onbevoegde toegang te krijgen tot de middelen van een gebruiker of om administratieve functies uit te voeren.

Massatoewijzingen

Het binden van door de client verstrekte gegevens aan een gegevensmodel gebaseerd op een ‘allow list’, zonder de juiste filtering van eigenschappen, kan massatoewijzing veroorzaken. Hackers kunnen objecteigenschappen wijzigen door API eindpunten te verkennen, de documentatie te lezen, de objecteigenschappen te raden of door extra eigenschappen aan te bieden via verzoek payloads.

Security misconfiguratie

Verkeerde configuratie van de beveiliging kan het gevolg zijn van zaken als ontoereikende standaardinstellingen, configuraties, ad-hoc of onvolledige configuraties, onjuist geconfigureerde HTTP headers of ongepaste HTTP methoden en veel meer.

Injectie

Injectiefouten zoals SQL injectie, NoSQL injectie en command injectie hebben betrekking bij gegevens die via een command of query naar een interpretator verzonden worden vanuit een onbetrouwbare bron.

Onjuist vermogensbeheer

API’s stellen meer eindpunten bloot dan traditionele webapplicaties en vereisen dus gestructureerde up-to-date documentatie. Blootliggende eindpunten voor foutopsporing en afgekeurde API versies kunnen het aanvalsoppervlak vergroten. Het maken van een inventaris van geïmplementeerde API versies en correct geconfigureerde hosts kan dit probleem beperken.

Onvoldoende registratie en monitoring

Hackers kunnen profiteren van jouw gebrekkige logging en monitoring of jouw ontbrekende incident respons integratie.

Best practices

Kwetsbaarheden identificeren

Om API’s effectief te beveiligen, moet je begrijpen welke onderdelen van de API levenscyclus onveilig zijn. Dit is niet altijd eenvoudig. Vooral niet als jouw organisatie een groot aantal API’s heeft. Het is niet praktisch om alle fasen van de API levenscyclus in overweging te nemen, van planning tot ontwikkeling, testing, staging en productie.

Gebruik maken van OAuth

Toegangscontrole voor verificatie en autorisatie is één van de belangrijkste aspecten van API security. Een tool om de toegang tot API’s te beheren is OAuth, een op tokens gebaseerd verificatieraamwerk. OAuth staat services van derden toe om toegang te krijgen tot informatie zonder gebruikersreferenties bloot te leggen.

Data coderen

Alle gegevens die beheerd worden door een API, met name persoonlijke informatie of andere gevoelige gegevens, moeten gecodeerd worden. Hiervoor zijn handtekeningen nodig om ervoor te zorgen dat alleen geautoriseerde gebruikers gegevens die door jouw API worden geleverd kunnen decoderen en wijzigen.

Snelheidsbegrenzing en -beperking gebruiken

Hoe populairder API’s worden, hoe waardevoller ze worden voor aanvallers. API’s zijn een belangrijk doelwit voor DOS aanvallen (Denial of Service). Het is een goed idee om limieten in te stellen voor de methode en frequentie van API oproepen om deze aanvallen te voorkomen. Dit beschermt tegen piekverkeer dat de prestaties en beveiliging beïnvloedt. Het kan ook de toegang en beschikbaarheid in evenwicht brengen door gebruikersverbindingen te reguleren.

Een service mesh gebruiken

Service mesh technologie past verschillende lagen van beheer en controle toe bij het doorsturen van verzoeken van de ene service naar de andere. Dit optimaliseert de manier waarop deze bewegende delen samenwerken met de correcte verificatie, toegangscontrole en beveiligingsmaatregelen.

Een zero-trust filosofie aannemen

Interne bedreigingen komen steeds vaker voor en legitieme gebruikers maken vaak verbinding van buiten de netwerk perimeter. Dit maakt alles ingewikkelder. Zero-trust verschuift de focus op beveiliging van locatie naar specifieke gebruikers, bedrijfsmiddelen en bronnen. Het zorgt ervoor dat API’s gebruikers en applicaties altijd verifiëren, privileges bieden op basis van jouw rol en afwijkend gedrag bewaken.

Jouw API’s testen

Er zijn vele manieren om jouw API security te testen. Je kan jouw applicatie op beveiligingslekken testen met behulp van handmatige testmethoden.

De Jimber oplossing

Web Application Isolation

Wij werken door veel van deze best practices voor API security toe te passen op onze oplossingen. Jimber Web Application Isolation is een API security oplossing die gebruik maakt van zero-trust technologie om jouw bedrijfsapplicaties te beschermen met behulp van een container. Jouw gegevens worden in de container geïnterpreteerd en alleen de grafische visualisatie van die data bereikt de eindgebruiker. Aanvallers kunnen alleen communiceren met de Jimber laag, maar niet langer rechtstreeks met de API’s van de applicatie. Op deze manier is elk gevaar verdwenen.

Onze Web Application Isolation voldoet aan de hoogste eisen en waarborgt websiteveiligheid.

Web Application Isolation jimber

De Jimber Web Application Isolation beperkt veel van de kwetsbaarheden in de OWASP top tien van 2021 door de API’s niet direct bloot te leggen.

Houd er rekening mee dat Jimber Application Isolation werkt bovenop je huidige veiligheidsmaatregelen. Het kan niet elke mogelijke kwetsbaarheid op zichzelf tegenhouden. Het zal echter de bestaande veiligheidsmaatregelen versterken en een sterke laag extra bescherming geven.

Leer meer over onze Web Application Isolation.

Hier vind je meer bronnen over API security: https://www.techtarget.com/searchapparchitecture/definition/API-security

Andere onderwerpen die je wellicht interesseren:

De OWASP top tien 2021

De ransomware aanval: wat is het en hoe werkt het

Wat is malware?