API
02/06/2021

Hoe uw data en API's in de cloud beveiligen met Gravitee.io

In de vorige insight gaven we inzicht in hoe u snel een SOAP-backend-service beschikbaar kunt stellen als een REST API dankzij het Gravitee.io API Management platform. 

 

Gebaseerd op deze open source stack gaan we in deze insight dieper in op hoe u uw interne API(s) - die beschikbaar worden gesteld in de cloud - via het Gravitee.io API Management platform - op de beste manier kunt beveiligen.

 

 

Waarom is API-beveiliging belangrijk?

 

Organisaties gebruiken API’s om hun diensten te koppelen en gegevens over te dragen naar verschillende applicaties, zowel intern als aan derden. Als organisatie dient u erover te waken dat uw API’s nooit blootgesteld of gehackt kunnen worden, wat kan lijden tot grote datalekken en imagoschade.

 

Organisaties dienen er alles aan te doen om te vermijden dat persoonlijke gegevens openbaar en publiek toegankelijk worden via het internet. Bovendien zijn niet alle gegevens binnen een organisatie van dezelfde waarde of even bedrijfskritisch en hoeven ze daarom niet op dezelfde manier te worden beschermd. Kortom, hoe u de beveiliging van uw API’s benadert, hangt sterk af van het type data dat wordt overgedragen.

Mutual SSL/TLS tussen client en server

 

Image1 API

 

Figuur 1 - Architectuur interne API’s met gateway in de cloud

 

In deze use case wenst de klant zijn interne API’s publiek beschikbaar te stellen aan zijn partners via Gravitee API Management in de cloud. Concreet worden de gegevens getransporteerd tussen een on-premises systeem en een gateway in de cloud. De connectiviteit tussen beide systemen zal dus via het internet verlopen met mogelijke veiligheidsrisico’s als gevolg.

 

Wanneer de klant zijn API’s beschikbaar stelt via het publieke internet, is het aangeraden om steeds controle te houden over wie er toegang heeft tot de API’s. Dit wordt mogelijk gemaakt via IP whitelisting of Mutual SSL/TLS die op de gateway geïmplementeerd kunnen worden.

Om Mutual of tweewegs-SSL/TLS op te zetten wordt in een eerste fase gezorgd dat de veiligheid van de gegevensoverdracht tussen de client en de server wordt verzekerd via eenrichtings-SSL. Hierbij valideert enkel de client (Gravitee) de server om er zeker van te zijn dat het de gegevens ontvangt van de juiste server. Om dit te kunnen realiseren deelt de server zijn certificaat met de client (Gravitee), die op zijn beurt het certificaat zal opslaan in zijn trust store.

 

Image2

Figuur 2 - Certificaat van de server wordt opgeslagen in de trust store van Gravitee

 

Het SSL-certificaat bestaat uit een publieke sleutel die gegevens bevat over de certificaathouder, het domein, de naam van de instantie die het certificaat heeft uitgegeven, het land waarin het certificaat is uitgegeven en de geldigheidsduur.

 

Image3

Figuur 3 - Voorbeeld van een self-signed certificaat

 

Als laatste stap wordt de beveiliging van de data verzekerd via tweewegs-SSL. In tegenstelling tot eenrichtings-SSL, authenticeren zowel de client als de server elkaar om ervoor te zorgen dat de gegevensoverdracht tussen beide partijen vertrouwelijk is. Hierbij delen beide partners hun certificaten met elkaar om zo de echtheid van de certificaten te verifiëren. Zowel de client als de server zal zijn eigen private sleutel opslaan in zijn keystore. Op basis daarvan wordt de verificatie/validatie uitgevoerd en kan (gevoelige) data beveiligd verstuurd worden.

 

 

Image4

Figuur 4 -  Private sleutel van de cliënt wordt opgeslagen in de key store van Gravitee

Onze wrap-up

 

In deze insight zoomden we in op het belang van API-beveiliging. U bent zich ervan bewust dat niet alle gegevens even belangrijk of bedrijfskritisch zijn en dus dienen de API’s niet op dezelfde manier beveiligd te worden.

 

Tot slot hebben we besproken hoe we de interne API’s van de klant - die in de cloud beschikbaar worden gesteld - perfect kunnen beveiligen. Door middel van tweewegs-SSL/TLS wordt de veiligheid van de gegevensoverdracht verzekerd tussen de client en de server.

 

Benieuwd hoe Gravitee.io iets kan betekenen voor uw API-oplossingen? Ontdek het hier.

 

Geschreven door Reinbert Van Acker, Integration Engineer bij AXI

Ik schrijf me in op de insights rond Gravitee

 

Ik laat me graag inspireren